diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/x11/red_window.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/client/x11/red_window.cpp b/client/x11/red_window.cpp index d82f5b74..7e16fcd2 100644 --- a/client/x11/red_window.cpp +++ b/client/x11/red_window.cpp @@ -1765,9 +1765,13 @@ void RedWindow::do_start_key_interception() // that reason we temporary disable focus event handling. Same happens // LeaveNotify and EnterNotify. + if (getenv("SPICE_NOGRAB")) + return; + ASSERT(_focused); XLockDisplay(x_display); XGrabKeyboard(x_display, _win, True, GrabModeAsync, GrabModeAsync, CurrentTime); + XUnlockDisplay(x_display); sync(true); _listener.on_start_key_interception(); @@ -1845,6 +1849,9 @@ void RedWindow::release_mouse() void RedWindow::capture_mouse() { + if (getenv("SPICE_NOGRAB")) + return; + int grab_retries = MOUSE_GRAB_RETRIES; XLockDisplay(x_display); XSync(x_display, False); |