From c17d58237e3f31d6160a9dc5f9ad70947601b892 Mon Sep 17 00:00:00 2001 From: iain Date: Mon, 7 Apr 2008 22:32:35 +0000 Subject: [PATCH] Hide the overlay window (meta_compositor_unmanage_screen): Release the 2008-04-07 iain * src/core/compositor.c (hide_overlay_window): Hide the overlay window (meta_compositor_unmanage_screen): Release the compositor overlay. (#526770) svn path=/trunk/; revision=3678 --- ChangeLog | 6 ++++++ src/core/compositor.c | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index ac355dbdc..2a709ec23 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-04-07 iain + + * src/core/compositor.c (hide_overlay_window): Hide the overlay window + (meta_compositor_unmanage_screen): Release the compositor overlay. + (#526770) + 2008-04-07 Jens Granseuer * src/core/session.c: (save_state), diff --git a/src/core/compositor.c b/src/core/compositor.c index 188cae314..c37a78189 100644 --- a/src/core/compositor.c +++ b/src/core/compositor.c @@ -2407,11 +2407,11 @@ show_overlay_window (MetaScreen *screen, #endif } -#if 0 static void hide_overlay_window (MetaScreen *screen, Window cow) { +#ifdef HAVE_COW MetaDisplay *display = screen->display; XserverRegion region; @@ -2420,8 +2420,8 @@ hide_overlay_window (MetaScreen *screen, cow, ShapeBounding, 0, 0, region); XFixesDestroyRegion (display->xdisplay, region); -} #endif +} static Window get_output_window (MetaScreen *screen) @@ -2544,6 +2544,8 @@ meta_compositor_unmanage_screen (MetaCompositor *compositor, info = screen->compositor_data; + hide_overlay_window (screen, info->output); + /* Destroy the windows */ for (index = info->windows; index; index = index->next) { @@ -2571,6 +2573,10 @@ meta_compositor_unmanage_screen (MetaCompositor *compositor, CompositeRedirectManual); meta_screen_unset_cm_selection (screen); +#ifdef HAVE_COW + XCompositeReleaseOverlayWindow (display->xdisplay, info->output); +#endif + g_free (info); screen->compositor_data = NULL; #endif