diff options
author | Petr Mrázek <peterix@gmail.com> | 2016-11-06 23:01:08 +0100 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2016-11-06 23:06:49 +0100 |
commit | 1276ecdbb769a249a969e8d34749b8f245c3031e (patch) | |
tree | 2e34c6476e3ce7a27254000e8735efcc9ea8aac0 /application/MultiMC.cpp | |
parent | 8b952b387041341f556edcf0bb34576a2fc88568 (diff) | |
download | MultiMC-1276ecdbb769a249a969e8d34749b8f245c3031e.tar MultiMC-1276ecdbb769a249a969e8d34749b8f245c3031e.tar.gz MultiMC-1276ecdbb769a249a969e8d34749b8f245c3031e.tar.lz MultiMC-1276ecdbb769a249a969e8d34749b8f245c3031e.tar.xz MultiMC-1276ecdbb769a249a969e8d34749b8f245c3031e.zip |
NOISSUE ask user if closing is OK when instances are still running
Diffstat (limited to 'application/MultiMC.cpp')
-rw-r--r-- | application/MultiMC.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/application/MultiMC.cpp b/application/MultiMC.cpp index c6ac2b63..3c637077 100644 --- a/application/MultiMC.cpp +++ b/application/MultiMC.cpp @@ -1104,6 +1104,7 @@ void MultiMC::launch(InstancePtr instance, bool online, BaseProfilerFactory *pro connect(controller.get(), &LaunchController::succeeded, this, &MultiMC::controllerSucceeded); connect(controller.get(), &LaunchController::failed, this, &MultiMC::controllerFailed); controller->start(); + m_runningInstances ++; } else if (instance->isRunning()) { @@ -1118,6 +1119,7 @@ void MultiMC::controllerSucceeded() return; auto id = controller->id(); auto & extras = m_instanceExtras[id]; + // on success, do... if (controller->instance()->settings()->get("AutoCloseConsole").toBool()) { @@ -1127,8 +1129,10 @@ void MultiMC::controllerSucceeded() } } extras.controller.reset(); + m_runningInstances --; + // quit when there are no more windows. - if(m_openWindows == 0) + if(m_openWindows == 0 && m_runningInstances == 0) { m_status = Status::Succeeded; quit(); @@ -1146,8 +1150,10 @@ void MultiMC::controllerFailed(const QString& error) // on failure, do... nothing extras.controller.reset(); + m_runningInstances --; + // quit when there are no more windows. - if(m_openWindows == 0) + if(m_openWindows == 0 && m_runningInstances == 0) { m_status = Status::Failed; quit(); |