diff options
-rw-r--r-- | debian/patches/207_nxagent_fix-xfixes-selection.full.patch | 33 | ||||
-rw-r--r-- | debian/patches/series | 1 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Clipboard.c | 12 |
3 files changed, 8 insertions, 38 deletions
diff --git a/debian/patches/207_nxagent_fix-xfixes-selection.full.patch b/debian/patches/207_nxagent_fix-xfixes-selection.full.patch deleted file mode 100644 index 712b36914..000000000 --- a/debian/patches/207_nxagent_fix-xfixes-selection.full.patch +++ /dev/null @@ -1,33 +0,0 @@ -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 dbc6d9ce6..4ebb735ca 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,4 +1,3 @@ -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 diff --git a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c index 2e409e41c..557798e7f 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c @@ -1556,10 +1556,14 @@ int nxagentInitClipboard(WindowPtr pWin) 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; } |