diff options
author | Petr Mrázek <peterix@gmail.com> | 2017-01-06 06:08:45 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2017-01-06 06:08:45 +0100 |
commit | 6f17183bf0594f6b22ee7d2bc47150f611ee3ee2 (patch) | |
tree | e451b8027a43afa63535c812d8c9382ce16026a8 /application/MultiMC.cpp | |
parent | 0249bd9eea450026c002481dadf945cb0268143f (diff) | |
download | PrismLauncher-6f17183bf0594f6b22ee7d2bc47150f611ee3ee2.tar.gz PrismLauncher-6f17183bf0594f6b22ee7d2bc47150f611ee3ee2.tar.bz2 PrismLauncher-6f17183bf0594f6b22ee7d2bc47150f611ee3ee2.zip |
NOISSUE make the setup wizard use the main event loop
This should fix any issues with receiving events over IPC.
Diffstat (limited to 'application/MultiMC.cpp')
-rw-r--r-- | application/MultiMC.cpp | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/application/MultiMC.cpp b/application/MultiMC.cpp index 03ee2e5a..13e93842 100644 --- a/application/MultiMC.cpp +++ b/application/MultiMC.cpp @@ -312,8 +312,6 @@ MultiMC::MultiMC(int &argc, char **argv) : QApplication(argc, argv) connect(this, SIGNAL(aboutToQuit()), SLOT(onExit())); - m_status = MultiMC::Initialized; - setIconTheme(settings()->get("IconTheme").toString()); setApplicationTheme(settings()->get("ApplicationTheme").toString()); @@ -322,10 +320,22 @@ MultiMC::MultiMC(int &argc, char **argv) : QApplication(argc, argv) if(SetupWizard::isRequired()) { m_setupWizard = new SetupWizard(nullptr); - int result = m_setupWizard->exec(); - qDebug() << "Wizard result =" << result; + connect(m_setupWizard, &QDialog::finished, this, &MultiMC::setupWizardFinished); + m_setupWizard->show(); + return; } + performMainStartupAction(); +} + +void MultiMC::setupWizardFinished(int status) +{ + qDebug() << "Wizard result =" << status; + performMainStartupAction(); +} +void MultiMC::performMainStartupAction() +{ + m_status = MultiMC::Initialized; if(!m_instanceIdToLaunch.isEmpty()) { auto inst = instances()->getInstanceById(m_instanceIdToLaunch); @@ -361,6 +371,11 @@ MultiMC::~MultiMC() void MultiMC::messageReceived(const QString& message) { + if(status() != Initialized) + { + qDebug() << "Received message" << message << "while still initializing. It will be ignored."; + return; + } if(message == "activate") { showMainWindow(); |