summaryrefslogtreecommitdiffstats
path: root/src/engine/ingen_engine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/ingen_engine.cpp')
-rw-r--r--src/engine/ingen_engine.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/engine/ingen_engine.cpp b/src/engine/ingen_engine.cpp
index b2f626c7..d25bcf46 100644
--- a/src/engine/ingen_engine.cpp
+++ b/src/engine/ingen_engine.cpp
@@ -25,13 +25,15 @@
using namespace Ingen;
struct IngenEngineModule : public Ingen::Shared::Module {
- void load(Ingen::Shared::World* world) {
+ virtual void load(Ingen::Shared::World* world) {
set_denormal_flags();
- world->local_engine = SharedPtr<Engine>(new Engine(world));
+ SharedPtr<Engine> engine(new Ingen::Engine(world));
+ world->set_local_engine(engine);
SharedPtr<QueuedEngineInterface> interface(
- new Ingen::QueuedEngineInterface(*world->local_engine, event_queue_size));
- world->engine = interface;
- world->local_engine->add_event_source(interface);
+ new Ingen::QueuedEngineInterface(*engine.get(), event_queue_size));
+ world->set_engine(interface);
+ engine->add_event_source(interface);
+ assert(world->local_engine() == engine);
}
};