diff options
author | iain <iain@gnome.org> | 2008-05-24 11:10:24 +0000 |
---|---|---|
committer | Iain Holmes <iain@src.gnome.org> | 2008-05-24 11:10:24 +0000 |
commit | 2b8e9ff484ab6ca9d837f7bc11e31ffcebaa2664 (patch) | |
tree | 4e8ff91d0b807003b847510b8ed9080d9b5d0f04 | |
parent | febf56713f665525dfe739f1730c1a52c960f45a (diff) | |
download | metacity-2b8e9ff484ab6ca9d837f7bc11e31ffcebaa2664.tar.gz |
Turn on idle repainting. (hide_overlay_window): Hide overlay window
2008-04-07 iain <iain@gnome.org>
* src/core/compositor.c (add_repair): Turn on idle repainting.
(hide_overlay_window): Hide overlay window
(meta_compositor_unmanage_screen): Release overlay window.
Fixes #526770.
svn path=/branches/gnome-2-22/; revision=3724
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | src/core/compositor.c | 12 |
2 files changed, 16 insertions, 3 deletions
@@ -1,3 +1,10 @@ +2008-04-07 iain <iain@gnome.org> + + * src/core/compositor.c (add_repair): Turn on idle repainting. + (hide_overlay_window): Hide overlay window + (meta_compositor_unmanage_screen): Release overlay window. + Fixes #526770. + 2008-03-09 Thomas Thurman <tthurman@gnome.org> * configure.in: Post-branch bump to 2.22.1. diff --git a/src/core/compositor.c b/src/core/compositor.c index 79d1206d..588cc6ac 100644 --- a/src/core/compositor.c +++ b/src/core/compositor.c @@ -1290,7 +1290,7 @@ add_repair (MetaDisplay *display) if (compositor->repaint_id > 0) return; -#if 0 +#if 1 compositor->repaint_id = g_idle_add_full (G_PRIORITY_HIGH_IDLE, compositor_idle_cb, compositor, NULL); @@ -2330,11 +2330,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; @@ -2343,8 +2343,8 @@ hide_overlay_window (MetaScreen *screen, cow, ShapeBounding, 0, 0, region); XFixesDestroyRegion (display->xdisplay, region); -} #endif +} static Window get_output_window (MetaScreen *screen) @@ -2460,6 +2460,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) { @@ -2481,6 +2483,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 |