diff options
Diffstat (limited to 'api/logic/InstanceList.cpp')
-rw-r--r-- | api/logic/InstanceList.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/api/logic/InstanceList.cpp b/api/logic/InstanceList.cpp index a3f2e487..993ae92d 100644 --- a/api/logic/InstanceList.cpp +++ b/api/logic/InstanceList.cpp @@ -718,7 +718,7 @@ public: // FIXME/TODO: add ability to abort during instance commit retries bool abort() override { - if(m_child) + if(m_child && m_child->canAbort()) { return m_child->abort(); } @@ -726,9 +726,9 @@ public: } bool canAbort() const override { - if(m_child) + if(m_child && m_child->canAbort()) { - return m_child->canAbort(); + return true; } return false; } @@ -746,7 +746,6 @@ protected: private slots: void childSucceded() { - m_child.reset(); unsigned sleepTime = backoff(); if(m_parent->commitStagedInstance(m_stagingPath, m_instanceName, m_groupName)) { @@ -764,7 +763,6 @@ private slots: } void childFailed(const QString & reason) { - m_child.reset(); m_parent->destroyStagingPath(m_stagingPath); emitFailed(reason); } |