diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 010ae89894..ccda72f5ce 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -692,7 +692,7 @@ bool GUI_App::load_language(wxString language) else return false; } - delete m_wxLocale; + wxLocale *old_locale = m_wxLocale; m_wxLocale = new_locale; m_wxLocale->AddCatalogLookupPathPrefix(from_u8(localization_dir())); m_wxLocale->AddCatalog(SLIC3R_APP_KEY); @@ -700,7 +700,9 @@ bool GUI_App::load_language(wxString language) //FIXME This is a temporary workaround, the correct solution is to switch to "C" locale during file import / export only. wxSetlocale(LC_NUMERIC, "C"); Preset::update_suffix_modified(); - return true; + //FIXME Why the following line crashes? + // delete old_locale; + return true; } // Get a list of installed languages (languages for which we have dictionaries). @@ -709,7 +711,7 @@ std::vector GUI_App::get_installed_languages() wxDir dir(from_u8(localization_dir())); wxString filename; std::vector res; - res.emplace_back(wxLocale::FindLanguageInfo("en_EN")); + res.emplace_back(wxLocale::GetLanguageInfo(wxLANGUAGE_ENGLISH_US)); for (bool cont = dir.GetFirst(&filename, wxEmptyString, wxDIR_DIRS); cont; cont = dir.GetNext(&filename)) { const wxLanguageInfo *langinfo = wxLocale::FindLanguageInfo(filename); if (langinfo != nullptr) {