summaryrefslogtreecommitdiffstats
path: root/src/server/events/Delta.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/events/Delta.cpp')
-rw-r--r--src/server/events/Delta.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/server/events/Delta.cpp b/src/server/events/Delta.cpp
index 6c935ce2..1c823cdd 100644
--- a/src/server/events/Delta.cpp
+++ b/src/server/events/Delta.cpp
@@ -166,9 +166,12 @@ Delta::pre_process()
SpecialType op = NONE;
if (obj) {
Resource& resource = *obj;
- resource.add_property(key, value, value.context());
+ if (value != uris.wildcard) {
+ resource.add_property(key, value, value.context());
+ }
- PortImpl* port = dynamic_cast<PortImpl*>(_object);
+ BlockImpl* block = NULL;
+ PortImpl* port = dynamic_cast<PortImpl*>(_object);
if (port) {
if (key == uris.ingen_broadcast) {
if (value.type() == uris.forge.Bool) {
@@ -194,6 +197,10 @@ Delta::pre_process()
_status = BAD_OBJECT_TYPE;
}
}
+ } else if ((block = dynamic_cast<BlockImpl*>(_object))) {
+ if (key == uris.ingen_controlBinding && value == uris.wildcard) {
+ op = CONTROL_BINDING; // Internal block learn
+ }
} else if ((_graph = dynamic_cast<GraphImpl*>(_object))) {
if (key == uris.ingen_enabled) {
if (value.type() == uris.forge.Bool) {