diff options
author | Ulrich Sibiller <uli42@gmx.de> | 2015-02-10 19:36:57 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2015-02-10 19:40:56 +0100 |
commit | 57a58c73cfe91c94d8a18a6e823bc687fab45d8f (patch) | |
tree | 8003a62350a786c771f0a931bbd9fe43929a5244 /nx-X11/programs/Xserver | |
parent | 4ef611eea9b10ed5851abb990835ce73bbac6a9f (diff) | |
download | nx-libs-57a58c73cfe91c94d8a18a6e823bc687fab45d8f.tar.gz nx-libs-57a58c73cfe91c94d8a18a6e823bc687fab45d8f.tar.bz2 nx-libs-57a58c73cfe91c94d8a18a6e823bc687fab45d8f.zip |
Fix XFIXES selection handling (copy and paste via middle mouse button) (207_nxagent_fix-xfixes-selection.full.patch).
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 X2Go Bug
#585 (http://bugs.x2go.org/585).
Diffstat (limited to 'nx-X11/programs/Xserver')
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Clipboard.c | 12 |
1 files changed, 8 insertions, 4 deletions
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; } |