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
This commit is contained in:
iain 2008-04-07 22:32:35 +00:00 committed by Iain Holmes
parent 48261330de
commit c17d58237e
2 changed files with 14 additions and 2 deletions

View File

@ -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> 2008-04-07 Jens Granseuer <jensgr@gmx.net>
* src/core/session.c: (save_state), * src/core/session.c: (save_state),

View File

@ -2407,11 +2407,11 @@ show_overlay_window (MetaScreen *screen,
#endif #endif
} }
#if 0
static void static void
hide_overlay_window (MetaScreen *screen, hide_overlay_window (MetaScreen *screen,
Window cow) Window cow)
{ {
#ifdef HAVE_COW
MetaDisplay *display = screen->display; MetaDisplay *display = screen->display;
XserverRegion region; XserverRegion region;
@ -2420,8 +2420,8 @@ hide_overlay_window (MetaScreen *screen,
cow, ShapeBounding, cow, ShapeBounding,
0, 0, region); 0, 0, region);
XFixesDestroyRegion (display->xdisplay, region); XFixesDestroyRegion (display->xdisplay, region);
}
#endif #endif
}
static Window static Window
get_output_window (MetaScreen *screen) get_output_window (MetaScreen *screen)
@ -2544,6 +2544,8 @@ meta_compositor_unmanage_screen (MetaCompositor *compositor,
info = screen->compositor_data; info = screen->compositor_data;
hide_overlay_window (screen, info->output);
/* Destroy the windows */ /* Destroy the windows */
for (index = info->windows; index; index = index->next) for (index = info->windows; index; index = index->next)
{ {
@ -2571,6 +2573,10 @@ meta_compositor_unmanage_screen (MetaCompositor *compositor,
CompositeRedirectManual); CompositeRedirectManual);
meta_screen_unset_cm_selection (screen); meta_screen_unset_cm_selection (screen);
#ifdef HAVE_COW
XCompositeReleaseOverlayWindow (display->xdisplay, info->output);
#endif
g_free (info); g_free (info);
screen->compositor_data = NULL; screen->compositor_data = NULL;
#endif #endif