diff options
Diffstat (limited to 'libs/ardour/midi_ui.cc')
-rw-r--r-- | libs/ardour/midi_ui.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/midi_ui.cc b/libs/ardour/midi_ui.cc index 38f856b5a2..70be1f345d 100644 --- a/libs/ardour/midi_ui.cc +++ b/libs/ardour/midi_ui.cc @@ -39,6 +39,7 @@ using namespace Glib; #include "i18n.h" BaseUI::RequestType MidiControlUI::PortChange = BaseUI::new_request_type(); +MidiControlUI* MidiControlUI::_instance = 0; #include "pbd/abstract_ui.cc" /* instantiate the template */ @@ -46,12 +47,14 @@ MidiControlUI::MidiControlUI (Session& s) : AbstractUI<MidiUIRequest> (_("midiui")) , _session (s) { - MIDI::Manager::instance()->PortsChanged.connect (rebind_connection, boost::bind (&MidiControlUI::change_midi_ports, this)); + MIDI::Manager::instance()->PortsChanged.connect_same_thread (rebind_connection, boost::bind (&MidiControlUI::change_midi_ports, this)); + _instance = this; } MidiControlUI::~MidiControlUI () { clear_ports (); + _instance = 0; } void |