summaryrefslogtreecommitdiffstats
path: root/src/libs/engine
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2007-10-02 20:56:42 +0000
committerDavid Robillard <d@drobilla.net>2007-10-02 20:56:42 +0000
commit008d216a99dc387c234de544bb10de32aa70d175 (patch)
treeaddafd66888098eb6a7a70a97a19729435e5f50e /src/libs/engine
parentd130806ade2b9bb404e1267262ca4859c15c01a0 (diff)
downloadingen-008d216a99dc387c234de544bb10de32aa70d175.tar.gz
ingen-008d216a99dc387c234de544bb10de32aa70d175.tar.bz2
ingen-008d216a99dc387c234de544bb10de32aa70d175.zip
Graceful shutdown on Ctrl+C (hopefully?).
git-svn-id: http://svn.drobilla.net/lad/ingen@802 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/engine')
-rw-r--r--src/libs/engine/Engine.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/libs/engine/Engine.cpp b/src/libs/engine/Engine.cpp
index afbd8db1..382e2b8d 100644
--- a/src/libs/engine/Engine.cpp
+++ b/src/libs/engine/Engine.cpp
@@ -81,20 +81,16 @@ Engine::~Engine()
if ( ! i->second->parent())
delete i->second;
}
-
- _event_source.reset();
- _audio_driver.reset();
-
+
delete _object_store;
delete _broadcaster;
delete _node_factory;
- delete _midi_driver;
delete _osc_driver;
delete _post_processor;
//delete _lash_driver;
delete _maid;
-
+
munlockall();
}
@@ -256,8 +252,11 @@ Engine::deactivate()
if ((*i)->as_node() != NULL && (*i)->as_node()->parent() == NULL)
(*i)->as_node()->deactivate();*/
- if (_midi_driver != NULL)
+ if (_midi_driver != NULL) {
_midi_driver->deactivate();
+ delete _midi_driver;
+ _midi_driver = NULL;
+ }
_audio_driver->deactivate();