aboutsummaryrefslogtreecommitdiff
path: root/debian/patches/106_nxagent_utf8-copy-clipboard.full.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/106_nxagent_utf8-copy-clipboard.full.patch')
-rw-r--r--debian/patches/106_nxagent_utf8-copy-clipboard.full.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/debian/patches/106_nxagent_utf8-copy-clipboard.full.patch b/debian/patches/106_nxagent_utf8-copy-clipboard.full.patch
new file mode 100644
index 000000000..9c0a047d6
--- /dev/null
+++ b/debian/patches/106_nxagent_utf8-copy-clipboard.full.patch
@@ -0,0 +1,52 @@
+Description: UTF-8 Clipboard copying
+ Enable UTF-8 clipboard copies.
+ .
+ Originally contributed by FreeNX Team (dimbor).
+Forwarded: not-yet
+Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+Last-Update: 2011-12-31
+--- a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
++++ b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
+@@ -166,7 +166,9 @@
+
+ if (target == XA_STRING) return True;
+ if (target == serverTEXT) return True;
+-
++ /* by dimbor */
++ if (target == serverUTF8_STRING) return True;
++
+ return False;
+ }
+
+@@ -402,7 +404,12 @@
+ lastServerProperty = X->xselectionrequest.property;
+ lastServerRequestor = X->xselectionrequest.requestor;
+ lastServerTarget = X->xselectionrequest.target;
+- lastServerTime = X->xselectionrequest.time;
++
++ /* by dimbor */
++ if (lastServerTarget != XA_STRING)
++ lastServerTarget = serverUTF8_STRING;
++
++ lastServerTime = X->xselectionrequest.time;
+
+ x.u.u.type = SelectionRequest;
+ x.u.selectionRequest.time = GetTimeInMillis();
+@@ -424,11 +431,12 @@
+
+ x.u.selectionRequest.selection = CurrentSelections[i].selection;
+
+- /*
+- * x.u.selectionRequest.target = X->xselectionrequest.target;
+- */
+-
+- x.u.selectionRequest.target = XA_STRING;
++ /* by dimbor (idea from zahvatov) */
++ if (X->xselectionrequest.target != XA_STRING)
++ x.u.selectionRequest.target = clientUTF8_STRING;
++ else
++ x.u.selectionRequest.target = XA_STRING;
++
+ x.u.selectionRequest.property = clientCutProperty;
+
+ (void) TryClientEvents(lastSelectionOwner[i].client, &x, 1,