summaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Window.cc b/src/Window.cc
index b129121c..d696161e 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -3135,6 +3135,9 @@ void BlackboxWindow::doWorkspaceWarping(int x_root, int y_root, int &dx) {
screen->reassociateWindow(this, dest, False);
screen->changeWorkspaceID(dest);
+ if (screen->doOpaqueMove())
+ XGrabServer(blackbox->getXDisplay());
+
XUngrabPointer(blackbox->getXDisplay(), CurrentTime);
XWarpPointer(blackbox->getXDisplay(), None,
screen->getRootWindow(), 0, 0, 0, 0,
@@ -3144,6 +3147,9 @@ void BlackboxWindow::doWorkspaceWarping(int x_root, int y_root, int &dx) {
GrabModeAsync, GrabModeAsync,
None, blackbox->getMoveCursor(), CurrentTime);
+ if (screen->doOpaqueMove())
+ XUngrabServer(blackbox->getXDisplay());
+
if (focus)
setInputFocus();