Commit 1749a85e authored by Jasper St. Pierre's avatar Jasper St. Pierre
Browse files

frame: Only XSync when we're on the X11 compositor backend

The only case we have is the case where the two X11 connections are the
same. When on Wayland, the XSync is costly and expensive, and we should
minimize it.
parent 1af9e92e
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include "bell.h" #include "bell.h"
#include <meta/errors.h> #include <meta/errors.h>
#include "keybindings-private.h" #include "keybindings-private.h"
#include "backends/x11/meta-backend-x11.h"
#define EVENT_MASK (SubstructureRedirectMask | \ #define EVENT_MASK (SubstructureRedirectMask | \
StructureNotifyMask | SubstructureNotifyMask | \ StructureNotifyMask | SubstructureNotifyMask | \
...@@ -159,10 +160,16 @@ meta_window_ensure_frame (MetaWindow *window) ...@@ -159,10 +160,16 @@ meta_window_ensure_frame (MetaWindow *window)
meta_ui_map_frame (frame->window->screen->ui, frame->xwindow); 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 MetaBackend *backend = meta_get_backend ();
* been created on the server at this point. */ if (META_IS_BACKEND_X11 (backend))
XSync (window->display->xdisplay, False); {
/* 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 */ /* Move keybindings to frame instead of window */
meta_window_grab_keys (window); meta_window_grab_keys (window);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment