aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMihai Moldovan <ionic@ionic.de>2017-04-21 16:14:27 +0200
committerMihai Moldovan <ionic@ionic.de>2017-04-21 16:14:27 +0200
commit22b6ac728ea33642d9f6e3c2240bfd29c7956fb0 (patch)
tree2fb5a3299ae5622b9a368ea7aa556ad04cda4fac
parent61d5cd0b75acc0ca3bfe2b6addc052c4aae8e6f2 (diff)
parent0f67af9d785254e394dd773fc9f34da2557a1983 (diff)
downloadnx-libs-22b6ac728ea33642d9f6e3c2240bfd29c7956fb0.tar.gz
nx-libs-22b6ac728ea33642d9f6e3c2240bfd29c7956fb0.tar.bz2
nx-libs-22b6ac728ea33642d9f6e3c2240bfd29c7956fb0.zip
Merge branch 'sunweaver-pr/nxagent-dialog-fixes' into 3.6.x
Attributes GH PR #436: https://github.com/ArcticaProject/nx-libs/pull/436
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Dialog.c25
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Dialog.h17
-rw-r--r--nxcomp/Children.cpp131
3 files changed, 71 insertions, 102 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Dialog.c b/nx-X11/programs/Xserver/hw/nxagent/Dialog.c
index da448a1cd..b7852a0ac 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Dialog.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Dialog.c
@@ -63,7 +63,6 @@ int nxagentEnableRandRModeDialogPid = 0;
int nxagentDisableRandRModeDialogPid = 0;
int nxagentEnableDeferModePid = 0;
int nxagentDisableDeferModePid = 0;
-int nxagentDisableXkbPid = 0;
static int nxagentFailedReconnectionDialogPid = 0;
@@ -159,15 +158,6 @@ void nxagentResetDialog(int pid)
nxagentDisableDeferModePid = 0;
}
- else if (pid == nxagentDisableXkbPid)
- {
- #ifdef TEST
- fprintf(stderr, "nxagentResetDialog: Resetting disable XKB dialog pid [%d].\n",
- nxagentDisableXkbPid);
- #endif
-
- nxagentDisableXkbPid = 0;
- }
}
void nxagentLaunchDialog(DialogType dialogType)
@@ -273,15 +263,6 @@ void nxagentLaunchDialog(DialogType dialogType)
break;
}
- case DIALOG_DISABLE_XKB:
- {
- message = DIALOG_DISABLE_XKB_MESSAGE;
- type = DIALOG_DISABLE_XKB_TYPE;
- local = DIALOG_DISABLE_XKB_LOCAL;
- pid = &nxagentDisableXkbPid;
-
- break;
- }
default:
{
#ifdef WARNING
@@ -521,12 +502,6 @@ void nxagentTerminateDialog(DialogType type)
break;
}
- case DIALOG_DISABLE_XKB:
- {
- pid = nxagentDisableXkbPid;
-
- break;
- }
default:
{
#ifdef WARNING
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Dialog.h b/nx-X11/programs/Xserver/hw/nxagent/Dialog.h
index 8c345d8a7..133dee242 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Dialog.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Dialog.h
@@ -41,7 +41,6 @@ typedef enum
DIALOG_FAILED_RECONNECTION,
DIALOG_ENABLE_DEFER_MODE,
DIALOG_DISABLE_DEFER_MODE,
- DIALOG_DISABLE_XKB,
DIALOG_LAST_TAG
} DialogType;
@@ -55,7 +54,6 @@ extern int nxagentEnableRandRModeDialogPid;
extern int nxagentDisableRandRModeDialogPid;
extern int nxagentEnableDeferModePid;
extern int nxagentDisableDeferModePid;
-extern int nxagentDisableXkbPid;
extern char nxagentFailedReconnectionMessage[];
@@ -74,8 +72,7 @@ extern void nxagentTerminateDialogs(void);
nxagentEnableRandRModeDialogPid == 0 && \
nxagentDisableRandRModeDialogPid == 0 && \
nxagentEnableDeferModePid == 0 && \
- nxagentDisableDeferModePid == 0 && \
- nxagentDisableXkbPid == 0)
+ nxagentDisableDeferModePid == 0)
#define DECODE_DIALOG_TYPE(type) \
((type) == DIALOG_KILL_SESSION ? "DIALOG_KILL_SESSION" : \
@@ -88,7 +85,6 @@ extern void nxagentTerminateDialogs(void);
(type) == DIALOG_FAILED_RECONNECTION ? "DIALOG_FAILED_RECONNECTION" : \
(type) == DIALOG_ENABLE_DEFER_MODE ? "DIALOG_ENABLE_DEFER_MODE" : \
(type) == DIALOG_DISABLE_DEFER_MODE ? "DIALOG_DISABLE_DEFER_MODE" : \
- (type) == DIALOG_DISABLE_XKB ? "DIALOG_DISABLE_XKB" : \
"UNKNOWN_DIALOG")
/*
@@ -216,16 +212,5 @@ Ctrl+Alt+E to enable it again.\
#define DIALOG_DISABLE_DEFER_MODE_LOCAL 0
-
-#define DIALOG_DISABLE_XKB_MESSAGE \
-\
-"\
-Changing layout is not allowed with your current display.\
-"
-
-#define DIALOG_DISABLE_XKB_TYPE "ok"
-
-#define DIALOG_DISABLE_XKB_LOCAL 0
-
#endif /* __Dialog_H__ */
diff --git a/nxcomp/Children.cpp b/nxcomp/Children.cpp
index 224a86f6d..265ba4e37 100644
--- a/nxcomp/Children.cpp
+++ b/nxcomp/Children.cpp
@@ -260,58 +260,63 @@ int NXTransDialog(const char *caption, const char *message,
// in the default NX path.
//
- strcpy(command, "nxclient");
+ if (i == 0)
+ {
- char newPath[DEFAULT_STRING_LIMIT];
+ strcpy(command, "nxclient");
- strcpy(newPath, "/usr/NX/bin:/opt/NX/bin:/usr/local/NX/bin:");
+ char newPath[DEFAULT_STRING_LIMIT];
- #ifdef __APPLE__
+ strcpy(newPath, "/usr/NX/bin:/opt/NX/bin:/usr/local/NX/bin:");
- strcat(newPath, "/Applications/NX Client for OSX.app/Contents/MacOS:");
+ #ifdef __APPLE__
- #endif
+ strcat(newPath, "/Applications/NX Client for OSX.app/Contents/MacOS:");
- #ifdef __CYGWIN32__
+ #endif
- strcat(newPath, ".:");
+ #ifdef __CYGWIN32__
- #endif
+ strcat(newPath, ".:");
- int newLength = strlen(newPath);
+ #endif
- char *oldPath = getenv("PATH");
+ int newLength = strlen(newPath);
- strncpy(newPath + newLength, oldPath, DEFAULT_STRING_LIMIT - newLength - 1);
+ char *oldPath = getenv("PATH");
- newPath[DEFAULT_STRING_LIMIT - 1] = '\0';
+ strncpy(newPath + newLength, oldPath, DEFAULT_STRING_LIMIT - newLength - 1);
- #ifdef WARNING
- *logofs << "NXTransDialog: WARNING! Trying with path '"
- << newPath << "'.\n" << logofs_flush;
- #endif
+ newPath[DEFAULT_STRING_LIMIT - 1] = '\0';
- cerr << "Warning" << ": Trying with path '" << newPath
- << "'.\n";
+ #ifdef WARNING
+ *logofs << "NXTransDialog: WARNING! Trying with path '"
+ << newPath << "'.\n" << logofs_flush;
+ #endif
- //
- // Solaris doesn't seem to have
- // function setenv().
- //
+ cerr << "Warning" << ": Trying with path '" << newPath
+ << "'.\n";
- #ifdef __sun
+ //
+ // Solaris doesn't seem to have
+ // function setenv().
+ //
- char newEnv[DEFAULT_STRING_LIMIT + 5];
+ #ifdef __sun
- sprintf(newEnv,"PATH=%s", newPath);
+ char newEnv[DEFAULT_STRING_LIMIT + 5];
- putenv(newEnv);
+ sprintf(newEnv,"PATH=%s", newPath);
- #else
+ putenv(newEnv);
- setenv("PATH", newPath, 1);
+ #else
- #endif
+ setenv("PATH", newPath, 1);
+
+ #endif
+
+ }
}
//
@@ -455,60 +460,64 @@ int NXTransClient(const char* display)
// in the default NX path.
//
- strcpy(command, "nxclient");
+ if (i == 0)
+ {
- char newPath[DEFAULT_STRING_LIMIT];
+ strcpy(command, "nxclient");
- strcpy(newPath, "/usr/NX/bin:/opt/NX/bin:/usr/local/NX/bin:");
+ char newPath[DEFAULT_STRING_LIMIT];
- #ifdef __APPLE__
+ strcpy(newPath, "/usr/NX/bin:/opt/NX/bin:/usr/local/NX/bin:");
- strcat(newPath, "/Applications/NX Client for OSX.app/Contents/MacOS:");
+ #ifdef __APPLE__
- #endif
+ strcat(newPath, "/Applications/NX Client for OSX.app/Contents/MacOS:");
- #ifdef __CYGWIN32__
+ #endif
- strcat(newPath, ".:");
+ #ifdef __CYGWIN32__
- #endif
+ strcat(newPath, ".:");
- int newLength = strlen(newPath);
+ #endif
- char *oldPath = getenv("PATH");
+ int newLength = strlen(newPath);
- strncpy(newPath + newLength, oldPath, DEFAULT_STRING_LIMIT - newLength - 1);
+ char *oldPath = getenv("PATH");
- newPath[DEFAULT_STRING_LIMIT - 1] = '\0';
+ strncpy(newPath + newLength, oldPath, DEFAULT_STRING_LIMIT - newLength - 1);
- #ifdef WARNING
- *logofs << "NXTransClient: WARNING! Trying with path '"
- << newPath << "'.\n" << logofs_flush;
- #endif
+ newPath[DEFAULT_STRING_LIMIT - 1] = '\0';
- cerr << "Warning" << ": Trying with path '" << newPath
- << "'.\n";
+ #ifdef WARNING
+ *logofs << "NXTransClient: WARNING! Trying with path '"
+ << newPath << "'.\n" << logofs_flush;
+ #endif
- //
- // Solaris doesn't seem to have
- // function setenv().
- //
+ cerr << "Warning" << ": Trying with path '" << newPath
+ << "'.\n";
- #ifdef __sun
+ //
+ // Solaris doesn't seem to have
+ // function setenv().
+ //
- char newEnv[DEFAULT_STRING_LIMIT + 5];
+ #ifdef __sun
- sprintf(newEnv,"PATH=%s", newPath);
+ char newEnv[DEFAULT_STRING_LIMIT + 5];
- putenv(newEnv);
+ sprintf(newEnv,"PATH=%s", newPath);
- #else
+ putenv(newEnv);
- setenv("PATH", newPath, 1);
+ #else
- #endif
- }
+ setenv("PATH", newPath, 1);
+ #endif
+ }
+
+ }
//
// Hopefully useless.
//