diff options
Diffstat (limited to 'src/core/prelaunchprocessbackendfactory.cpp')
-rw-r--r-- | src/core/prelaunchprocessbackendfactory.cpp | 9 |
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(); |