diff options
author | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2016-05-25 14:43:30 +0300 |
---|---|---|
committer | Alberts Muktupāvels <alberts.muktupavels@gmail.com> | 2016-05-25 15:34:37 +0300 |
commit | 1243d34816398ec9014115d4582a83ec5b84d5d0 (patch) | |
tree | 91624e0565b4fd3838e09a2920df290e6a1ab253 | |
parent | 072f77b4da0e3f9bcd3776ef80f09c5aa0d341d0 (diff) | |
download | metacity-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.c | 3 |
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; } |