diff options
author | David Robillard <d@drobilla.net> | 2006-06-12 04:48:20 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2006-06-12 04:48:20 +0000 |
commit | efee2b08f575e2c216cffa6f08a928223ab2cedb (patch) | |
tree | 089fdf9bc89aa04793b03cbfccb438a7a9c9f387 /src/progs/gtk/ControlPanel.cpp | |
parent | 5818a04533e472820f6c6748b2f07d7d1ca5789a (diff) | |
download | ingen-efee2b08f575e2c216cffa6f08a928223ab2cedb.tar.gz ingen-efee2b08f575e2c216cffa6f08a928223ab2cedb.tar.bz2 ingen-efee2b08f575e2c216cffa6f08a928223ab2cedb.zip |
Store memory bug fixes (multiple ref ptr's to the same object, bad),
control panel fixes
git-svn-id: http://svn.drobilla.net/lad/grauph@32 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/progs/gtk/ControlPanel.cpp')
-rw-r--r-- | src/progs/gtk/ControlPanel.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/progs/gtk/ControlPanel.cpp b/src/progs/gtk/ControlPanel.cpp index 73520596..9f3279ee 100644 --- a/src/progs/gtk/ControlPanel.cpp +++ b/src/progs/gtk/ControlPanel.cpp @@ -56,7 +56,7 @@ ControlPanel::init(NodeController* node, size_t poly) assert(node != NULL); assert(poly > 0); - const CountedPtr<NodeModel> node_model = node->node_model(); + const CountedPtr<NodeModel> node_model(node->node_model()); if (poly > 1) { m_voice_spinbutton->set_range(0, poly - 1); @@ -66,9 +66,14 @@ ControlPanel::init(NodeController* node, size_t poly) for (PortModelList::const_iterator i = node_model->ports().begin(); i != node_model->ports().end(); ++i) { - PortController* pc = (PortController*)(*i)->controller(); - assert(pc != NULL); - add_port(pc); + // FIXME: + if (*i) { + PortController* pc = (PortController*)((*i)->controller()); + assert(pc != NULL); + add_port(pc); + } else { + cerr << "WTF?\n"; + } } m_callback_enabled = true; |