mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-06 14:54:56 +01:00
Plugin another menu memory leak.
This commit is contained in:
parent
4d95a4e205
commit
e5d48a8544
2 changed files with 13 additions and 3 deletions
|
|
@ -44,6 +44,7 @@ using std::string;
|
||||||
ControlSlaveUI::ControlSlaveUI (Session* s)
|
ControlSlaveUI::ControlSlaveUI (Session* s)
|
||||||
: SessionHandlePtr (s)
|
: SessionHandlePtr (s)
|
||||||
, initial_button (ArdourButton::default_elements)
|
, initial_button (ArdourButton::default_elements)
|
||||||
|
, context_menu (0)
|
||||||
{
|
{
|
||||||
set_no_show_all (true);
|
set_no_show_all (true);
|
||||||
|
|
||||||
|
|
@ -59,6 +60,11 @@ ControlSlaveUI::ControlSlaveUI (Session* s)
|
||||||
pack_start (initial_button, true, true);
|
pack_start (initial_button, true, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ControlSlaveUI::~ControlSlaveUI ()
|
||||||
|
{
|
||||||
|
delete context_menu;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ControlSlaveUI::set_stripable (boost::shared_ptr<Stripable> s)
|
ControlSlaveUI::set_stripable (boost::shared_ptr<Stripable> s)
|
||||||
{
|
{
|
||||||
|
|
@ -177,8 +183,9 @@ ControlSlaveUI::vca_button_release (GdkEventButton* ev, uint32_t n)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Menu* menu = new Menu;
|
delete context_menu;
|
||||||
MenuList& items = menu->items();
|
context_menu = new Menu;
|
||||||
|
MenuList& items = context_menu->items();
|
||||||
bool slaved = false;
|
bool slaved = false;
|
||||||
|
|
||||||
for (VCAList::iterator v = vcas.begin(); v != vcas.end(); ++v) {
|
for (VCAList::iterator v = vcas.begin(); v != vcas.end(); ++v) {
|
||||||
|
|
@ -212,7 +219,7 @@ ControlSlaveUI::vca_button_release (GdkEventButton* ev, uint32_t n)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!items.empty()) {
|
if (!items.empty()) {
|
||||||
menu->popup (1, ev->time);
|
context_menu->popup (1, ev->time);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ class ControlSlaveUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
ControlSlaveUI (ARDOUR::Session*);
|
ControlSlaveUI (ARDOUR::Session*);
|
||||||
|
~ControlSlaveUI ();
|
||||||
void set_stripable (boost::shared_ptr<ARDOUR::Stripable>);
|
void set_stripable (boost::shared_ptr<ARDOUR::Stripable>);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
@ -59,6 +60,8 @@ class ControlSlaveUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
|
||||||
bool vca_button_release (GdkEventButton* ev, uint32_t n);
|
bool vca_button_release (GdkEventButton* ev, uint32_t n);
|
||||||
void add_vca_button (boost::shared_ptr<ARDOUR::VCA>);
|
void add_vca_button (boost::shared_ptr<ARDOUR::VCA>);
|
||||||
void unassign_all ();
|
void unassign_all ();
|
||||||
|
|
||||||
|
Gtk::Menu* context_menu;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* __gtk2_ardour_control_slave_ui_h__ */
|
#endif /* __gtk2_ardour_control_slave_ui_h__ */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue