From f3f80900f14ae8f8d577f3eb098b5064d4aa0859 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Thu, 11 Sep 2014 19:29:55 +0200 Subject: fix crash at session close/exit if a midi-control-surface is used The "real" problem was that MidiControlUI is destroyed while there are still MIDIControllables around that still have a signal connection to a Controllable: controllable->Destroyed(..., MidiControlUI::instance()) If a Contrallable is deleted after the MidiControlUI event loop is gone, the Destroyed() signal can create odd situations... --- libs/ardour/session_midi.cc | 1 + 1 file changed, 1 insertion(+) (limited to 'libs/ardour/session_midi.cc') diff --git a/libs/ardour/session_midi.cc b/libs/ardour/session_midi.cc index 639ea399d3..47c7bd4c40 100644 --- a/libs/ardour/session_midi.cc +++ b/libs/ardour/session_midi.cc @@ -597,6 +597,7 @@ Session::send_song_position_pointer (framepos_t) int Session::start_midi_thread () { + if (midi_control_ui) { return 0; } midi_control_ui = new MidiControlUI (*this); midi_control_ui->run (); return 0; -- cgit v1.2.3