From 2d3c2dc595b26de678be110deae48bf701609933 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Mon, 5 Feb 2018 11:03:13 +0100 Subject: [PATCH] Fix of #696 in cpp's Tabs, using changes from commit 36bbd6a --- xs/src/slic3r/GUI/Tab.cpp | 11 ++++++----- xs/xsp/GUI_Preset.xsp | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/xs/src/slic3r/GUI/Tab.cpp b/xs/src/slic3r/GUI/Tab.cpp index 6e8ecb21c..f69bbb004 100644 --- a/xs/src/slic3r/GUI/Tab.cpp +++ b/xs/src/slic3r/GUI/Tab.cpp @@ -92,8 +92,8 @@ void Tab::create_preset_tab(PresetBundle *preset_bundle) //! we doing next: int selected_item = m_presets_choice->GetSelection(); if (selected_item >= 0){ - std::string slected_string = m_presets_choice->GetString(selected_item).ToStdString(); - select_preset(slected_string); + std::string selected_string = m_presets_choice->GetString(selected_item).ToUTF8(); + select_preset(selected_string); } })); @@ -1761,9 +1761,10 @@ ConfigOptionsGroupShp Page::new_optgroup(std::string title, int noncommon_label_ void SavePresetWindow::build(wxString title, std::string default_name, std::vector &values) { auto text = new wxStaticText(this, wxID_ANY, "Save " + title + " as:", wxDefaultPosition, wxDefaultSize); - m_combo = new wxComboBox(this, wxID_ANY, default_name, wxDefaultPosition, wxDefaultSize, 0, 0, wxTE_PROCESS_ENTER); + m_combo = new wxComboBox(this, wxID_ANY, wxString::FromUTF8(default_name.c_str()), + wxDefaultPosition, wxDefaultSize, 0, 0, wxTE_PROCESS_ENTER); for (auto value : values) - m_combo->Append(value); + m_combo->Append(wxString::FromUTF8(value.c_str())); auto buttons = CreateStdDialogButtonSizer(wxOK | wxCANCEL); auto sizer = new wxBoxSizer(wxVERTICAL); @@ -1781,7 +1782,7 @@ void SavePresetWindow::build(wxString title, std::string default_name, std::vect void SavePresetWindow::accept() { - m_chosen_name = normalize_utf8_nfc(m_combo->GetValue().c_str()); + m_chosen_name = normalize_utf8_nfc(m_combo->GetValue().ToUTF8()); if (!m_chosen_name.empty()) { const char* unusable_symbols = "<>:/\\|?*\""; bool is_unusable_symbol = false; diff --git a/xs/xsp/GUI_Preset.xsp b/xs/xsp/GUI_Preset.xsp index 67e1d5fc6..0033ebd0e 100644 --- a/xs/xsp/GUI_Preset.xsp +++ b/xs/xsp/GUI_Preset.xsp @@ -18,8 +18,8 @@ bool is_compatible_with_printer(Preset *active_printer) %code%{ RETVAL = THIS->is_compatible_with_printer(*active_printer); %}; - const char* name() %code%{ RETVAL = THIS->name.c_str(); %}; - const char* file() %code%{ RETVAL = THIS->file.c_str(); %}; + std::string name() %code%{ RETVAL = THIS->name; %}; + std::string file() %code%{ RETVAL = THIS->file; %}; bool loaded() %code%{ RETVAL = THIS->loaded; %};