[Libreoffice-commits] core.git: external/boost

Tor Lillqvist tml at collabora.com
Thu May 17 09:21:28 UTC 2018


 external/boost/UnpackedTarball_boost.mk        |    2 ++
 external/boost/windows-no-utf8-locales.patch.0 |   20 ++++++++++++++++++++
 2 files changed, 22 insertions(+)

New commits:
commit f046fed2782f0d4244aff719ba70a56399a2583a
Author: Tor Lillqvist <tml at collabora.com>
Date:   Wed May 16 18:08:59 2018 +0300

    Don't ever attempt to initialise a std::locale with a UTF-8 locale on Windows
    
    As I said in 2ff121f298e64ff204621220622472fe697d599d, passing a
    POSIX-style locale name to the std::locale constructor on Windows is
    decidedly odd, and apparently boost adds insult to injury by even
    really attempting to use a UTF-8 one if that is what our code thinks
    it wants. Or something.
    
    This commit avoids the ton of
    "warn:unotools.i18n:7996:3544:unotools/source/i18n/resmgr.cxx:123: CRT
    Report Hook: ASSERT: f:\dd\vctools\crt\crtw32\stdcpp\xmbtowc.c(89) :
    Assertion failed: ploc->_Mbcurmax == 1 || ploc->_Mbcurmax == 2" we
    otherwise get when built with --enable-dbgutil and a current VS2015
    (or 2017?).
    
    Change-Id: I3a774dff7b12d9960f553c9f242e0463c6d13d5d
    Reviewed-on: https://gerrit.libreoffice.org/54444
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Tor Lillqvist <tml at collabora.com>

diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk
index 2e6688c59b18..ba1acb17a54f 100644
--- a/external/boost/UnpackedTarball_boost.mk
+++ b/external/boost/UnpackedTarball_boost.mk
@@ -36,6 +36,8 @@ boost_patches += boost_1_63_0.undef.warning.patch.1
 # https://svn.boost.org/trac10/ticket/13230
 boost_patches += boost-android-unified.patch.1
 
+boost_patches += windows-no-utf8-locales.patch.0
+
 $(eval $(call gb_UnpackedTarball_UnpackedTarball,boost))
 
 $(eval $(call gb_UnpackedTarball_set_tarball,boost,$(BOOST_TARBALL)))
diff --git a/external/boost/windows-no-utf8-locales.patch.0 b/external/boost/windows-no-utf8-locales.patch.0
new file mode 100644
index 000000000000..66038cad70fb
--- /dev/null
+++ b/external/boost/windows-no-utf8-locales.patch.0
@@ -0,0 +1,20 @@
+Don't ever attempt to initialise a std::locale with a UTF-8 locale on Windows -*- Mode: Diff -*-
+
+--- libs/locale/src/std/std_backend.cpp
++++ libs/locale/src/std/std_backend.cpp
+@@ -109,12 +109,13 @@
+                 #endif
+             }
+             else {
++                #if !defined(BOOST_WINDOWS)
+                 if(loadable(lid)) {
+                     name_ = lid;
+                     utf_mode_ = utf8_native_with_wide;
+                 }
+-                #if defined(BOOST_WINDOWS)
+-                else if(loadable(win_name)) {
++                #else
++                if(loadable(win_name)) {
+                     name_ = win_name;
+                     utf_mode_ = utf8_from_wide;
+                 }


More information about the Libreoffice-commits mailing list