aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2021-06-22 21:41:10 +0200
committerUlrich Sibiller <uli42@gmx.de>2021-06-22 21:44:39 +0200
commit15ee25b7dd259793b335723c5f66ff14054c72d0 (patch)
treef03bff14c36cec51a7362fb9a0615f8b8ff78c9f
parentbbf9d74c40354974cdb6023ade47bf7d8be26330 (diff)
downloadnx-libs-15ee25b7dd259793b335723c5f66ff14054c72d0.tar.gz
nx-libs-15ee25b7dd259793b335723c5f66ff14054c72d0.tar.bz2
nx-libs-15ee25b7dd259793b335723c5f66ff14054c72d0.zip
NXdispatch.c: add an explaining comment
and restructure a bit.
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c
index ff8330cc7..5df008bbb 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/NXdispatch.c
@@ -745,10 +745,15 @@ ProcConvertSelection(register ClientPtr client)
while ((i < NumCurrentSelections) &&
CurrentSelections[i].selection != stuff->selection) i++;
if ((i < NumCurrentSelections) &&
-#ifdef NXAGENT_SERVER
- (CurrentSelections[i].window != None) && (CurrentSelections[i].client != NullClient)
-#else
(CurrentSelections[i].window != None)
+#ifdef NXAGENT_SERVER
+ /*
+ * .window can be set and pointing to our server window to
+ * signal the clipboard owner being on the real X
+ * server. Therefore we need to check .client in addition
+ * to ensure having a local owner.
+ */
+ && (CurrentSelections[i].client != NullClient)
#endif
#ifdef XCSECURITY
&& (!client->CheckAccess ||