fix a crash that may happen in some circumstances with funny rules
This commit is contained in:
parent
2b67bec375
commit
88849590dd
@ -246,7 +246,10 @@ StateEvaluator *RuleManager::parseStateEvaluator(const QVariantMap &stateEvaluat
|
|||||||
stateEvaluator->setStateDescriptor(sd);
|
stateEvaluator->setStateDescriptor(sd);
|
||||||
|
|
||||||
foreach (const QVariant &childEvaluatorVariant, stateEvaluatorMap.value("childEvaluators").toList()) {
|
foreach (const QVariant &childEvaluatorVariant, stateEvaluatorMap.value("childEvaluators").toList()) {
|
||||||
stateEvaluator->childEvaluators()->addStateEvaluator(parseStateEvaluator(childEvaluatorVariant.toMap()));
|
StateEvaluator *stateEvaluator = parseStateEvaluator(childEvaluatorVariant.toMap());
|
||||||
|
if (stateEvaluator) {
|
||||||
|
stateEvaluator->childEvaluators()->addStateEvaluator(stateEvaluator);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
operatorEnum = QMetaEnum::fromType<StateEvaluator::StateOperator>();
|
operatorEnum = QMetaEnum::fromType<StateEvaluator::StateOperator>();
|
||||||
stateEvaluator->setStateOperator((StateEvaluator::StateOperator)operatorEnum.keyToValue(stateEvaluatorMap.value("operator").toByteArray()));
|
stateEvaluator->setStateOperator((StateEvaluator::StateOperator)operatorEnum.keyToValue(stateEvaluatorMap.value("operator").toByteArray()));
|
||||||
|
|||||||
Reference in New Issue
Block a user