modified version of a patch from robin gareus to avoid leaving pointers to data buffe...
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 3 Jun 2010 12:37:32 +0000 (12:37 +0000)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 3 Jun 2010 12:37:32 +0000 (12:37 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@7218 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/midi++2/jack_midiport.cc

index b761efdd286d0c5732cc3b6df004439bfa2613a4..ba675082a4d496392241ddd7b58433a6a512b889 100644 (file)
@@ -145,8 +145,14 @@ JACK_MidiPort::write(byte * msg, size_t msglen, timestamp_t timestamp)
                }
 
                if (vec.len[0]) {
+                        if (!vec.buf[0]->owns_buffer()) {
+                                vec.buf[0]->set_buffer (0, 0, true);
+                        }
                        vec.buf[0]->set (msg, msglen, timestamp);
                } else {
+                        if (!vec.buf[1]->owns_buffer()) {
+                                vec.buf[1]->set_buffer (0, 0, true);
+                        }
                        vec.buf[1]->set (msg, msglen, timestamp);
                }