diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2018-05-25 16:54:01 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2018-07-28 11:57:15 +0000 |
commit | 4d9d4754da62d9df1b231b19fd1576022585a8fb (patch) | |
tree | 5545c2eb2618dba5855ab952cc910edd9deec765 /main/fontconfig/locale.patch | |
parent | 38f19b58341fa90620114b77cdd9be9ca0a78ff1 (diff) | |
download | aports-4d9d4754da62d9df1b231b19fd1576022585a8fb.tar.bz2 aports-4d9d4754da62d9df1b231b19fd1576022585a8fb.tar.xz |
main/fontconfig: upgrade to 2.13
Diffstat (limited to 'main/fontconfig/locale.patch')
-rw-r--r-- | main/fontconfig/locale.patch | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/main/fontconfig/locale.patch b/main/fontconfig/locale.patch new file mode 100644 index 0000000000..327f6b35ba --- /dev/null +++ b/main/fontconfig/locale.patch @@ -0,0 +1,116 @@ +From 923b5be626a6e03fbaeee0b5cd6d0246c2f8f36f Mon Sep 17 00:00:00 2001 +From: Akira TAGOH <akira@tagoh.org> +Date: Wed, 14 Mar 2018 12:35:05 +0900 +Subject: Do not override locale if already set by app + +https://bugs.freedesktop.org/show_bug.cgi?id=105492 +--- + src/fccfg.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/src/fccfg.c b/src/fccfg.c +index eb0b76d..e311f17 100644 +--- a/src/fccfg.c ++++ b/src/fccfg.c +@@ -45,11 +45,16 @@ retry_locale: + is_locale_initialized = (intptr_t) fc_atomic_ptr_get (&static_is_locale_initialized); + if (!is_locale_initialized) + { ++ char *loc; ++ + is_locale_initialized = FcTrue; + if (!fc_atomic_ptr_cmpexch (&static_is_locale_initialized, NULL, + (void *)(intptr_t) is_locale_initialized)) + goto retry_locale; +- setlocale (LC_ALL, ""); ++ ++ loc = setlocale (LC_ALL, NULL); ++ if (!loc || strcmp (loc, "C") == 0) ++ setlocale (LC_ALL, ""); + } + retry_config: + config = fc_atomic_ptr_get (&_fcConfig); +-- +cgit v1.1 + +From 98eaef69af1350e459bf9c175476d3b772968874 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH <akira@tagoh.org> +Date: Thu, 15 Mar 2018 12:17:52 +0900 +Subject: Leave the locale setting to applications + +https://bugs.freedesktop.org/show_bug.cgi?id=105492 +--- + fc-conflist/fc-conflist.c | 2 ++ + src/fccfg.c | 22 ++-------------------- + 2 files changed, 4 insertions(+), 20 deletions(-) + +diff --git a/fc-conflist/fc-conflist.c b/fc-conflist/fc-conflist.c +index d02273b..5c40a0f 100644 +--- a/fc-conflist/fc-conflist.c ++++ b/fc-conflist/fc-conflist.c +@@ -38,6 +38,7 @@ + #include <unistd.h> + #include <stdlib.h> + #include <string.h> ++#include <locale.h> + + #ifdef ENABLE_NLS + #include <libintl.h> +@@ -102,6 +103,7 @@ main (int argc, char **argv) + #if HAVE_GETOPT_LONG || HAVE_GETOPT + int c; + ++ setlocale (LC_ALL, ""); + #if HAVE_GETOPT_LONG + while ((c = getopt_long (argc, argv, "Vh", longopts, NULL)) != -1) + #else +diff --git a/src/fccfg.c b/src/fccfg.c +index e311f17..e35c451 100644 +--- a/src/fccfg.c ++++ b/src/fccfg.c +@@ -26,7 +26,6 @@ + + #include "fcint.h" + #include <dirent.h> +-#include <locale.h> + #include <sys/types.h> + + #if defined (_WIN32) && !defined (R_OK) +@@ -39,24 +38,7 @@ static FcConfig * + FcConfigEnsure (void) + { + FcConfig *config; +- FcBool is_locale_initialized; +- static void *static_is_locale_initialized; +-retry_locale: +- is_locale_initialized = (intptr_t) fc_atomic_ptr_get (&static_is_locale_initialized); +- if (!is_locale_initialized) +- { +- char *loc; +- +- is_locale_initialized = FcTrue; +- if (!fc_atomic_ptr_cmpexch (&static_is_locale_initialized, NULL, +- (void *)(intptr_t) is_locale_initialized)) +- goto retry_locale; +- +- loc = setlocale (LC_ALL, NULL); +- if (!loc || strcmp (loc, "C") == 0) +- setlocale (LC_ALL, ""); +- } +-retry_config: ++retry: + config = fc_atomic_ptr_get (&_fcConfig); + if (!config) + { +@@ -64,7 +46,7 @@ retry_config: + + if (!fc_atomic_ptr_cmpexch (&_fcConfig, NULL, config)) { + FcConfigDestroy (config); +- goto retry_config; ++ goto retry; + } + } + return config; +-- +cgit v1.1 + |