diff options
-rw-r--r-- | gtk2_ardour/route_params_ui.cc | 1 | ||||
-rw-r--r-- | gtk2_ardour/visibility_group.cc | 15 | ||||
-rw-r--r-- | gtk2_ardour/visibility_group.h | 2 |
3 files changed, 6 insertions, 12 deletions
diff --git a/gtk2_ardour/route_params_ui.cc b/gtk2_ardour/route_params_ui.cc index 1e19f1c7df..64e2cba24b 100644 --- a/gtk2_ardour/route_params_ui.cc +++ b/gtk2_ardour/route_params_ui.cc @@ -146,6 +146,7 @@ RouteParams_UI::RouteParams_UI () RouteParams_UI::~RouteParams_UI () { + delete track_menu; } void diff --git a/gtk2_ardour/visibility_group.cc b/gtk2_ardour/visibility_group.cc index 10d5f98b73..0090e39019 100644 --- a/gtk2_ardour/visibility_group.cc +++ b/gtk2_ardour/visibility_group.cc @@ -25,6 +25,7 @@ #include "pbd/strsplit.h" #include "pbd/xml++.h" +#include "ardour_ui.h" #include "visibility_group.h" #include "pbd/i18n.h" @@ -69,17 +70,9 @@ VisibilityGroup::button_press_event (GdkEventButton* ev) return false; } - /* memory leak: Gtk::Menu* */ - menu()->popup (1, ev->time); - return true; -} - -Gtk::Menu* -VisibilityGroup::menu () -{ using namespace Gtk::Menu_Helpers; - Gtk::Menu* m = Gtk::manage (new Gtk::Menu); + Gtk::Menu* m = ARDOUR_UI::instance()->shared_popup_menu (); MenuList& items = m->items (); for (vector<Member>::iterator i = _members.begin(); i != _members.end(); ++i) { @@ -89,9 +82,11 @@ VisibilityGroup::menu () j->signal_activate().connect (sigc::bind (sigc::mem_fun (*this, &VisibilityGroup::toggle), i)); } - return m; + m->popup (1, ev->time); + return true; } + /** @return true if the member should be visible, even taking into account any override functor */ bool VisibilityGroup::should_actually_be_visible (Member const & m) const diff --git a/gtk2_ardour/visibility_group.h b/gtk2_ardour/visibility_group.h index d95497d9ed..e8a554fe97 100644 --- a/gtk2_ardour/visibility_group.h +++ b/gtk2_ardour/visibility_group.h @@ -86,8 +86,6 @@ private: void update_list_view (); bool should_actually_be_visible (Member const &) const; - Gtk::Menu* menu (); - std::vector<Member> _members; std::string _xml_property_name; ModelColumns _model_columns; |