aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-02-10 19:00:06 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-02-10 19:40:43 +0100
commit9674c43460e69eb88fa97f6b69911d61d0f767cd (patch)
tree51ab8a87d8d1e1c1c6b59af3d929ad18a46f4e65
parentc91fe980b952d4d357a291fcda89f35ea1a83993 (diff)
downloadnx-libs-9674c43460e69eb88fa97f6b69911d61d0f767cd.tar.gz
nx-libs-9674c43460e69eb88fa97f6b69911d61d0f767cd.tar.bz2
nx-libs-9674c43460e69eb88fa97f6b69911d61d0f767cd.zip
UTF-8 Clipboard copying (106_nxagent_utf8-copy-clipboard.full.patch).
Enable UTF-8 clipboard copies. Originally contributed by FreeNX Team (dimbor).
-rw-r--r--debian/patches/106_nxagent_utf8-copy-clipboard.full.patch52
-rw-r--r--debian/patches/series1
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Clipboard.c16
3 files changed, 12 insertions, 57 deletions
diff --git a/debian/patches/106_nxagent_utf8-copy-clipboard.full.patch b/debian/patches/106_nxagent_utf8-copy-clipboard.full.patch
deleted file mode 100644
index 9c0a047d6..000000000
--- a/debian/patches/106_nxagent_utf8-copy-clipboard.full.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-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,
diff --git a/debian/patches/series b/debian/patches/series
index d34201547..c0c34264a 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,3 @@
-106_nxagent_utf8-copy-clipboard.full.patch
107_nxagent_clipboard-compound-text+small-bed-sheets.full.patch
108_nxagent_wine-close-delay.full.patch
110_nxagent_createpixmap-bounds-check.full.patch
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
index 2742e147f..d17f154cd 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Clipboard.c
@@ -166,6 +166,8 @@ Bool nxagentValidServerTargets(Atom target)
if (target == XA_STRING) return True;
if (target == serverTEXT) return True;
+ /* by dimbor */
+ if (target == serverUTF8_STRING) return True;
return False;
}
@@ -402,6 +404,11 @@ FIXME: Do we need this?
lastServerProperty = X->xselectionrequest.property;
lastServerRequestor = X->xselectionrequest.requestor;
lastServerTarget = X->xselectionrequest.target;
+
+ /* by dimbor */
+ if (lastServerTarget != XA_STRING)
+ lastServerTarget = serverUTF8_STRING;
+
lastServerTime = X->xselectionrequest.time;
x.u.u.type = SelectionRequest;
@@ -424,11 +431,12 @@ FIXME: Do we need this?
x.u.selectionRequest.selection = CurrentSelections[i].selection;
- /*
- * x.u.selectionRequest.target = X->xselectionrequest.target;
- */
+ /* 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.target = XA_STRING;
x.u.selectionRequest.property = clientCutProperty;
(void) TryClientEvents(lastSelectionOwner[i].client, &x, 1,