diff options
author | Olivier Fourdan <fourdan@xfce.org> | 2020-12-14 20:33:56 +0100 |
---|---|---|
committer | Olivier Fourdan <fourdan@xfce.org> | 2020-12-14 20:48:49 +0100 |
commit | 327b02dfac086568ca464f5ebf3c77df55971f3b (patch) | |
tree | c81cb23486ac07d1298163de7169d89d80e7f754 | |
parent | 66b6615df60b82509f6e9f0bc73936a3a876b340 (diff) | |
download | xfwm4-327b02dfac086568ca464f5ebf3c77df55971f3b.tar.gz |
compositor: Release overlay window last
The root picture applies to the output window, which in turn is the
overlay window (when supported), therefore the overlay window should be
released last to avoid XErrors when disabling the compositor.
Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
(cherry picked from commit 1412f1ea679f7744009a38fa6c8de0e69ce7308d)
-rw-r--r-- | src/compositor.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/compositor.c b/src/compositor.c index 4ba9227a8..2d723d760 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -4647,17 +4647,6 @@ compositorUnmanageScreen (ScreenInfo *screen_info) screen_info->cwindows = NULL; TRACE ("compositor: removed %i window(s) remaining", i); -#if HAVE_OVERLAYS - if (display_info->have_overlays) - { - XDestroyWindow (display_info->dpy, screen_info->root_overlay); - screen_info->root_overlay = None; - - XCompositeReleaseOverlayWindow (display_info->dpy, screen_info->overlay); - screen_info->overlay = None; - } -#endif /* HAVE_OVERLAYS */ - #ifdef HAVE_EPOXY if (screen_info->use_glx) { @@ -4736,6 +4725,17 @@ compositorUnmanageScreen (ScreenInfo *screen_info) screen_info->gaussianMap = NULL; } +#if HAVE_OVERLAYS + if (display_info->have_overlays) + { + XDestroyWindow (display_info->dpy, screen_info->root_overlay); + screen_info->root_overlay = None; + + XCompositeReleaseOverlayWindow (display_info->dpy, screen_info->overlay); + screen_info->overlay = None; + } +#endif /* HAVE_OVERLAYS */ + screen_info->gaussianSize = -1; screen_info->wins_unredirected = 0; |