summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/prelaunchprocessbackendfactory.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/prelaunchprocessbackendfactory.cpp b/src/core/prelaunchprocessbackendfactory.cpp
index f7eb263..91d1505 100644
--- a/src/core/prelaunchprocessbackendfactory.cpp
+++ b/src/core/prelaunchprocessbackendfactory.cpp
@@ -174,7 +174,12 @@ void PrelaunchProcessBackendFactory::setPrelaunchEnabled(bool value)
m_prelaunchEnabled = value;
if (!m_prelaunchEnabled) {
m_timer.stop();
+ if (m_prelaunch) {
+ m_prelaunch->deleteLater();
+ m_prelaunch = NULL;
+ }
} else {
+ Q_ASSERT(m_prelaunch == NULL);
startPrelaunchTimer();
}
emit prelaunchEnabledChanged();
@@ -296,6 +301,10 @@ void PrelaunchProcessBackendFactory::setProcessInfo(ProcessInfo *processInfo)
if (processInfo) {
m_info = new ProcessInfo(*processInfo);
m_info->setParent(this);
+ if (m_prelaunch) {
+ m_prelaunch->deleteLater();
+ m_prelaunch = NULL;
+ }
startPrelaunchTimer();
} else {
m_timer.stop();