diff --git a/src/plugins/vcsbase/wizard/vcscommandpage.cpp b/src/plugins/vcsbase/wizard/vcscommandpage.cpp index 0ab6fa3e1a4..d8d488eda2b 100644 --- a/src/plugins/vcsbase/wizard/vcscommandpage.cpp +++ b/src/plugins/vcsbase/wizard/vcscommandpage.cpp @@ -41,6 +41,7 @@ #include #include +#include using namespace Core; using namespace ProjectExplorer; @@ -160,6 +161,13 @@ VcsCommandPage::VcsCommandPage() } void VcsCommandPage::initializePage() +{ + // Delay real initialization till after QWizard is done with its setup. + // Otherwise QWizard will reset our disabled back button again. + QTimer::singleShot(0, this, &VcsCommandPage::delayedInitialize); +} + +void VcsCommandPage::delayedInitialize() { auto wiz = qobject_cast(wizard()); QTC_ASSERT(wiz, return); diff --git a/src/plugins/vcsbase/wizard/vcscommandpage.h b/src/plugins/vcsbase/wizard/vcscommandpage.h index da8351e2006..860f9f265b8 100644 --- a/src/plugins/vcsbase/wizard/vcscommandpage.h +++ b/src/plugins/vcsbase/wizard/vcscommandpage.h @@ -69,6 +69,9 @@ public: void setVersionControlId(const QString &id); void setRunMessage(const QString &msg); +private slots: + void delayedInitialize(); + private: QString m_vcsId; QString m_repository;