summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Baumann <dannybaumann@web.de>2008-06-08 14:23:04 +0200
committerDanny Baumann <dannybaumann@web.de>2008-06-08 14:23:04 +0200
commitcf27f8f14ab8dd55907d3ead943226f38a325c46 (patch)
tree703000d95478c7cadcdaa88475210d8f858e3602
parentce755a6b3e6a07d1514060a214a7b780ab8834b1 (diff)
downloadgroup-cf27f8f14ab8dd55907d3ead943226f38a325c46.tar.gz
group-cf27f8f14ab8dd55907d3ead943226f38a325c46.tar.bz2
Fix memory leak.
-rw-r--r--cairo.c1
-rw-r--r--init.c3
-rw-r--r--tab.c3
3 files changed, 6 insertions, 1 deletions
diff --git a/cairo.c b/cairo.c
index 533b4ac..308b6ab 100644
--- a/cairo.c
+++ b/cairo.c
@@ -600,6 +600,7 @@ groupRenderTabBarBackground(GroupSelection *group)
cairo_set_source (cr, pattern);
cairo_fill (cr);
cairo_restore (cr);
+ cairo_pattern_destroy (pattern);
break;
}
diff --git a/init.c b/init.c
index 7f22ce5..54d6baf 100644
--- a/init.c
+++ b/init.c
@@ -413,6 +413,9 @@ groupFiniScreen (CompPlugin *p,
if (gs->tmpSel.windows)
free (gs->tmpSel.windows);
+ if (gs->grabIndex)
+ groupGrabScreen (s, ScreenGrabNone);
+
freeWindowPrivateIndex (s, gs->windowPrivateIndex);
UNWRAP (gs, s, windowMoveNotify);
diff --git a/tab.c b/tab.c
index fe43a1b..422e980 100644
--- a/tab.c
+++ b/tab.c
@@ -848,7 +848,8 @@ groupFinishTabbing (GroupSelection *group)
if (group->ungroupState == UngroupAll)
groupDeleteGroup (group);
- group->ungroupState = UngroupNone;
+ else
+ group->ungroupState = UngroupNone;
}
/*