diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/emu/screen.cpp | 17 | ||||
-rw-r--r-- | src/lib/util/nanosvg.cpp | 6 |
2 files changed, 9 insertions, 14 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; diff --git a/src/lib/util/nanosvg.cpp b/src/lib/util/nanosvg.cpp index 09973865675..0cb05308d19 100644 --- a/src/lib/util/nanosvg.cpp +++ b/src/lib/util/nanosvg.cpp @@ -1,6 +1,10 @@ +#include <stdio.h> +#include <string.h> +#include <math.h> + +#define NANOSVG_ALL_COLOR_KEYWORDS #define NANOSVG_IMPLEMENTATION #define NANOSVGRAST_IMPLEMENTATION -#define NANOSVG_ALL_COLOR_KEYWORDS #include <nanosvg/src/nanosvg.h> #include <nanosvg/src/nanosvgrast.h> |