summaryrefslogtreecommitdiffstats
path: root/src/libs/gui
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
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')
-rw-r--r--src/libs/gui/BreadCrumb.hpp2
-rw-r--r--src/libs/gui/BreadCrumbBox.cpp14
-rw-r--r--src/libs/gui/BreadCrumbBox.hpp2
-rw-r--r--src/libs/gui/ControlGroups.cpp2
-rw-r--r--src/libs/gui/PatchWindow.cpp12
-rw-r--r--src/libs/gui/Port.cpp2
6 files changed, 17 insertions, 17 deletions
diff --git a/src/libs/gui/BreadCrumb.hpp b/src/libs/gui/BreadCrumb.hpp
index 7f4f9f89..194a1e8f 100644
--- a/src/libs/gui/BreadCrumb.hpp
+++ b/src/libs/gui/BreadCrumb.hpp
@@ -54,7 +54,7 @@ public:
_view = view;
}
- const Path& path() const { return _path; }
+ const Path& path() const { return _path; }
SharedPtr<PatchView> view() const { return _view; }
void set_path(const Path& path)
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) {
diff --git a/src/libs/gui/BreadCrumbBox.hpp b/src/libs/gui/BreadCrumbBox.hpp
index 5e90806b..b5650252 100644
--- a/src/libs/gui/BreadCrumbBox.hpp
+++ b/src/libs/gui/BreadCrumbBox.hpp
@@ -55,7 +55,7 @@ private:
void breadcrumb_clicked(BreadCrumb* crumb);
- void object_removed(const Path& path);
+ void object_destroyed(const Path& path);
void object_renamed(const Path& old_path, const Path& new_path);
Path _active_path;
diff --git a/src/libs/gui/ControlGroups.cpp b/src/libs/gui/ControlGroups.cpp
index dc585975..0803b5ba 100644
--- a/src/libs/gui/ControlGroups.cpp
+++ b/src/libs/gui/ControlGroups.cpp
@@ -167,8 +167,6 @@ SliderControlGroup::menu_properties()
void
SliderControlGroup::set_value(const Atom& atom)
{
- cout << "CONTROL VALUE CHANGED" << endl;
-
float val = atom.get_float();
if (_port_model->is_integer())
diff --git a/src/libs/gui/PatchWindow.cpp b/src/libs/gui/PatchWindow.cpp
index 55c1542c..84c60fc9 100644
--- a/src/libs/gui/PatchWindow.cpp
+++ b/src/libs/gui/PatchWindow.cpp
@@ -44,12 +44,12 @@ namespace GUI {
PatchWindow::PatchWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml)
-: Gtk::Window(cobject),
- _enable_signal(true),
- _position_stored(false),
- _x(0),
- _y(0),
- _breadcrumb_box(NULL)
+ : Gtk::Window(cobject)
+ , _enable_signal(true)
+ , _position_stored(false)
+ , _x(0)
+ , _y(0)
+ , _breadcrumb_box(NULL)
{
property_visible() = false;
diff --git a/src/libs/gui/Port.cpp b/src/libs/gui/Port.cpp
index 8768da8d..df0b779c 100644
--- a/src/libs/gui/Port.cpp
+++ b/src/libs/gui/Port.cpp
@@ -94,8 +94,6 @@ Port::renamed()
void
Port::value_changed(const Atom& value)
{
- cout << "PORT VALUE CHANGED" << endl;
-
if (value.type() == Atom::FLOAT)
FlowCanvas::Port::set_control(value.get_float());
else