summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-03-08 01:44:30 +0100
committerRobin Gareus <robin@gareus.org>2019-03-08 01:44:51 +0100
commitd42c0f2d60bece1ad7e1fad9990c5a83c9b369ac (patch)
treebeaf84b529a6041d3340bbc32bdd9a435b6b3e89 /gtk2_ardour
parent15cd1163fcfa8d314ae1ee10e72c4298655fa2a8 (diff)
Fix some more Gtk::Menu memory leaks
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/route_params_ui.cc1
-rw-r--r--gtk2_ardour/visibility_group.cc15
-rw-r--r--gtk2_ardour/visibility_group.h2
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;