Fix crash on reading meta event.
authorDavid Robillard <d@drobilla.net>
Sun, 15 Feb 2009 20:50:20 +0000 (20:50 +0000)
committerDavid Robillard <d@drobilla.net>
Sun, 15 Feb 2009 20:50:20 +0000 (20:50 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@4586 d708f5d6-7413-0410-9779-e7cbd77b26cf

libs/ardour/smf_source.cc
libs/evoral/src/Sequence.cpp

index bcf4aecae001d15db413c0e79a0e0cf20840c9ff..9ed3f17b5f0eb734cd70466ae41ae778b3aabd1c 100644 (file)
@@ -174,13 +174,13 @@ SMFSource::read_unlocked (MidiRingBuffer<nframes_t>& dst, nframes_t start, nfram
                        break;
                }
                
-               ev_type = EventTypeMap::instance().midi_event_type(ev_buffer[0]);
-               
                time += ev_delta_t; // accumulate delta time
 
                if (ret == 0) { // meta-event (skipped, just accumulate time)
                        continue;
                }
+               
+               ev_type = EventTypeMap::instance().midi_event_type(ev_buffer[0]);
 
                assert(time >= start_ticks);
                const nframes_t ev_frame_time = (nframes_t)(
index 01aca0e4a4dd3f213bf32a14c77870f94cc6354f..1184c008f20fec1cff534f75c211fad6e6ef94a9 100644 (file)
@@ -358,7 +358,7 @@ Sequence<Time>::const_iterator::operator++()
                #ifdef DEBUG_SEQUENCE
                cerr << "Iterator = SysEx" << endl;
                #endif
-               *_event =*(*_sysex_iter);
+               *_event = *(*_sysex_iter);
                ++_sysex_iter;
        } else {
                #ifdef DEBUG_SEQUENCE