diff Agent.cpp @ 18:55969570044e

Fix crashes & valgrind warnings in plugin tester
author Chris Cannam
date Fri, 14 Oct 2011 10:44:38 +0100
parents 33d0b18b2509
children 633ec097fa56
line wrap: on
line diff
--- a/Agent.cpp	Fri Oct 14 09:59:53 2011 +0100
+++ b/Agent.cpp	Fri Oct 14 10:44:38 2011 +0100
@@ -102,12 +102,16 @@
     EventList::iterator ei = events.begin();
     if (ei != events.end()) {
         EventList::iterator ni = ei;
-	prevBeat = (++ni)->time;
+        if (++ni != events.end()) {
+            prevBeat = ni->time;
+        }
     }
     while (ei != events.end()) {
         EventList::iterator ni = ei;
-        ++ni;
-        if (ni == events.end()) break;
+        if (ni == events.end() ||
+            ++ni == events.end()) {
+            break;
+        }
 	nextBeat = ni->time;
 	beats = nearbyint((nextBeat - prevBeat) / beatInterval - 0.01); //prefer slow
 	currentInterval = (nextBeat - prevBeat) / beats;