diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 568c799e7..d698e983a 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -4950,6 +4950,20 @@ void GUI_App::open_publish_page_dialog() } } +void GUI_App::remove_mall_system_dialog() +{ + if (m_mall_publish_dialog != nullptr) { + m_mall_publish_dialog->Destroy(); + delete m_mall_publish_dialog; + } + + + if (m_mall_home_dialog != nullptr) { + m_mall_home_dialog->Destroy(); + delete m_mall_home_dialog; + } +} + void GUI_App::run_script(wxString js) { if (mainframe) diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index d1d544a01..7595e7e13 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -473,6 +473,7 @@ public: void load_url(wxString url); void open_mall_page_dialog(); void open_publish_page_dialog(); + void remove_mall_system_dialog(); void run_script(wxString js); bool is_adding_script_handler() { return m_adding_script_handler; } void set_adding_script_handler(bool status) { m_adding_script_handler = status; } diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 84a8eed7d..a3ad16449 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -449,6 +449,8 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ m_plater->reset(); this->shutdown(); // propagate event + + wxGetApp().remove_mall_system_dialog(); event.Skip(); BOOST_LOG_TRIVIAL(info) << __FUNCTION__<< ": mainframe finished process close_widow event"; });