From 9a34d15b3c4273f4e0a301f9e5c9d9fc5f4e1b77 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 30 Sep 2022 01:58:24 +0200 Subject: [PATCH] Fix crash when disabling generic MIDI surface The event-loop has to be stopped before unregistering ports and deleting the instance. --- libs/surfaces/generic_midi/generic_midi_control_protocol.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc index 3808b8c7f7..cf179cb86c 100644 --- a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc +++ b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc @@ -146,6 +146,8 @@ GenericMidiControlProtocol::GenericMidiControlProtocol (Session& s) GenericMidiControlProtocol::~GenericMidiControlProtocol () { + set_active (false); + if (_input_port) { DEBUG_TRACE (DEBUG::GenericMidi, string_compose ("unregistering input port %1\n", boost::shared_ptr(_input_port)->name())); Glib::Threads::Mutex::Lock em (AudioEngine::instance()->process_lock());