diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2019-06-11 12:24:44 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2019-06-11 12:24:44 +0200 |
commit | c0754a35755cdd4e25386abc6378e07605845948 (patch) | |
tree | 556107b4e0267c6985f1dc8c7960502b88733983 /nx-X11/programs/Xserver/hw/nxagent/Events.c | |
parent | 58cd35745086567b5b1fa0fc7a295e849ac070ce (diff) | |
parent | 848dee5c42bffdf19c4b9f01c38334bf53fefa49 (diff) | |
download | nx-libs-c0754a35755cdd4e25386abc6378e07605845948.tar.gz nx-libs-c0754a35755cdd4e25386abc6378e07605845948.tar.bz2 nx-libs-c0754a35755cdd4e25386abc6378e07605845948.zip |
Merge branch 'uli42-pr/use_selection_callback' into 3.6.x
Attributes GH PR #814: https://github.com/ArcticaProject/nx-libs/pull/814
Diffstat (limited to 'nx-X11/programs/Xserver/hw/nxagent/Events.c')
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Events.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Events.c b/nx-X11/programs/Xserver/hw/nxagent/Events.c index 7ec97dada..4bddbba3a 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Events.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Events.c @@ -2968,7 +2968,19 @@ int nxagentHandleXFixesSelectionNotify(XEvent *X) info.selection = &CurrentSelections[i]; info.kind = xfixesEvent->xfixesselection.subtype; + + /* + * The trap indicates that we are triggered by a clipboard event + * originating from the real X server. In that case we do not + * want to propagate back changes to the real X server, because + * it already knows about them and we would end up in an + * infinite loop of events. If there was a better way to + * identify that situation during Callback processing we could + * get rid of the Trap... + */ + nxagentExternalClipboardEventTrap = 1; CallCallbacks(&SelectionCallback, &info); + nxagentExternalClipboardEventTrap = 0; } } return 1; |