aboutsummaryrefslogtreecommitdiff
path: root/debian/patches/0207_nxagent_fix-xfixes-selection.full.patch
blob: 712b3691453dd7d6261f504485a343cb4eeb40c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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;
   }