summaryrefslogtreecommitdiff
path: root/src/x11/meta-x11-display.c
diff options
context:
space:
mode:
authorArmin Krezović <krezovic.armin@gmail.com>2017-08-26 21:38:59 +0200
committerJonas Ådahl <jadahl@gmail.com>2018-07-06 19:47:16 +0200
commitd79ffd3976e2efa6570deabfd46620f5b4f254be (patch)
treebc8118382504e1c69c1877f5fea234452ca7aa44 /src/x11/meta-x11-display.c
parent6458139c04dd6323196b5ef697dc3fbd456a8875 (diff)
downloadmutter-d79ffd3976e2efa6570deabfd46620f5b4f254be.tar.gz
Move UI and key grabs to MetaX11Display
https://bugzilla.gnome.org/show_bug.cgi?id=759538
Diffstat (limited to 'src/x11/meta-x11-display.c')
-rw-r--r--src/x11/meta-x11-display.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/x11/meta-x11-display.c b/src/x11/meta-x11-display.c
index ecaf816ff..7460873d5 100644
--- a/src/x11/meta-x11-display.c
+++ b/src/x11/meta-x11-display.c
@@ -91,6 +91,14 @@ meta_x11_display_dispose (GObject *object)
{
MetaX11Display *x11_display = META_X11_DISPLAY (object);
+ meta_x11_display_ungrab_keys (x11_display);
+
+ if (x11_display->ui)
+ {
+ meta_ui_free (x11_display->ui);
+ x11_display->ui = NULL;
+ }
+
if (x11_display->no_focus_window != None)
{
XUnmapWindow (x11_display->xdisplay, x11_display->no_focus_window);
@@ -827,6 +835,7 @@ meta_x11_display_new (MetaDisplay *display, GError **error)
meta_unsigned_long_equal);
x11_display->groups_by_leader = NULL;
+ x11_display->ui = NULL;
x11_display->composite_overlay_window = None;
x11_display->guard_window = None;
x11_display->leader_window = None;
@@ -912,6 +921,11 @@ meta_x11_display_new (MetaDisplay *display, GError **error)
set_desktop_geometry_hint (x11_display);
+ x11_display->ui = meta_ui_new (xdisplay);
+
+ x11_display->keys_grabbed = FALSE;
+ meta_x11_display_grab_keys (x11_display);
+
return x11_display;
}