diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 28b69e3e5b..454428b71a 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -5877,9 +5877,13 @@ void Plater::connect_gcode() { assert(p->user_account->is_logged()); std::string dialog_msg; - if(PrinterPickWebViewDialog(this, dialog_msg).ShowModal() != wxID_OK) { - return; - } + { + //PrinterPickWebViewDialog* dialog = new PrinterPickWebViewDialog(this, dialog_msg); + PrinterPickWebViewDialog dialog(this, dialog_msg); + if (dialog.ShowModal() != wxID_OK) { + return; + } + } if (dialog_msg.empty()) { show_error(this, _L("Failed to select a printer. PrusaConnect did not return a value.")); return; diff --git a/src/slic3r/GUI/WebViewDialog.cpp b/src/slic3r/GUI/WebViewDialog.cpp index 6045d259ae..f05086dad2 100644 --- a/src/slic3r/GUI/WebViewDialog.cpp +++ b/src/slic3r/GUI/WebViewDialog.cpp @@ -1063,6 +1063,7 @@ void PrinterPickWebViewDialog::on_script_message(wxWebViewEvent& evt) void PrinterPickWebViewDialog::on_request_update_selected_printer_action() { m_ret_val = m_message_data; + m_browser->RemoveScriptMessageHandler("_prusaSlicer"); this->EndModal(wxID_OK); }