summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--src/libs/engine/Engine.cpp13
-rw-r--r--src/libs/gui/Connection.hpp6
2 files changed, 9 insertions, 10 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();
diff --git a/src/libs/gui/Connection.hpp b/src/libs/gui/Connection.hpp
index b6ad070c..f6072068 100644
--- a/src/libs/gui/Connection.hpp
+++ b/src/libs/gui/Connection.hpp
@@ -36,11 +36,11 @@ namespace GUI {
class Connection : public FlowCanvas::Connection
{
public:
- Connection(boost::shared_ptr<FlowCanvas::Canvas> canvas,
- boost::shared_ptr<ConnectionModel> model,
+ Connection(boost::shared_ptr<FlowCanvas::Canvas> canvas,
+ boost::shared_ptr<ConnectionModel> model,
boost::shared_ptr<FlowCanvas::Connectable> src,
boost::shared_ptr<FlowCanvas::Connectable> dst,
- uint32_t color)
+ uint32_t color)
: FlowCanvas::Connection(canvas, src, dst, color)
, _connection_model(model)
{}