From b65b83ba4bbfea8efef58c9f4bab31a1b20db066 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Thu, 28 Jun 2012 12:31:01 +0200 Subject: Drop patch: 109_nxagent_locale-utf8-compound-text.patch, the patch causes Qt applications to be rendered without window decorations when running in rootless window mode. --- debian/changelog | 3 + ...09_nxagent_locale-utf8-compound-text.full.patch | 118 +++++++++++++++++++++ ...09_nxagent_locale-utf8-compound-text.full.patch | 116 -------------------- debian/patches/series | 1 - 4 files changed, 121 insertions(+), 117 deletions(-) create mode 100644 debian/patches-refused/109_nxagent_locale-utf8-compound-text.full.patch delete mode 100644 debian/patches/109_nxagent_locale-utf8-compound-text.full.patch diff --git a/debian/changelog b/debian/changelog index 6cc85068e..1787dff68 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,9 @@ nx-libs (2:3.5.0.14-0) UNRELEASED; urgency=low * Adapt patch series (all hunks succeeded automatically). * Drop patch: 120_nxagent_libcairo-null-source-drawables.full.patch, the issue has been fixed by NoMachine (TR05J02703). + * Drop patch: 109_nxagent_locale-utf8-compound-text.patch, the patch causes + Qt applications to be rendered without window decorations when running in + rootless window mode. [ Mihai Moldovan ] * Add patch: 052_nxcomp_macos10-nxauth-location.full+lite.patch, change diff --git a/debian/patches-refused/109_nxagent_locale-utf8-compound-text.full.patch b/debian/patches-refused/109_nxagent_locale-utf8-compound-text.full.patch new file mode 100644 index 000000000..6c112262e --- /dev/null +++ b/debian/patches-refused/109_nxagent_locale-utf8-compound-text.full.patch @@ -0,0 +1,118 @@ +Description: Enable locale support + Enable locale support in nxagent. + . + Originally contributed by FreeNX Team (dimbor). +Forwarded: not-yet +Author: Mike Gabriel +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 ++ + /* + * Set here the required log level. + */ +@@ -366,6 +369,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 ++ + /* + * Set here the required log level. + */ +@@ -419,6 +423,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 = Xutf8TextPropertyToTextList(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 +490,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 +501,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 +511,19 @@ + output = value; + export = True; + } ++ /* add by dimbor, modified by Mike Gabriel ++ else if (strcmp(typeS, "COMPOUND_TEXT") == 0) ++ { ++ output = textToUTF8String(value, nUnits); ++ if ( output != NULL ) { ++ type = MakeAtom("UTF8_STRING", strlen("UTF8_STRING"), True); ++ } else { ++ output = value; ++ } ++ nUnits = strlen((char *) output); ++ freeMem = True; ++ export = True; ++ } */ + #ifdef _XSERVER64 + else if (strcmp(typeS, "CARDINAL") == 0 || strcmp(typeS, "WM_SIZE_HINTS") == 0) + { diff --git a/debian/patches/109_nxagent_locale-utf8-compound-text.full.patch b/debian/patches/109_nxagent_locale-utf8-compound-text.full.patch deleted file mode 100644 index 7fbdf45eb..000000000 --- a/debian/patches/109_nxagent_locale-utf8-compound-text.full.patch +++ /dev/null @@ -1,116 +0,0 @@ -Description: Enable locale support - Enable locale support in nxagent. - . - Originally contributed by FreeNX Team (dimbor). -Forwarded: not-yet -Author: Mike Gabriel -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 -+ - /* - * Set here the required log level. - */ -@@ -366,6 +369,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 -+ - /* - * Set here the required log level. - */ -@@ -419,6 +423,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 = Xutf8TextPropertyToTextList(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 +490,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 +501,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 +511,17 @@ - output = value; - export = True; - } -+ /* add by dimbor, modified by Mike Gabriel */ -+ else if (strcmp(typeS, "COMPOUND_TEXT") == 0) -+ { -+ output = textToUTF8String(value, nUnits); -+ if ( output != NULL ) { -+ nUnits = strlen((char *) output); -+ type = MakeAtom("UTF8_STRING", strlen("UTF8_STRING"), True); -+ freeMem = True; -+ export = True; -+ } -+ } - #ifdef _XSERVER64 - else if (strcmp(typeS, "CARDINAL") == 0 || strcmp(typeS, "WM_SIZE_HINTS") == 0) - { diff --git a/debian/patches/series b/debian/patches/series index d772a0e6e..f47979a5c 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -34,7 +34,6 @@ 106_nxagent_utf8-copy-clipboard.full.patch 107_nxagent_clipboard-compound-text+small-bed-sheets.full.patch 108_nxagent_wine-close-delay.full.patch -109_nxagent_locale-utf8-compound-text.full.patch 110_nxagent_createpixmap-bounds-check.full.patch 200_nxagent_check-binary-x2go-flavour.full.patch 201_nxagent_set-x2go-icon-if-x2goagent-flavour.full.patch -- cgit v1.2.3