aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Window.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Window.c')
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Window.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c
index 59b33b6be..80e9bef3b 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Window.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c
@@ -754,7 +754,12 @@ void nxagentSwitchFullscreen(ScreenPtr pScreen, Bool switchOn)
else
{
nxagentFullscreenWindow = None;
- nxagentUngrabPointerAndKeyboard(NULL);
+
+ /* if we had AutoGrab before entering fullscreen reactivate it now */
+ if (nxagentOption(AutoGrab))
+ nxagentGrabPointerAndKeyboard(NULL);
+ else
+ nxagentUngrabPointerAndKeyboard(NULL);
}
}
@@ -1005,6 +1010,10 @@ void nxagentSwitchAllScreens(ScreenPtr pScreen, Bool switchOn)
XMoveResizeWindow(nxagentDisplay, nxagentInputWindows[0], 0, 0,
nxagentOption(Width), nxagentOption(Height));
+ /* if we had AutoGrab before entering fullscreen reactivate it now */
+ if (nxagentOption(AutoGrab))
+ nxagentGrabPointerAndKeyboard(NULL);
+
nxagentSetPrintGeometry(pScreen -> myNum);
}