13
0

push2:small logic fix for destructor, mostly to ensure that the track_mix layout is destroyed

Otherwise it is still connected to the ControlProtocol::StripableSelectionChanged signal, even though the
event loop specified in the connection has been destroyed.
This commit is contained in:
Paul Davis 2016-09-30 11:07:05 -05:00
parent 07acc1dfa6
commit 7701207123

View File

@ -133,9 +133,14 @@ Push2::Push2 (ARDOUR::Session& s)
Push2::~Push2 ()
{
selection_connection.disconnect ();
DEBUG_TRACE (DEBUG::Push2, "push2 control surface object being destroyed\n");
stop_event_loop (); /* this will call stop_using_device () in Quit request handler */
/* do this before stopping the event loop, so that we don't get any notifications */
selection_connection.disconnect ();
port_reg_connection.disconnect ();
port_connection.disconnect ();
stop_using_device ();
device_release ();
ports_release ();
@ -150,8 +155,13 @@ Push2::~Push2 ()
scale_layout = 0;
delete splash_layout;
splash_layout = 0;
delete track_mix_layout;
track_mix_layout = 0;
stop_event_loop ();
}
void
Push2::run_event_loop ()
{