aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2021-02-09 19:09:21 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2021-06-08 08:23:35 +0200
commit8fe2c114084743e8726ae39089e3aa1491d22719 (patch)
tree5049deb05b33b5c2d63847074dd787bb4572e6ce
parent906aa0714de9f2aa2b9d2600d44658864cce0070 (diff)
downloadnx-libs-8fe2c114084743e8726ae39089e3aa1491d22719.tar.gz
nx-libs-8fe2c114084743e8726ae39089e3aa1491d22719.tar.bz2
nx-libs-8fe2c114084743e8726ae39089e3aa1491d22719.zip
Use NXAGENT_ONSTART define at more locations
marking all the code that is not really required when not using nomachine's nxclient.
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Atoms.c7
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Clipboard.c3
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Reconnect.c2
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Screen.c1
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Splash.c2
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Window.c2
6 files changed, 15 insertions, 2 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Atoms.c b/nx-X11/programs/Xserver/hw/nxagent/Atoms.c
index ea7ad7599..2ddf87e55 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Atoms.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Atoms.c
@@ -89,9 +89,12 @@ static char *nxagentAtomNames[NXAGENT_NUMBER_OF_ATOMS + 1] =
"WM_NX_READY", /* 3 */
/* nxagent takes the ownership of the selection with this name
to signal the nxclient (or any other watching program)
- it is ready. */
+ it is ready. This is only used if NXAGENT_ONSTART is defined.
+ We cannot enclose it in #ifdef here because we use the numeric
+ indices to this structure at multiple places. */
"MCOPGLOBALS", /* 4 */
- /* used for artsd support. */
+ /* used for artsd support. Only used if compiled with
+ NXAGENT_ARTSD */
"NX_CUT_BUFFER_SERVER", /* 5 */
/* this is the name of a property on nxagent's window on the
real X server. This property is used for passing clipboard
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
index 8ac2241a6..22fc96f4f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
@@ -2237,6 +2237,7 @@ Bool nxagentInitClipboard(WindowPtr pWin)
nxagentXFixesInfo.Initialized = True;
}
+#ifdef NXAGENT_ONSTART
/*
The first paste from CLIPBOARD did not work directly after
session start. Removing this code makes it work. It is unsure why
@@ -2247,6 +2248,7 @@ Bool nxagentInitClipboard(WindowPtr pWin)
if (nxagentSessionId[0])
{
+ // nxagentAtoms[10] is the CLIPBOARD atom
#ifdef TEST
fprintf(stderr, "%s: setting the ownership of %s to %lx"
" and registering for PropertyChangeMask events\n", __func__,
@@ -2258,6 +2260,7 @@ Bool nxagentInitClipboard(WindowPtr pWin)
nxagentChangeWindowAttributes(pWin, CWEventMask);
}
*/
+#endif
if (nxagentReconnectTrap)
{
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
index e6d3ce6ec..58c1fc4e2 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Reconnect.c
@@ -503,12 +503,14 @@ Bool nxagentReconnectSession(void)
nxagentMapDefaultWindows();
+#ifdef NXAGENT_ONSTART
/*
* Ensure that the SetSelectionOwner request is sent through the
* link.
*/
XFlush(nxagentDisplay);
+#endif
NXTransContinue(NULL);
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Screen.c b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
index b87c1e225..500006868 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Screen.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
@@ -1865,6 +1865,7 @@ N/A
(unsigned char*) "X-AGENT",
strlen("X-AGENT"));
}
+#endif
XSelectInput(nxagentDisplay, nxagentFullscreenWindow, nxagentGetDefaultEventMask());
}
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Splash.c b/nx-X11/programs/Xserver/hw/nxagent/Splash.c
index 37f965f04..a4dfb73d2 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Splash.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Splash.c
@@ -344,6 +344,7 @@ void nxagentRemoveSplashWindow(void)
nxagentSplashWindow = None;
nxagentRefreshWindows(screenInfo.screens[0]->root);
+#ifdef NXAGENT_ONSTART
#ifdef TEST
fprintf(stderr, "%s: setting the ownership of %s (%d) on window [0x%lx]\n", __func__,
"NX_CUT_BUFFER_SERVER", (int)serverTransToAgentProperty, nxagentWindow(screenInfo.screens[0]->root));
@@ -351,6 +352,7 @@ void nxagentRemoveSplashWindow(void)
XSetSelectionOwner(nxagentDisplay, serverTransToAgentProperty,
nxagentWindow(screenInfo.screens[0]->root), CurrentTime);
+#endif
}
if (nxagentPixmapLogo)
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Window.c b/nx-X11/programs/Xserver/hw/nxagent/Window.c
index 5f12fd48a..00439d2e0 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Window.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Window.c
@@ -2575,12 +2575,14 @@ void nxagentMapDefaultWindows(void)
}
}
+#ifdef NXAGENT_ONSTART
/*
* Send a SetSelectionOwner request to notify of the agent start.
*/
XSetSelectionOwner(nxagentDisplay, serverTransToAgentProperty,
nxagentDefaultWindows[i], CurrentTime);
+#endif
}
/*