From a59020b1d4c7a7b23cae328067b589a2aa1d787f Mon Sep 17 00:00:00 2001 From: Ulrich Sibiller Date: Fri, 3 Jan 2020 00:20:49 +0100 Subject: nxagent: central check for keyboard clone mode --- nx-X11/programs/Xserver/hw/nxagent/Args.c | 15 ++++++++++++++- nx-X11/programs/Xserver/hw/nxagent/Keyboard.c | 8 -------- nx-X11/programs/Xserver/hw/nxagent/Reconnect.c | 9 --------- 3 files changed, 14 insertions(+), 18 deletions(-) (limited to 'nx-X11/programs/Xserver') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Args.c b/nx-X11/programs/Xserver/hw/nxagent/Args.c index 804c6e91e..339c6d85b 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Args.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Args.c @@ -687,7 +687,20 @@ int ddxProcessArgument(int argc, char *argv[], int i) { SAFE_free(nxagentKeyboard); - nxagentKeyboard = strdup(argv[i]); + if (nxagentX2go && strcmp(argv[i], "null/null") == 0) + { + #ifdef TEST + fprintf(stderr, "%s: changing nxagentKeyboard from [null/null] to [clone].\n", __func__); + #endif + + SAFE_free(nxagentKeyboard); + nxagentKeyboard = strdup("clone"); + } + else + { + nxagentKeyboard = strdup(argv[i]); + } + if (nxagentKeyboard == NULL) { FatalError("malloc failed"); diff --git a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c index 90a4262d7..c6756b1cc 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Keyboard.c @@ -553,14 +553,6 @@ XkbError: fprintf(stderr, "%s: nxagentKeyboard is [%s].\n", __func__, validateString(nxagentKeyboard)); #endif - if (nxagentX2go && nxagentKeyboard && (strcmp(nxagentKeyboard, "null/null") == 0)) - { - #ifdef TEST - fprintf(stderr, "%s: changing nxagentKeyboard from [null/null] to [clone].\n", __func__); - #endif - SAFE_free(nxagentKeyboard); - nxagentKeyboard = strdup("clone"); - } /* from nxagent changelog: diff --git a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c index e29fc3200..69a3011f9 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c @@ -458,15 +458,6 @@ Bool nxagentReconnectSession(void) nxagentProcessOptions(nxagentOptionsFilenameOrString); - if (nxagentKeyboard && (strcmp(nxagentKeyboard, "null/null") == 0)) - { - #ifdef TEST - fprintf(stderr, "nxagentReconnect: changing nxagentKeyboard from [null/null] to [clone].\n"); - #endif - - SAFE_free(nxagentKeyboard); - nxagentKeyboard = strdup("clone"); - } if (nxagentReconnectDisplay(reconnectLossyLevel[DISPLAY_STEP]) == 0) { -- cgit v1.2.3