summaryrefslogtreecommitdiffstats
path: root/src/server/ObjectSender.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/ObjectSender.cpp')
-rw-r--r--src/server/ObjectSender.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/server/ObjectSender.cpp b/src/server/ObjectSender.cpp
index 22aff285..a166a885 100644
--- a/src/server/ObjectSender.cpp
+++ b/src/server/ObjectSender.cpp
@@ -134,11 +134,15 @@ ObjectSender::send_port(ClientInterface* client, const PortImpl* port, bool bund
if (bundle)
client->bundle_begin();
- client->put(port->path(), port->properties());
-
- // Send control value
- if (port->is_a(PortType::CONTROL))
- client->set_property(port->path(), port->bufs().uris().ingen_value, port->value());
+ if (port->is_a(PortType::CONTROL)) {
+ Resource::Properties props = port->properties();
+ props.erase(port->bufs().uris().ingen_value);
+ props.insert(make_pair(port->bufs().uris().ingen_value,
+ port->value()));
+ client->put(port->path(), props);
+ } else {
+ client->put(port->path(), port->properties());
+ }
if (bundle)
client->bundle_end();