diff options
Diffstat (limited to 'debian/patches/0106_nxagent_utf8-copy-clipboard.full.patch')
-rw-r--r-- | debian/patches/0106_nxagent_utf8-copy-clipboard.full.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/debian/patches/0106_nxagent_utf8-copy-clipboard.full.patch b/debian/patches/0106_nxagent_utf8-copy-clipboard.full.patch new file mode 100644 index 000000000..9c0a047d6 --- /dev/null +++ b/debian/patches/0106_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, |