summaryrefslogtreecommitdiff
path: root/gtk2_ardour/transport_masters_dialog.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-03-07 16:40:16 +0100
committerRobin Gareus <robin@gareus.org>2019-03-07 23:50:32 +0100
commit3bc9281c312ec237b6365c023c5ef060f5788a6b (patch)
tree12969680c5f11c2216bc3746f701c6906f8a2b21 /gtk2_ardour/transport_masters_dialog.cc
parent204d7bf76ccccadea68a7bd3c8797b451a5c2971 (diff)
Fix some Gtk::Menu related memory leaks
A Gtk::manage()d widget will be deleted when its parent container is destroyed. Top-level context menus are not inside a container and hence need to be manually deallocated. This adds explicit delete calls for menus where there is a member variable reference to the Menu.
Diffstat (limited to 'gtk2_ardour/transport_masters_dialog.cc')
-rw-r--r--gtk2_ardour/transport_masters_dialog.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/gtk2_ardour/transport_masters_dialog.cc b/gtk2_ardour/transport_masters_dialog.cc
index 7421671a01..8a5f9cf4ee 100644
--- a/gtk2_ardour/transport_masters_dialog.cc
+++ b/gtk2_ardour/transport_masters_dialog.cc
@@ -256,6 +256,11 @@ TransportMastersWidget::Row::Row (TransportMastersWidget& p)
{
}
+TransportMastersWidget::Row::~Row ()
+{
+ delete request_option_menu;
+}
+
bool
TransportMastersWidget::Row::name_press (GdkEventButton* ev)
{
@@ -367,7 +372,7 @@ TransportMastersWidget::Row::build_request_options ()
{
using namespace Gtk::Menu_Helpers;
- request_option_menu = manage (new Menu);
+ request_option_menu = new Menu;
MenuList& items (request_option_menu->items());