aboutsummaryrefslogtreecommitdiff
path: root/debian/patches/207_nxagent_fix-xfixes-selection.full.patch
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2014-11-05 10:07:39 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2014-11-05 10:09:21 +0100
commitd1f040121c5e2452ca2e8f76fe3ff5256188e6f8 (patch)
treef4b55900fa05f7407c20cd5915273b2c8c080de7 /debian/patches/207_nxagent_fix-xfixes-selection.full.patch
parentd505944e064f54c82c8bc66943238b49db05d37f (diff)
downloadnx-libs-d1f040121c5e2452ca2e8f76fe3ff5256188e6f8.tar.gz
nx-libs-d1f040121c5e2452ca2e8f76fe3ff5256188e6f8.tar.bz2
nx-libs-d1f040121c5e2452ca2e8f76fe3ff5256188e6f8.zip
Add 207_nxagent_fix-xfixes-selection.full.patch. Fix selection handling when XFIXES is enabled. (Fixes: #585)
Diffstat (limited to 'debian/patches/207_nxagent_fix-xfixes-selection.full.patch')
-rw-r--r--debian/patches/207_nxagent_fix-xfixes-selection.full.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/debian/patches/207_nxagent_fix-xfixes-selection.full.patch b/debian/patches/207_nxagent_fix-xfixes-selection.full.patch
new file mode 100644
index 000000000..712b36914
--- /dev/null
+++ b/debian/patches/207_nxagent_fix-xfixes-selection.full.patch
@@ -0,0 +1,33 @@
+Description: Fix XFIXES selection handling (copy and paste via middle mouse button).
+Abstract:
+ When nxagent has the XFIXES extension enabled copy and
+ paste from outside applications to applications within the session
+ that rely on XFixesSelectSelectionInput (e.g. qt applications like
+ konsole) did never receive any notifications because the nxagent did
+ not register itself at the real X server to receive them. Fixes Bug
+ #585.
+Author: Ulrich Sibiller <uli42@gmx.de>
+
+Index: nx-libs/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
+===================================================================
+--- nx-libs.orig/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c 2014-11-04 22:42:50.893569624 +0100
++++ nx-libs/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c 2014-11-04 22:42:50.893569624 +0100
+@@ -1556,10 +1556,14 @@
+ fprintf(stderr, "nxagentInitClipboard: Registering for XFixesSelectionNotify events.\n");
+ #endif
+
+- XFixesSelectSelectionInput(nxagentDisplay, iWindow, nxagentClipboardAtom,
+- XFixesSetSelectionOwnerNotifyMask |
+- XFixesSelectionWindowDestroyNotifyMask |
+- XFixesSelectionClientCloseNotifyMask);
++ for (i = 0; i < nxagentMaxSelections; i++)
++ {
++ XFixesSelectSelectionInput(nxagentDisplay, iWindow,
++ lastSelectionOwner[i].selection,
++ XFixesSetSelectionOwnerNotifyMask |
++ XFixesSelectionWindowDestroyNotifyMask |
++ XFixesSelectionClientCloseNotifyMask);
++ }
+
+ nxagentXFixesInfo.Initialized = 1;
+ }