diff --git a/src/slic3r/GUI/ConfigWizard.cpp b/src/slic3r/GUI/ConfigWizard.cpp index ef96b4b1ee..c7bdfd48e5 100644 --- a/src/slic3r/GUI/ConfigWizard.cpp +++ b/src/slic3r/GUI/ConfigWizard.cpp @@ -4137,8 +4137,12 @@ bool ConfigWizard::run(RunReason reason, StartPage start_page) void ConfigWizard::update_login() { - if(p->page_login) { - p->page_login->login_changed(); + if(!p->page_login) { + return; + } + if (p->page_login->login_changed()) { + // repos changed - we need rebuild + p->set_config_updated_from_archive(p->is_config_from_archive, true); } } diff --git a/src/slic3r/GUI/ConfigWizardWebViewPage.cpp b/src/slic3r/GUI/ConfigWizardWebViewPage.cpp index a97b44f30e..72124b1af3 100644 --- a/src/slic3r/GUI/ConfigWizardWebViewPage.cpp +++ b/src/slic3r/GUI/ConfigWizardWebViewPage.cpp @@ -54,7 +54,7 @@ ConfigWizardWebViewPage::ConfigWizardWebViewPage(ConfigWizard *parent) } -void ConfigWizardWebViewPage::login_changed() +bool ConfigWizardWebViewPage::login_changed() { assert(p_user_account && m_browser_sizer && m_text && m_bold_text); bool logged = p_user_account->is_logged(); @@ -67,6 +67,7 @@ void ConfigWizardWebViewPage::login_changed() // TRN Config wizard page with a log in web. first line of text. m_text->SetLabel(_L("Please log into your Prusa Account.")); } + return logged; } void ConfigWizardWebViewPage::on_error(wxWebViewEvent &evt) diff --git a/src/slic3r/GUI/ConfigWizardWebViewPage.hpp b/src/slic3r/GUI/ConfigWizardWebViewPage.hpp index 89398a49b5..6c59abb7a7 100644 --- a/src/slic3r/GUI/ConfigWizardWebViewPage.hpp +++ b/src/slic3r/GUI/ConfigWizardWebViewPage.hpp @@ -49,8 +49,8 @@ public: void on_error(wxWebViewEvent &evt); void on_navigation_request(wxWebViewEvent &evt); - - void login_changed(); + // returns true if logged in - wizard needs to update repos + bool login_changed(); private: wxWebView *m_browser{nullptr};