diff options
author | David Robillard <d@drobilla.net> | 2007-10-02 20:56:42 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2007-10-02 20:56:42 +0000 |
commit | 008d216a99dc387c234de544bb10de32aa70d175 (patch) | |
tree | addafd66888098eb6a7a70a97a19729435e5f50e /src/libs/engine | |
parent | d130806ade2b9bb404e1267262ca4859c15c01a0 (diff) | |
download | ingen-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.cpp | 13 |
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(); |