summaryrefslogtreecommitdiffstats
path: root/src/server/events/CreateBlock.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-02-12 15:04:20 +0100
committerDavid Robillard <d@drobilla.net>2017-02-12 15:31:47 +0100
commitb1198f0842e6e4d6b1c01f07d91b42ef4a212788 (patch)
tree93fdf4da89a6f5f634707fb8c989e0d9ee1a3c65 /src/server/events/CreateBlock.cpp
parent81d45973412c675e3c0b4a10b64d811a219feeae (diff)
downloadingen-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/CreateBlock.cpp')
-rw-r--r--src/server/events/CreateBlock.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/server/events/CreateBlock.cpp b/src/server/events/CreateBlock.cpp
index a43a8bf0..255746b1 100644
--- a/src/server/events/CreateBlock.cpp
+++ b/src/server/events/CreateBlock.cpp
@@ -46,12 +46,10 @@ CreateBlock::CreateBlock(Engine& engine,
, _properties(properties)
, _graph(NULL)
, _block(NULL)
- , _compiled_graph(NULL)
{}
CreateBlock::~CreateBlock()
{
- delete _compiled_graph;
}
bool
@@ -150,9 +148,7 @@ CreateBlock::pre_process(PreProcessContext& ctx)
/* Compile graph with new block added for insertion in audio thread
TODO: Since the block is not connected at this point, a full compilation
could be avoided and the block simply appended. */
- if (ctx.must_compile(_graph)) {
- _compiled_graph = CompiledGraph::compile(_graph);
- }
+ _compiled_graph = ctx.maybe_compile(*_engine.maid(), *_graph);
_update.put_block(_block);
@@ -163,7 +159,7 @@ void
CreateBlock::execute(RunContext& context)
{
if (_status == Status::SUCCESS && _compiled_graph) {
- _compiled_graph = _graph->swap_compiled_graph(_compiled_graph);
+ _graph->set_compiled_graph(std::move(_compiled_graph));
}
}