From 3bf7c4ef49f4c271512f3d3eeb4b83df76f78649 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 21 Jul 2016 13:42:11 -0400 Subject: do not delete MIDIControllable* when dealing with pending MIDI Control requests - the MIDIControllable belongs to the surface code in controllables --- libs/surfaces/generic_midi/generic_midi_control_protocol.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc index a116c4f2a1..627ad8d66e 100644 --- a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc +++ b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc @@ -330,7 +330,6 @@ GenericMidiControlProtocol::start_learning (Controllable* c) ++ptmp; if (((*i)->first)->get_controllable() == c) { (*i)->second.disconnect(); - delete (*i)->first; delete *i; pending_controllables.erase (i); } @@ -349,6 +348,7 @@ GenericMidiControlProtocol::start_learning (Controllable* c) if (!mc) { mc = new MIDIControllable (this, *_input_port->parser(), *c, false); + controllables.push_back (mc); } { -- cgit v1.2.3