do not delete MIDIControllable* when dealing with pending MIDI Control requests ...
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 21 Jul 2016 17:42:11 +0000 (13:42 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 21 Jul 2016 17:42:11 +0000 (13:42 -0400)
libs/surfaces/generic_midi/generic_midi_control_protocol.cc

index a116c4f2a179b35e26192ebc0b7187d911a17ed4..627ad8d66e9171a7728c93f3abda2fe9e2486850 100644 (file)
@@ -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);
        }
 
        {