summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2014-02-02 19:18:14 +0000
committerDavid Robillard <d@drobilla.net>2014-02-02 19:18:14 +0000
commitedc21257bcaaae3828a4274b680791aa55d66027 (patch)
tree91577384d94bad48b10ff48a075c89aa28e2cf2e /src
parent9de25ab8525edac98187221815fa2867687b26f0 (diff)
downloadingen-edc21257bcaaae3828a4274b680791aa55d66027.tar.gz
ingen-edc21257bcaaae3828a4274b680791aa55d66027.tar.bz2
ingen-edc21257bcaaae3828a4274b680791aa55d66027.zip
Don't cut feedback for put events, fixing initial placement of subgraph modules.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@5334 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src')
-rw-r--r--src/server/events/Delta.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/server/events/Delta.cpp b/src/server/events/Delta.cpp
index 065743dd..c3d4e458 100644
--- a/src/server/events/Delta.cpp
+++ b/src/server/events/Delta.cpp
@@ -381,13 +381,17 @@ Delta::post_process()
_create_event->post_process();
} else {
respond();
- _engine.broadcaster()->set_ignore_client(_request_client);
switch (_type) {
case Type::SET:
+ /* Kludge to avoid feedback for set events only. The GUI
+ depends on put responses to e.g. initially place blocks.
+ Some more sensible way of controlling this is needed. */
+ _engine.broadcaster()->set_ignore_client(_request_client);
_engine.broadcaster()->set_property(
_subject,
(*_properties.begin()).first,
(*_properties.begin()).second);
+ _engine.broadcaster()->clear_ignore_client();
break;
case Type::PUT:
_engine.broadcaster()->put(_subject, _properties, _context);
@@ -396,7 +400,6 @@ Delta::post_process()
_engine.broadcaster()->delta(_subject, _remove, _properties);
break;
}
- _engine.broadcaster()->clear_ignore_client();
}
} else {
respond();