Commit 57a58c73 authored by Ulrich Sibiller's avatar Ulrich Sibiller Committed by Mike Gabriel

Fix XFIXES selection handling (copy and paste via middle mouse button)…

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).
parent 4ef611ee
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;
}
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
......
......@@ -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;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment