ksys/act: Fix BaseProc::isSpecialJobType_ return type

BaseProc::isSpecialJobType_ returns 0, 1 or 2

This fixes the matching issue!
This commit is contained in:
Léo Lam 2020-08-19 18:15:36 +02:00
parent 08687964b4
commit 5de91ef5fd
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
2 changed files with 12 additions and 4 deletions

View File

@ -156,9 +156,11 @@ void BaseProc::preDelete2_(bool*) {}
void BaseProc::preDelete1_() {}
// NON_MATCHING: branching
bool BaseProc::isSpecialJobType_(JobType type) {
return BaseProcMgr::instance()->isSpecialJobType(type) || isSpecialJobTypeForThisActor_(type);
BaseProc::IsSpecialJobTypeResult BaseProc::isSpecialJobType_(JobType type) {
if (BaseProcMgr::instance()->isSpecialJobType(type) || isSpecialJobTypeForThisActor_(type))
return IsSpecialJobTypeResult::Yes;
return IsSpecialJobTypeResult::No;
}
bool BaseProc::canWakeUp_() {

View File

@ -185,6 +185,12 @@ protected:
Done = 1,
};
enum class IsSpecialJobTypeResult {
No = 0,
Yes = 1,
_2 = 2,
};
struct InitContext {
InitResult result;
bool sleep_after_init;
@ -241,7 +247,7 @@ protected:
/// Called to actually pre-delete (first callback).
virtual void preDelete1_();
virtual bool isSpecialJobType_(JobType type);
virtual IsSpecialJobTypeResult isSpecialJobType_(JobType type);
virtual bool canWakeUp_();
virtual void queueExtraJobPush_(JobType type);
virtual bool hasJobType_(JobType type);