fix a crash that may happen in some circumstances with funny rules

This commit is contained in:
Michael Zanetti 2018-07-16 22:49:14 +02:00
parent 2b67bec375
commit 88849590dd

View File

@ -246,7 +246,10 @@ StateEvaluator *RuleManager::parseStateEvaluator(const QVariantMap &stateEvaluat
stateEvaluator->setStateDescriptor(sd);
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>();
stateEvaluator->setStateOperator((StateEvaluator::StateOperator)operatorEnum.keyToValue(stateEvaluatorMap.value("operator").toByteArray()));