Save device url in all cases and load printer url after hot-reload finishes

This commit is contained in:
ExPikaPaka
2026-07-03 08:17:25 +02:00
parent adc8763099
commit fd72249a35
2 changed files with 15 additions and 6 deletions

View File

@@ -4238,6 +4238,15 @@ void GUI_App::recreate_GUI(const wxString &msg_name)
update_publish_status();
// The Device tab's PrinterWebView is recreated during this GUI rebuild. Re-issue
// the printer URL once the new window is realized and the webview backend is ready,
// otherwise the tab can stay blank until the next real restart (non-Bambu/webui
// printers only; load_printer_url() is a no-op for the Bambu device tab).
CallAfter([this] {
if (mainframe)
mainframe->load_printer_url();
});
m_is_recreating_gui = false;
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << "recreate_GUI exit";

View File

@@ -179,13 +179,13 @@ void PrinterWebView::load_url(wxString& url, wxString apikey)
m_apikey_sent = false;
m_handler = create_printer_webview_handler(*this);
if (this->IsShown()) {
//ORCA: m_url_deferred will be cleared on load success
//m_url_deferred.clear();
// Always remember the requested URL as a fallback. If the immediate load
// below is dropped (e.g. the webview backend is not ready yet right after
// recreate_GUI on a language switch), Show() will retry it. OnLoaded clears
// m_url_deferred once the page actually finishes loading.
m_url_deferred = url;
if (this->IsShown())
m_browser->LoadURL(url);
} else {
m_url_deferred = url;
}
//m_browser->SetFocus();
UpdateState();
}