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:
parent
740e7ddd69
commit
806dabe2d7
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user