aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Reconnect.c')
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Reconnect.c31
1 files changed, 16 insertions, 15 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
index ce3e6ee05..69b73a942 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
@@ -547,28 +547,29 @@ Bool nxagentReconnectSession(void)
goto nxagentReconnectError;
}
- if (nxagentOption(ResetKeyboardAtResume))
+ if (nxagentOption(ResetKeyboardAtResume) == 1 &&
+ (nxagentKeyboard == NULL || nxagentOldKeyboard == NULL ||
+ strcmp(nxagentKeyboard, nxagentOldKeyboard) != 0 ||
+ strcmp(nxagentKeyboard, "query") == 0))
{
- if (nxagentKeyboard == NULL || nxagentOldKeyboard == NULL ||
- strcmp(nxagentKeyboard, nxagentOldKeyboard) != 0 ||
- strcmp(nxagentKeyboard, "query") == 0)
+ if (nxagentResetKeyboard() == 0)
{
-
- if (nxagentResetKeyboard() == 0)
+ #ifdef WARNING
+ if (nxagentVerbose == 1)
{
- #ifdef WARNING
- if (nxagentVerbose == 1)
- {
- fprintf(stderr, "nxagentReconnect: Failed to reset keyboard device.\n");
- }
- #endif
+ fprintf(stderr, "nxagentReconnect: Failed to reset keyboard device.\n");
+ }
+ #endif
- failedStep = WINDOW_STEP;
+ failedStep = WINDOW_STEP;
- goto nxagentReconnectError;
- }
+ goto nxagentReconnectError;
}
}
+ else
+ {
+ nxagentResetKeycodeConversion();
+ }
nxagentXkbState.Initialized = 0;