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 14:43:30 +0300
commit69c73af07a9c7274d3203bb0363928ece4e55869 (patch)
treeb377a1746be36446260f4d7d12f867728b8fb64e
parentc9fadf774e2f42d8f1036912be12dc2cdb9dad37 (diff)
downloadmetacity-69c73af07a9c7274d3203bb0363928ece4e55869.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 a9e1de49..364b6cd9 100644
--- a/src/compositor/compositor-xrender.c
+++ b/src/compositor/compositor-xrender.c
@@ -1956,7 +1956,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;
}