From 17300d75490507353f578bc8a2277cb04fa65a76 Mon Sep 17 00:00:00 2001 From: David Kocik Date: Mon, 19 Aug 2024 16:42:29 +0200 Subject: [PATCH] Fix of closing login dialog --- src/slic3r/GUI/Plater.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index f59d51bd22..36160150cd 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -878,17 +878,17 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) user_account->on_login_code_recieved(evt.data); }); this->q->Bind(EVT_OPEN_PRUSAAUTH, [this](OpenPrusaAuthEvent& evt) { - if (login_dialog != nullptr) { - this->q->RemoveChild(login_dialog); - login_dialog->Destroy(); - login_dialog = nullptr; - } BOOST_LOG_TRIVIAL(info) << "open login browser: " << evt.data.first; std::string dialog_msg; login_dialog = new LoginWebViewDialog(this->q, dialog_msg, evt.data.first, this->q); if (login_dialog->ShowModal() == wxID_OK) { user_account->on_login_code_recieved(dialog_msg); } + if (login_dialog != nullptr) { + this->q->RemoveChild(login_dialog); + login_dialog->Destroy(); + login_dialog = nullptr; + } }); this->q->Bind(EVT_OPEN_EXTERNAL_LOGIN, [this](wxCommandEvent& evt) { DownloaderUtils::Worker::perform_register(wxGetApp().app_config->get("url_downloader_dest")); @@ -923,11 +923,8 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) this->q->Bind(EVT_UA_ID_USER_SUCCESS, [this](UserAccountSuccessEvent& evt) { if (login_dialog != nullptr) { - this->q->RemoveChild(login_dialog); - login_dialog->Destroy(); - login_dialog = nullptr; + login_dialog->EndModal(wxID_CANCEL); } - // There are multiple handlers and we want to notify all evt.Skip(); std::string who = user_account->get_username();