From bce946fd0a645e42c91929494cf0c4b66b1e4cd9 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 7 Jul 2011 14:46:25 +0000 Subject: Obey "special" properties on object creation (patch from Paul Giblock, ticket #723) git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3416 a436a847-0d15-0410-975c-d299462d15a1 --- src/server/events/SetMetadata.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'src/server') diff --git a/src/server/events/SetMetadata.cpp b/src/server/events/SetMetadata.cpp index d9d44cc0..23109a2f 100644 --- a/src/server/events/SetMetadata.cpp +++ b/src/server/events/SetMetadata.cpp @@ -139,12 +139,13 @@ SetMetadata::pre_process() _create_event = new CreatePort(_engine, sub_request, _time, path, data_type.uri(), is_output, _properties); } - if (_create_event) + if (_create_event) { _create_event->pre_process(); - else + // Grab the object for applying properties, if the create-event succeeded + _object = _engine.engine_store()->find_object(Path(_subject.str())); + } else { _error = BAD_OBJECT_TYPE; - QueuedEvent::pre_process(); - return; + } } _types.reserve(_properties.size()); @@ -268,11 +269,7 @@ SetMetadata::execute(ProcessContext& context) } if (_create_event) { - QueuedEvent::execute(context); _create_event->execute(context); - if (_blocking) - _request->unblock(); - return; } for (SetEvents::iterator i = _set_events.begin(); i != _set_events.end(); ++i) -- cgit v1.2.1