aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog4
-rw-r--r--debian/patches/207_nxagent_fix-xfixes-selection.full.patch33
-rw-r--r--debian/patches/series1
3 files changed, 38 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 766db5200..b716f974c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -37,6 +37,10 @@ nx-libs (2:3.5.0.28-0x2go1) UNRELEASED; urgency=medium
* Add 400_nxcomp-version.full+lite.patch. Allow 4-digit version comparison
during NX session handshake. (Fixes: #610).
+ [ Ulrich Sibiller ]
+ * Add 207_nxagent_fix-xfixes-selection.full.patch. Fix selection handling
+ when XFIXES is enabled. (Fixes: #585).
+
-- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Mon, 30 Jun 2014 15:05:54 +0200
nx-libs (2:3.5.0.27-0x2go1) unstable; urgency=medium
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;
+ }
diff --git a/debian/patches/series b/debian/patches/series
index 3a37ac54f..4e792a27c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -50,6 +50,7 @@
204_nxagent_repaint-solidpict.full.patch
205_nxagent_refresh-adsl.full.patch
206_nxagent_clipboard-as-nxoption.full.patch
+207_nxagent_fix-xfixes-selection.full.patch
209_x2goagent_add-man-page.full.patch
210_nxagent_save_session_state.full.patch
210_nxcomp_save_session_state.full+lite.patch