Don't grab the server when unmanaging the screen

There's no obvious reason for grabbing the X server when unmanaging
a screen - the only race conditions a server grab solves are those
related to querying and then acting on the results of the query.

Our shutdown sequence is correctly ordered according to the ICCCM -
we first unselect on the root window, and then we destroy the
window owning WM_S<n> so removing the grab should not cause any
problems when we are being replaced with another window manager.

https://bugzilla.gnome.org/show_bug.cgi?id=733068
This commit is contained in:
Owen W. Taylor 2014-07-11 13:17:46 -04:00
parent 740e7ddd69
commit 806dabe2d7

View File

@ -808,8 +808,6 @@ meta_screen_free (MetaScreen *screen,
screen->closing += 1; screen->closing += 1;
meta_display_grab (display);
meta_compositor_unmanage (screen->display->compositor); meta_compositor_unmanage (screen->display->compositor);
meta_display_unmanage_windows_for_screen (display, screen, timestamp); meta_display_unmanage_windows_for_screen (display, screen, timestamp);
@ -866,9 +864,6 @@ meta_screen_free (MetaScreen *screen,
g_free (screen->screen_name); g_free (screen->screen_name);
g_object_unref (screen); g_object_unref (screen);
XFlush (display->xdisplay);
meta_display_ungrab (display);
} }
void void