From 931b20e43c2e7f8774cb5350744d9ba9735ec1bc Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 30 Aug 2019 14:13:47 +0200 Subject: [PATCH] Fix for wxWidgets issue, where the FindLanguageInfo() returns locales with undefined ANSII code (wxLANGUAGE_KONKANI or wxLANGUAGE_MANIPURI). --- src/slic3r/GUI/GUI_App.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 389ff0d15..89152cd3e 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -684,9 +684,12 @@ bool GUI_App::load_language(wxString language, bool initial) #endif } - const wxLanguageInfo *language_info = wxLocale::FindLanguageInfo(language); - if (! language.empty() && language_info == nullptr) + const wxLanguageInfo *language_info = language.empty() ? nullptr : wxLocale::FindLanguageInfo(language); + if (! language.empty() && (language_info == nullptr || language_info->CanonicalName.empty())) { + // Fix for wxWidgets issue, where the FindLanguageInfo() returns locales with undefined ANSII code (wxLANGUAGE_KONKANI or wxLANGUAGE_MANIPURI). + language_info = nullptr; BOOST_LOG_TRIVIAL(error) << boost::format("Language code \"%1%\" is not supported") % language.ToUTF8().data(); + } if (language_info != nullptr && language_info->LayoutDirection == wxLayout_RightToLeft) { BOOST_LOG_TRIVIAL(trace) << boost::format("The following language code requires right to left layout, which is not supported by PrusaSlicer: %1%") % language_info->CanonicalName.ToUTF8().data();