summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriain <iain@gnome.org>2008-04-07 22:32:35 +0000
committerIain Holmes <iain@src.gnome.org>2008-04-07 22:32:35 +0000
commitc17d58237e3f31d6160a9dc5f9ad70947601b892 (patch)
tree9ebbb56a4fe4b57d4f8451c469e404d46d751cca
parent48261330de4e99f57bdcd20e0c21328abed1c3bd (diff)
downloadmetacity-c17d58237e3f31d6160a9dc5f9ad70947601b892.tar.gz
Hide the overlay window (meta_compositor_unmanage_screen): Release the
2008-04-07 iain <iain@gnome.org> * 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
-rw-r--r--ChangeLog6
-rw-r--r--src/core/compositor.c10
2 files changed, 14 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ac355dbd..2a709ec2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-04-07 iain <iain@gnome.org>
+
+ * 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 <jensgr@gmx.net>
* src/core/session.c: (save_state),
diff --git a/src/core/compositor.c b/src/core/compositor.c
index 188cae31..c37a7818 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