diff options
author | 2020-10-05 22:18:22 +1100 | |
---|---|---|
committer | 2020-10-05 22:18:22 +1100 | |
commit | f390ea1004a4563bb79912a1a13d5de70c2e316b (patch) | |
tree | 51f3367173c2c8088a9514cfb084b34967587763 /src/emu/screen.cpp | |
parent | a89f9b274e9968aab7fde58110c3cb72378c4843 (diff) |
3rdparty/nanosvg: Re-base on latest upstream.
Now based on upstream cc6c08d3a80f1a305021af3d6394cdf1535d02a2.
Among other things, this version is supposed to be less sensitive to the
global locale.
Diffstat (limited to 'src/emu/screen.cpp')
-rw-r--r-- | src/emu/screen.cpp | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/emu/screen.cpp b/src/emu/screen.cpp index cacd16d5982..c1e575819db 100644 --- a/src/emu/screen.cpp +++ b/src/emu/screen.cpp @@ -94,19 +94,10 @@ private: screen_device::svg_renderer::svg_renderer(memory_region *region) { - // nanosvg makes assumptions about the global locale - { - const std::unique_ptr<char []> s(new char[region->bytes() + 1]); - memcpy(s.get(), region->base(), region->bytes()); - s[region->bytes()] = 0; - const std::string lcctype(std::setlocale(LC_CTYPE, nullptr)); - const std::string lcnumeric(std::setlocale(LC_NUMERIC, nullptr)); - std::setlocale(LC_CTYPE, "C"); - std::setlocale(LC_NUMERIC, "C"); - m_image = nsvgParse(s.get(), "px", 72); - std::setlocale(LC_CTYPE, lcctype.c_str()); - std::setlocale(LC_NUMERIC, lcnumeric.c_str()); - } + const std::unique_ptr<char []> s(new char[region->bytes() + 1]); + memcpy(s.get(), region->base(), region->bytes()); + s[region->bytes()] = 0; + m_image = nsvgParse(s.get(), "px", 72); m_rasterizer = nsvgCreateRasterizer(); m_key_count = 0; |