From ba867cc534ec57f9855f2c34a2c5b45c208b75bc Mon Sep 17 00:00:00 2001 From: SoftFever Date: Tue, 24 Mar 2026 20:57:58 +0800 Subject: [PATCH] Add Show() before Raise() calls for wxWidgets 3.3 compatibility In wxWidgets 3.3, wxWindow::Raise() no longer implies Show(). Add explicit Show() before Raise() in two event handlers that activate the main frame from another instance (load model, start download), and swap the Show/Raise order in bring_instance_forward() so Show() precedes Raise(). --- src/slic3r/GUI/Plater.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 206962279d..1040d7c572 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -5299,12 +5299,14 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) for (size_t i = 0; i < evt.data.size(); ++i) { input_files.push_back(from_u8(evt.data[i].string())); } + wxGetApp().mainframe->Show(); wxGetApp().mainframe->Raise(); this->q->load_files(input_files); }); this->q->Bind(EVT_START_DOWNLOAD_OTHER_INSTANCE, [](StartDownloadOtherInstanceEvent& evt) { BOOST_LOG_TRIVIAL(trace) << "Received url from other instance event."; + wxGetApp().mainframe->Show(); wxGetApp().mainframe->Raise(); for (size_t i = 0; i < evt.data.size(); ++i) { wxGetApp().start_download(evt.data[i]); @@ -11557,8 +11559,8 @@ void Plater::priv::bring_instance_forward() const { main_frame->Restore(); wxGetApp().GetTopWindow()->SetFocus(); // focus on my window - wxGetApp().GetTopWindow()->Raise(); // bring window to front wxGetApp().GetTopWindow()->Show(true); // show the window + wxGetApp().GetTopWindow()->Raise(); // bring window to front } }