summaryrefslogtreecommitdiffstats
path: root/src/libs/gui/BreadCrumbBox.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2008-06-09 19:32:41 +0000
committerDavid Robillard <d@drobilla.net>2008-06-09 19:32:41 +0000
commitdf38131db2c4eb5c83655d848a9776faa79331ca (patch)
tree445302b7cb0c8860b95e9d5187873ee17be5415f /src/libs/gui/BreadCrumbBox.cpp
parent0a1c93d22fd879075e02aebe702224446e8ffbdd (diff)
downloadingen-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.cpp14
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) {