diff options
author | David Robillard <d@drobilla.net> | 2017-02-12 15:04:20 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2017-02-12 15:31:47 +0100 |
commit | b1198f0842e6e4d6b1c01f07d91b42ef4a212788 (patch) | |
tree | 93fdf4da89a6f5f634707fb8c989e0d9ee1a3c65 /src/server/events/Copy.cpp | |
parent | 81d45973412c675e3c0b4a10b64d811a219feeae (diff) | |
download | ingen-b1198f0842e6e4d6b1c01f07d91b42ef4a212788.tar.gz ingen-b1198f0842e6e4d6b1c01f07d91b42ef4a212788.tar.bz2 ingen-b1198f0842e6e4d6b1c01f07d91b42ef4a212788.zip |
Use smart pointers to handle real-time memory disposal
Diffstat (limited to 'src/server/events/Copy.cpp')
-rw-r--r-- | src/server/events/Copy.cpp | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/src/server/events/Copy.cpp b/src/server/events/Copy.cpp index 4356e312..58c9a89c 100644 --- a/src/server/events/Copy.cpp +++ b/src/server/events/Copy.cpp @@ -45,7 +45,6 @@ Copy::Copy(Engine& engine, , _old_block(NULL) , _parent(NULL) , _block(NULL) - , _compiled_graph(NULL) {} bool @@ -126,9 +125,7 @@ Copy::engine_to_engine(PreProcessContext& ctx) _engine.store()->add(_block); // Compile graph with new block added for insertion in audio thread - if (ctx.must_compile(_parent)) { - _compiled_graph = CompiledGraph::compile(_parent); - } + _compiled_graph = ctx.maybe_compile(*_engine.maid(), *_parent); return Event::pre_process_done(Status::SUCCESS); } @@ -198,7 +195,7 @@ void Copy::execute(RunContext& context) { if (_block && _compiled_graph) { - _compiled_graph = _parent->swap_compiled_graph(_compiled_graph); + _parent->set_compiled_graph(std::move(_compiled_graph)); } } @@ -209,7 +206,6 @@ Copy::post_process() if (respond() == Status::SUCCESS) { _engine.broadcaster()->copy(_old_uri, _new_uri); } - delete _compiled_graph; } void |