diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index d0ea1a4ea..4a3ed1454 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -476,8 +476,14 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ }); #endif - wxGetApp().persist_window_geometry(this, true); - wxGetApp().persist_window_geometry(&m_settings_dialog, true); + Bind(wxEVT_SHOW, [this](auto& e) { + if (!m_reset_position) { + wxGetApp().persist_window_geometry(this, true); + wxGetApp().persist_window_geometry(&m_settings_dialog, true); + m_reset_position = true; + } + }); + update_ui_from_settings(); // FIXME (?) diff --git a/src/slic3r/GUI/MainFrame.hpp b/src/slic3r/GUI/MainFrame.hpp index c30aff094..3c6fda6f0 100644 --- a/src/slic3r/GUI/MainFrame.hpp +++ b/src/slic3r/GUI/MainFrame.hpp @@ -83,6 +83,7 @@ protected: class MainFrame : public DPIFrame { + bool m_reset_position{false}; bool m_loaded {false}; wxTimer* m_reset_title_text_colour_timer{ nullptr };