summaryrefslogtreecommitdiff
path: root/src/core/frame.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/frame.c')
-rw-r--r--src/core/frame.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/core/frame.c b/src/core/frame.c
index fdf55d3fe..2297b5813 100644
--- a/src/core/frame.c
+++ b/src/core/frame.c
@@ -151,10 +151,15 @@ meta_window_ensure_frame (MetaWindow *window)
window->frame->xwindow,
window->title);
+ meta_ui_map_frame (frame->window->screen->ui, frame->xwindow);
+
+ /* Since the backend takes keygrabs on another connection, make sure
+ * to sync the GTK+ connection to ensure that the frame window has
+ * been created on the server at this point. */
+ XSync (window->display->xdisplay, False);
+
/* Move keybindings to frame instead of window */
meta_window_grab_keys (window);
-
- meta_ui_map_frame (frame->window->screen->ui, frame->xwindow);
}
void