BaseProc::getConnectedCalcParent

BaseProc::setConnectedCalcParent
This commit is contained in:
notyouraveragehooman
2020-08-21 14:18:47 -07:00
committed by Léo Lam
parent fc306aa5f0
commit ff99d77635
4 changed files with 31 additions and 8 deletions
+25 -1
View File
@@ -66,7 +66,7 @@ bool BaseProc::deleteLater(DeleteReason reason) {
}
}
if (!BaseProcMgr::instance()->addToUpdateStateList(*this))
if (!BaseProcMgr::instance()->addToUpdateStateList(*this, StateFlags::RequestDelete))
onDeleteRequested_(reason);
if (!is_high_prio)
@@ -425,4 +425,28 @@ bool BaseProc::x00000071011ba9fc() {
return true;
}
BaseProc* BaseProc::getConnectedCalcParent() const {
if (mConnectedCalcParent == nullptr || mConnectedCalcParent->mState == State::Delete)
return nullptr;
return mConnectedCalcParent;
}
bool BaseProc::setConnectedCalcParent(BaseProc* parent, bool delete_parent_on_delete) {
if (parent == nullptr)
return false;
if (isDeletedOrDeleting() || parent->isDeletedOrDeleting())
return false;
if (BaseProcMgr::instance()->addToUpdateStateList(*this, StateFlags::RequestSetParent))
return false;
mConnectedCalcParentNew = parent;
mFlags.change(Flags::DeleteParentOnDelete, delete_parent_on_delete);
return true;
}
} // namespace ksys::act