summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2016-04-17 18:18:08 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2016-04-17 18:18:08 +0300
commit5ebbc1897f5806b6bc9310967bb859964d1bd9e4 (patch)
treea96bd9889039c8a24253c0f6ca4d3c1c5d113f3b
parentc8ff09f0253cd17925bb3937971f8e6e4975db02 (diff)
downloadmetacity-5ebbc1897f5806b6bc9310967bb859964d1bd9e4.tar.gz
compositor: don't destroy client_region on unmap
-rw-r--r--src/compositor/compositor-xrender.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/compositor/compositor-xrender.c b/src/compositor/compositor-xrender.c
index 61ee1bee..11bc5287 100644
--- a/src/compositor/compositor-xrender.c
+++ b/src/compositor/compositor-xrender.c
@@ -1997,7 +1997,7 @@ free_win (MetaCompWindow *cw,
cw->visible_region = None;
}
- if (cw->client_region)
+ if (cw->client_region && destroy)
{
XFixesDestroyRegion (xdisplay, cw->client_region);
cw->client_region = None;
@@ -2078,6 +2078,12 @@ map_win (MetaDisplay *display,
cw->mask_pixmap = None;
}
+ if (cw->client_region)
+ {
+ XFixesDestroyRegion (xdisplay, cw->client_region);
+ cw->client_region = None;
+ }
+
if (cw->shaded.back_pixmap)
{
XFreePixmap (xdisplay, cw->shaded.back_pixmap);