summaryrefslogtreecommitdiff
path: root/ambd/core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ambd/core.cpp')
-rw-r--r--ambd/core.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/ambd/core.cpp b/ambd/core.cpp
index 9911cc10..277ba5a6 100644
--- a/ambd/core.cpp
+++ b/ambd/core.cpp
@@ -157,11 +157,29 @@ void Core::updateProperty(AbstractPropertyType *value, const string & uuid)
if(value->priority == AbstractPropertyType::Instant)
updateProperty(value);
else if(value->priority == AbstractPropertyType::High)
+ {
+ value->destroyed.push_back([this](AbstractPropertyType* v)
+ {
+ updatePropertyQueueHigh.remove(v);
+ });
updatePropertyQueueHigh.append(value);
+ }
else if(value->priority == AbstractPropertyType::Normal)
+ {
+ value->destroyed.push_back([this](AbstractPropertyType* v)
+ {
+ updatePropertyQueue.remove(v);
+ });
updatePropertyQueue.append(value);
+ }
else if(value->priority == AbstractPropertyType::Low)
+ {
+ value->destroyed.push_back([this](AbstractPropertyType* v)
+ {
+ updatePropertyQueueLow.remove(v);
+ });
updatePropertyQueueLow.append(value);
+ }
}
void Core::updateProperty(AbstractPropertyType * value)