ConfigItem#Commit(): consume Internal.modified_attributes

refs #5235
This commit is contained in:
Alexander A. Klimov 2020-08-06 17:56:53 +02:00
parent 22640444dd
commit deda50fefe

View File

@ -191,6 +191,20 @@ ConfigObject::Ptr ConfigItem::Commit(bool discard)
m_Scope->CopyTo(frame.Locals);
try {
m_Expression->Evaluate(frame, &debugHints);
Dictionary::Ptr allMods (Namespace::Ptr(ScriptGlobal::Get("Internal"))->Get("modified_attributes"));
Dictionary::Ptr typeMods (allMods->Get(type->GetName()));
if (typeMods) {
Function::Ptr objMods (typeMods->Get(m_Name));
if (objMods) {
objMods->Invoke({dobj});
ObjectLock oLock(typeMods);
typeMods->Remove(m_Name);
}
}
} catch (const std::exception& ex) {
if (m_IgnoreOnError) {
Log(LogNotice, "ConfigObject")