diff --git a/src/slic3r/GUI/ConfigWizard.cpp b/src/slic3r/GUI/ConfigWizard.cpp index 866d5a817f..d0b7721976 100644 --- a/src/slic3r/GUI/ConfigWizard.cpp +++ b/src/slic3r/GUI/ConfigWizard.cpp @@ -3323,6 +3323,8 @@ ConfigWizard::ConfigWizard(wxWindow *parent) : DPIDialog(parent, wxID_ANY, wxString(SLIC3R_APP_NAME) + " - " + _(name()), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER) , p(new priv(this)) { + wxBusyCursor wait; + this->SetFont(wxGetApp().normal_font()); p->load_vendors(); diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index b0411c89c0..83c3cf13fc 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -3057,6 +3057,13 @@ bool GUI_App::run_wizard(ConfigWizard::RunReason reason, ConfigWizard::StartPage auto wizard = new ConfigWizard(mainframe); const bool res = wizard->run(reason, start_page); + // !!! Deallocate memory after close ConfigWizard. + // Note, that mainframe is a parent of ConfigWizard. + // So, wizard will be destroyed only during destroying of mainframe + // To avoid this state the wizard have to be disconnected from mainframe and Destroyed explicitly + mainframe->RemoveChild(wizard); + wizard->Destroy(); + if (res) { load_current_presets();