summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2016-05-25 14:43:30 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2016-05-25 15:34:37 +0300
commit1243d34816398ec9014115d4582a83ec5b84d5d0 (patch)
tree91624e0565b4fd3838e09a2920df290e6a1ab253
parent072f77b4da0e3f9bcd3776ef80f09c5aa0d341d0 (diff)
downloadmetacity-1243d34816398ec9014115d4582a83ec5b84d5d0.tar.gz
compositor: add error trap in free_win
It seems that picture might be destroyed with window if it is created by passing window id as drawable to XRenderCreatePicture. Add error trap around XRenderFreePicture to avoid Metacity crash with RenderBadPicture error. https://bugs.launchpad.net/ubuntu/+source/metacity/+bug/1582687
-rw-r--r--src/compositor/compositor-xrender.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compositor/compositor-xrender.c b/src/compositor/compositor-xrender.c
index 11bc5287..c7d5128c 100644
--- a/src/compositor/compositor-xrender.c
+++ b/src/compositor/compositor-xrender.c
@@ -1957,7 +1957,10 @@ free_win (MetaCompWindow *cw,
if (cw->picture)
{
+ meta_error_trap_push (display);
XRenderFreePicture (xdisplay, cw->picture);
+ meta_error_trap_pop (display, FALSE);
+
cw->picture = None;
}