diff options
author | Robin Gareus <robin@gareus.org> | 2019-03-07 16:40:16 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-03-07 23:50:32 +0100 |
commit | 3bc9281c312ec237b6365c023c5ef060f5788a6b (patch) | |
tree | 12969680c5f11c2216bc3746f701c6906f8a2b21 /gtk2_ardour/transport_masters_dialog.cc | |
parent | 204d7bf76ccccadea68a7bd3c8797b451a5c2971 (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.cc | 7 |
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()); |