diff options
author | David Robillard <d@drobilla.net> | 2008-06-09 19:32:41 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2008-06-09 19:32:41 +0000 |
commit | df38131db2c4eb5c83655d848a9776faa79331ca (patch) | |
tree | 445302b7cb0c8860b95e9d5187873ee17be5415f /src/libs/gui/BreadCrumbBox.cpp | |
parent | 0a1c93d22fd879075e02aebe702224446e8ffbdd (diff) | |
download | ingen-df38131db2c4eb5c83655d848a9776faa79331ca.tar.gz ingen-df38131db2c4eb5c83655d848a9776faa79331ca.tar.bz2 ingen-df38131db2c4eb5c83655d848a9776faa79331ca.zip |
Fix lingering breadcrumbs of destroyed subpatches (ticket #80).
git-svn-id: http://svn.drobilla.net/lad/ingen@1258 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/libs/gui/BreadCrumbBox.cpp')
-rw-r--r-- | src/libs/gui/BreadCrumbBox.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/libs/gui/BreadCrumbBox.cpp b/src/libs/gui/BreadCrumbBox.cpp index d8ff4519..7edaed9f 100644 --- a/src/libs/gui/BreadCrumbBox.cpp +++ b/src/libs/gui/BreadCrumbBox.cpp @@ -17,16 +17,20 @@ #include "BreadCrumbBox.hpp" #include "BreadCrumb.hpp" +#include "App.hpp" +#include "client/SigClientInterface.hpp" namespace Ingen { namespace GUI { BreadCrumbBox::BreadCrumbBox() -: Gtk::HBox() -, _active_path("/") -, _full_path("/") -, _enable_signal(true) + : Gtk::HBox() + , _active_path("/") + , _full_path("/") + , _enable_signal(true) { + App::instance().client()->signal_object_destroyed.connect( + sigc::mem_fun(this, &BreadCrumbBox::object_destroyed)); } @@ -175,7 +179,7 @@ BreadCrumbBox::breadcrumb_clicked(BreadCrumb* crumb) void -BreadCrumbBox::object_removed(const Path& path) +BreadCrumbBox::object_destroyed(const Path& path) { for (std::list<BreadCrumb*>::iterator i = _breadcrumbs.begin(); i != _breadcrumbs.end(); ++i) { if ((*i)->path() == path) { |