aboutsummaryrefslogtreecommitdiff
path: root/debian/patches/109_nxagent_locale-utf8-compound-text.patch
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2012-01-16 22:29:05 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2012-01-16 22:29:05 +0100
commite9241fe8c730aa7f0b95b15b34ed5c2bda18b5ad (patch)
tree2dabac3d6b000def9e33cf30137da4507c19951d /debian/patches/109_nxagent_locale-utf8-compound-text.patch
parentd7ecf7214f0df5cd7957264be5249f4cd39f4e6e (diff)
downloadnx-libs-e9241fe8c730aa7f0b95b15b34ed5c2bda18b5ad.tar.gz
nx-libs-e9241fe8c730aa7f0b95b15b34ed5c2bda18b5ad.tar.bz2
nx-libs-e9241fe8c730aa7f0b95b15b34ed5c2bda18b5ad.zip
Reorganize patch names, to reflect patch inclusion into lite+full or full-only ,,NX (redistributed)'' tarball.
Diffstat (limited to 'debian/patches/109_nxagent_locale-utf8-compound-text.patch')
-rw-r--r--debian/patches/109_nxagent_locale-utf8-compound-text.patch125
1 files changed, 0 insertions, 125 deletions
diff --git a/debian/patches/109_nxagent_locale-utf8-compound-text.patch b/debian/patches/109_nxagent_locale-utf8-compound-text.patch
deleted file mode 100644
index 74bd53bd0..000000000
--- a/debian/patches/109_nxagent_locale-utf8-compound-text.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-Description: Enable locale support
- Enable locale support in nxagent.
- .
- 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/Init.c
-+++ b/nx-X11/programs/Xserver/hw/nxagent/Init.c
-@@ -64,6 +64,9 @@
- #include "NX.h"
- #include "NXlib.h"
-
-+/* by dimbor */
-+#include <X11/Xlocale.h>
-+
- /*
- * Set here the required log level.
- */
-@@ -348,6 +351,20 @@
- */
-
- blackRoot = TRUE;
-+
-+ /* by dimbor */
-+ char *locale = setlocale(LC_ALL, "");
-+ if (!locale)
-+ fprintf(stderr, "InitOutput: failed to set locale, reverting to \"C\"\n");
-+ else
-+ {
-+ if (!XSupportsLocale())
-+ fprintf(stderr, "InitOutput: Locale %s not supported by X\n",locale);
-+ else
-+ fprintf(stderr, "InitOutput: Set %s locale\n",locale);
-+ }
-+ if (!XSetLocaleModifiers(""))
-+ fprintf(stderr,"InitOutput: cannot set locale modifiers.\n");
- }
-
- void InitInput(argc, argv)
---- a/nx-X11/programs/Xserver/hw/nxagent/Rootless.c
-+++ b/nx-X11/programs/Xserver/hw/nxagent/Rootless.c
-@@ -32,6 +32,10 @@
-
- #include "NXlib.h"
-
-+/* by dimbor */
-+#include "Xatom.h"
-+#include <X11/Xlocale.h>
-+
- /*
- * Set here the required log level.
- */
-@@ -100,6 +104,10 @@
-
- static void nxagentRemovePropertyFromList(void);
-
-+/* by dimbor */
-+static char szAgentUTF8_STRING[] = "UTF8_STRING";
-+static Atom agentUTF8_STRING;
-+
- /*
- * This is currently unused.
- */
-@@ -419,6 +427,28 @@
- }
- }
-
-+/* by dimbor */
-+char *textToUTF8String(char *text, int nitems)
-+{
-+ XTextProperty t_prop;
-+ char *ret=NULL;
-+ t_prop.value=((unsigned char *)text);
-+ t_prop.nitems=nitems;
-+ if (!t_prop.nitems)
-+ return ret;
-+ t_prop.format=8;
-+ t_prop.encoding=XInternAtom(nxagentDisplay, "COMPOUND_TEXT", 0);
-+ char **list;
-+ int num;
-+ int r = XmbTextPropertyToTextList(nxagentDisplay, &t_prop,&list, &num);
-+ if ((r == Success || r > 0) && num > 0 && *list)
-+ {
-+ ret=(char *)strdup (*list);
-+ XFreeStringList(list);
-+ }
-+ return ret;
-+}
-+
- int nxagentExportAllProperty(pWin)
- WindowPtr pWin;
- {
-@@ -464,6 +494,7 @@
-
- if (strncmp(propertyS, "WM_", 3) != 0 &&
- strncmp(propertyS, "_NET_", 5) != 0 &&
-+ strncmp(propertyS, "_MOTIF_", 7) != 0 &&
- strcmp(propertyS, "_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR") != 0)
- {
- #ifdef TEST
-@@ -474,6 +505,7 @@
- #endif
- }
- else if (strcmp(typeS, "STRING") == 0 ||
-+ strcmp(typeS, "_MOTIF_WM_HINTS") == 0 ||
- #ifndef _XSERVER64
- strcmp(typeS, "CARDINAL") == 0 ||
- strcmp(typeS, "WM_SIZE_HINTS") == 0 ||
-@@ -483,6 +515,15 @@
- output = value;
- export = True;
- }
-+ /* add by dimbor */
-+ else if (strcmp(typeS, "COMPOUND_TEXT") == 0)
-+ {
-+ output = textToUTF8String(value, nUnits);
-+ nUnits = strlen((char *) output);
-+ type = MakeAtom(szAgentUTF8_STRING, strlen(szAgentUTF8_STRING), True);
-+ freeMem = True;
-+ export = True;
-+ }
- #ifdef _XSERVER64
- else if (strcmp(typeS, "CARDINAL") == 0 || strcmp(typeS, "WM_SIZE_HINTS") == 0)
- {