Pass LC_ALL_MASK to newlocale
authorEric Karl <ericrk@chromium.org>
Mon, 17 Apr 2017 19:04:16 +0000 (12:04 -0700)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Mon, 17 Apr 2017 20:04:47 +0000 (20:04 +0000)
This change fixes an issue with GrAutoLocaleSetter, which was
using the C library LC_ALL mask with newlocale. Instead the
xlocale LC_ALL_MASK should be used (these do not match on all
platforms).

See: http://man7.org/linux/man-pages/man3/newlocale.3.html

Bug: 711683
Change-Id: I6dba140e72b095f75667f0dcc98480d8d4562191
Reviewed-on: https://skia-review.googlesource.com/13601
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

src/gpu/GrAutoLocaleSetter.h

index cec041e..9cfa637 100644 (file)
@@ -54,7 +54,7 @@ public:
             name = nullptr;
         }
 #endif
-        fLocale = newlocale(LC_ALL, name, 0);
+        fLocale = newlocale(LC_ALL_MASK, name, 0);
         if (fLocale) {
             fOldLocale = uselocale(fLocale);
         } else {