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.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/server/events/Delta.cpp b/src/server/events/Delta.cpp
index 33611b7a..911ace66 100644
--- a/src/server/events/Delta.cpp
+++ b/src/server/events/Delta.cpp
@@ -72,7 +72,7 @@ Delta::Delta(Engine& engine,
, _object(nullptr)
, _graph(nullptr)
, _binding(nullptr)
- , _state(nullptr)
+ , _state()
, _context(msg.ctx)
, _type(Type::PUT)
, _block(false)
@@ -390,8 +390,9 @@ Delta::pre_process(PreProcessContext& ctx)
if (!uri.empty()) {
op = SpecialType::PRESET;
if ((_state = block->load_preset(uri))) {
- lilv_state_emit_port_values(
- _state, s_add_set_event, this);
+ lilv_state_emit_port_values(_state.get(),
+ s_add_set_event,
+ this);
} else {
_engine.log().warn("Failed to load preset <%1%>\n", uri);
}
@@ -597,10 +598,11 @@ Delta::post_process()
if (_state) {
auto* block = dynamic_cast<BlockImpl*>(_object);
if (block) {
- block->apply_state(_engine.sync_worker(), _state);
+ block->apply_state(_engine.sync_worker(), _state.get());
block->set_enabled(true);
}
- lilv_state_free(_state);
+
+ _state.reset();
}
Broadcaster::Transfer t(*_engine.broadcaster());