Fixed OSX/Linux build
Destroy Settings Dialog when close application
This commit is contained in:
parent
53516c8086
commit
43be7a51aa
3 changed files with 9 additions and 3 deletions
|
@ -231,6 +231,9 @@ void MainFrame::shutdown()
|
||||||
// In addition, there were some crashes due to the Paint events sent to already destructed windows.
|
// In addition, there were some crashes due to the Paint events sent to already destructed windows.
|
||||||
this->Show(false);
|
this->Show(false);
|
||||||
|
|
||||||
|
if (m_settings_dialog)
|
||||||
|
m_settings_dialog->Destroy();
|
||||||
|
|
||||||
// Stop the background thread (Windows and Linux).
|
// Stop the background thread (Windows and Linux).
|
||||||
// Disconnect from a 3DConnextion driver (OSX).
|
// Disconnect from a 3DConnextion driver (OSX).
|
||||||
m_plater->get_mouse3d_controller().shutdown();
|
m_plater->get_mouse3d_controller().shutdown();
|
||||||
|
@ -295,6 +298,9 @@ void MainFrame::init_tabpanel()
|
||||||
wxGetApp().app_config->get("new_settings_layout_mode") == "1" ? slNew :
|
wxGetApp().app_config->get("new_settings_layout_mode") == "1" ? slNew :
|
||||||
wxGetApp().app_config->get("dlg_settings_layout_mode") == "1" ? slDlg : slOld;
|
wxGetApp().app_config->get("dlg_settings_layout_mode") == "1" ? slDlg : slOld;
|
||||||
|
|
||||||
|
// From the very beginning the Print settings should be selected
|
||||||
|
m_last_selected_tab = m_layout == slDlg ? 0 : 1;
|
||||||
|
|
||||||
if (m_layout == slDlg) {
|
if (m_layout == slDlg) {
|
||||||
m_settings_dialog = new SettingsDialog();
|
m_settings_dialog = new SettingsDialog();
|
||||||
m_tabpanel = m_settings_dialog->get_tabpanel();
|
m_tabpanel = m_settings_dialog->get_tabpanel();
|
||||||
|
|
|
@ -73,7 +73,7 @@ class MainFrame : public DPIFrame
|
||||||
|
|
||||||
PrintHostQueueDialog *m_printhost_queue_dlg;
|
PrintHostQueueDialog *m_printhost_queue_dlg;
|
||||||
|
|
||||||
size_t m_last_selected_tab {1};
|
size_t m_last_selected_tab;
|
||||||
|
|
||||||
std::string get_base_name(const wxString &full_name, const char *extension = nullptr) const;
|
std::string get_base_name(const wxString &full_name, const char *extension = nullptr) const;
|
||||||
std::string get_dir_name(const wxString &full_name) const;
|
std::string get_dir_name(const wxString &full_name) const;
|
||||||
|
|
|
@ -325,7 +325,7 @@ void PreferencesDialog::create_settings_mode_widget()
|
||||||
|
|
||||||
wxRadioBox* box = new wxRadioBox(parent, wxID_ANY, _L("Settings layout mode"), wxDefaultPosition, wxDefaultSize, WXSIZEOF(choices), choices,
|
wxRadioBox* box = new wxRadioBox(parent, wxID_ANY, _L("Settings layout mode"), wxDefaultPosition, wxDefaultSize, WXSIZEOF(choices), choices,
|
||||||
3, wxRA_SPECIFY_ROWS);
|
3, wxRA_SPECIFY_ROWS);
|
||||||
box->SetButtonFont(wxGetApp().normal_font());
|
box->SetFont(wxGetApp().normal_font());
|
||||||
box->SetSelection(selection);
|
box->SetSelection(selection);
|
||||||
|
|
||||||
box->Bind(wxEVT_RADIOBOX, [this](wxCommandEvent& e) {
|
box->Bind(wxEVT_RADIOBOX, [this](wxCommandEvent& e) {
|
||||||
|
@ -339,7 +339,7 @@ void PreferencesDialog::create_settings_mode_widget()
|
||||||
auto sizer = new wxBoxSizer(wxHORIZONTAL);
|
auto sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
sizer->Add(box, 1, wxALIGN_CENTER_VERTICAL);
|
sizer->Add(box, 1, wxALIGN_CENTER_VERTICAL);
|
||||||
|
|
||||||
m_optgroup_gui->sizer->Add(sizer, 0, wxEXPAND | wxALL, em_unit());
|
m_optgroup_gui->sizer->Add(sizer, 0, wxEXPAND);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue