summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Niklaus <marex@opencompositing.org>2007-12-27 14:56:56 +0100
committerPatrick Niklaus <marex@opencompositing.org>2007-12-27 14:56:56 +0100
commit96fcf69f4a762e45f95868cce5a3e389296fbe26 (patch)
tree035902665abecebc4ae579e0ddfd74b2b7428f42
parent99fc4409c9184b5f8a9d595e091217b06923a389 (diff)
downloadgroup-96fcf69f4a762e45f95868cce5a3e389296fbe26.tar.gz
group-96fcf69f4a762e45f95868cce5a3e389296fbe26.tar.bz2
Fixed bug where the group property was reseted
-rw-r--r--group-internal.h4
-rw-r--r--group.c4
-rw-r--r--init.c2
3 files changed, 10 insertions, 0 deletions
diff --git a/group-internal.h b/group-internal.h
index e89de89..4ef1d80 100644
--- a/group-internal.h
+++ b/group-internal.h
@@ -453,6 +453,10 @@ typedef struct _GroupWindow {
GroupSelection *group;
Bool inSelection;
+ /* To prevent freeing the group
+ property in groupFiniWindow. */
+ Bool readOnlyProperty;
+
/* For the tab bar */
GroupTabBarSlot *slot;
diff --git a/group.c b/group.c
index 1e6cba5..0cd6927 100644
--- a/group.c
+++ b/group.c
@@ -135,6 +135,10 @@ groupUpdateWindowProperty (CompWindow *w)
GROUP_WINDOW (w);
GROUP_DISPLAY (d);
+ // Do not change anything in this case
+ if (gw->readOnlyProperty)
+ return;
+
if (gw->group)
{
long int buffer[5];
diff --git a/init.c b/init.c
index 8b3e7ef..7f22ce5 100644
--- a/init.c
+++ b/init.c
@@ -454,6 +454,7 @@ groupInitWindow (CompPlugin *p,
gw->glowQuads = NULL;
gw->inSelection = FALSE;
gw->needsPosSync = FALSE;
+ gw->readOnlyProperty = FALSE;
/* for tab */
gw->animateState = 0;
@@ -500,6 +501,7 @@ groupFiniWindow (CompPlugin *p,
if (gw->windowHideInfo)
groupSetWindowVisibility (w, TRUE);
+ gw->readOnlyProperty = TRUE;
if (gw->group)
groupDeleteGroupWindow (w);