Changeset 1258

Show
Ignore:
Timestamp:
06/09/08 12:32:41 (3 months ago)
Author:
drobilla
Message:

Fix lingering breadcrumbs of destroyed subpatches (ticket #80).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • ingen/src/libs/gui/BreadCrumb.hpp

    r613 r1258  
    5555        } 
    5656 
    57         const Path&          path() const { return _path; } 
     57        const Path&          path() const { return _path; } 
    5858        SharedPtr<PatchView> view() const { return _view; } 
    5959         
  • ingen/src/libs/gui/BreadCrumbBox.cpp

    r613 r1258  
    1818#include "BreadCrumbBox.hpp" 
    1919#include "BreadCrumb.hpp" 
     20#include "App.hpp" 
     21#include "client/SigClientInterface.hpp" 
    2022namespace Ingen { 
    2123namespace GUI { 
     
    2325 
    2426BreadCrumbBox::BreadCrumbBox() 
    25 : Gtk::HBox() 
    26 , _active_path("/") 
    27 , _full_path("/") 
    28 , _enable_signal(true) 
    29 
     27        : Gtk::HBox() 
     28        , _active_path("/") 
     29        , _full_path("/") 
     30        , _enable_signal(true) 
     31
     32        App::instance().client()->signal_object_destroyed.connect( 
     33                        sigc::mem_fun(this, &BreadCrumbBox::object_destroyed)); 
    3034} 
    3135 
     
    176180 
    177181void 
    178 BreadCrumbBox::object_removed(const Path& path) 
     182BreadCrumbBox::object_destroyed(const Path& path) 
    179183{ 
    180184        for (std::list<BreadCrumb*>::iterator i = _breadcrumbs.begin(); i != _breadcrumbs.end(); ++i) { 
  • ingen/src/libs/gui/BreadCrumbBox.hpp

    r613 r1258  
    5656        void breadcrumb_clicked(BreadCrumb* crumb); 
    5757         
    58         void object_removed(const Path& path); 
     58        void object_destroyed(const Path& path); 
    5959        void object_renamed(const Path& old_path, const Path& new_path); 
    6060 
  • ingen/src/libs/gui/ControlGroups.cpp

    r1255 r1258  
    168168SliderControlGroup::set_value(const Atom& atom) 
    169169{ 
    170         cout << "CONTROL VALUE CHANGED" << endl; 
    171  
    172170        float val = atom.get_float(); 
    173171         
  • ingen/src/libs/gui/PatchWindow.cpp

    r990 r1258  
    4545 
    4646PatchWindow::PatchWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml>& xml) 
    47 : Gtk::Window(cobject), 
    48   _enable_signal(true), 
    49   _position_stored(false), 
    50   _x(0), 
    51   _y(0), 
    52  _breadcrumb_box(NULL) 
     47        : Gtk::Window(cobject) 
     48        , _enable_signal(true) 
     49        , _position_stored(false) 
     50        , _x(0) 
     51        , _y(0) 
     52       , _breadcrumb_box(NULL) 
    5353{ 
    5454        property_visible() = false; 
  • ingen/src/libs/gui/Port.cpp

    r1255 r1258  
    9595Port::value_changed(const Atom& value) 
    9696{ 
    97         cout << "PORT VALUE CHANGED" << endl; 
    98  
    9997        if (value.type() == Atom::FLOAT) 
    10098                FlowCanvas::Port::set_control(value.get_float());