changeset 34:aa81e87c8089

Protect empty list access for nextPoints
author lbajardsilogic
date Tue, 15 May 2007 07:57:37 +0000
parents c14ebd0217af
children 284d53bf7952
files layer/NoteLayer.cpp layer/TimeInstantLayer.cpp layer/TimeValueLayer.cpp
diffstat 3 files changed, 36 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/layer/NoteLayer.cpp	Tue May 15 07:35:43 2007 +0000
+++ b/layer/NoteLayer.cpp	Tue May 15 07:57:37 2007 +0000
@@ -293,15 +293,18 @@
 
     NoteModel::PointList usePoints = prevPoints;
 
-    if (prevPoints.empty()) {
-	usePoints = nextPoints;
-    } else if (long(prevPoints.begin()->frame) < v->getStartFrame() &&
-	       !(nextPoints.begin()->frame > v->getEndFrame())) {
-	usePoints = nextPoints;
-    } else if (long(nextPoints.begin()->frame) - frame <
-	       frame - long(prevPoints.begin()->frame)) {
-	usePoints = nextPoints;
-    }
+	if (! nextPoints.empty()) 
+	{
+		if (prevPoints.empty()) {
+		usePoints = nextPoints;
+		} else if (long(prevPoints.begin()->frame) < v->getStartFrame() &&
+			   !(nextPoints.begin()->frame > v->getEndFrame())) {
+		usePoints = nextPoints;
+		} else if (long(nextPoints.begin()->frame) - frame <
+			   frame - long(prevPoints.begin()->frame)) {
+		usePoints = nextPoints;
+		}
+	}
 
     if (!usePoints.empty()) {
 	int fuzz = 2;
--- a/layer/TimeInstantLayer.cpp	Tue May 15 07:35:43 2007 +0000
+++ b/layer/TimeInstantLayer.cpp	Tue May 15 07:57:37 2007 +0000
@@ -209,15 +209,18 @@
 
     SparseOneDimensionalModel::PointList usePoints = prevPoints;
 
-    if (prevPoints.empty()) {
-	usePoints = nextPoints;
-    } else if (long(prevPoints.begin()->frame) < v->getStartFrame() &&
-	       !(nextPoints.begin()->frame > v->getEndFrame())) {
-	usePoints = nextPoints;
-    } else if (nextPoints.begin()->frame - frame <
-	       frame - prevPoints.begin()->frame) {
-	usePoints = nextPoints;
-    }
+	if (! nextPoints.empty()) 
+	{
+		if (prevPoints.empty()) {
+		usePoints = nextPoints;
+		} else if (long(prevPoints.begin()->frame) < v->getStartFrame() &&
+			   !(nextPoints.begin()->frame > v->getEndFrame())) {
+		usePoints = nextPoints;
+		} else if (nextPoints.begin()->frame - frame <
+			   frame - prevPoints.begin()->frame) {
+		usePoints = nextPoints;
+		}
+	}
 
     if (!usePoints.empty()) {
 	int fuzz = 2;
--- a/layer/TimeValueLayer.cpp	Tue May 15 07:35:43 2007 +0000
+++ b/layer/TimeValueLayer.cpp	Tue May 15 07:57:37 2007 +0000
@@ -335,15 +335,18 @@
 
     SparseTimeValueModel::PointList usePoints = prevPoints;
 
-    if (prevPoints.empty()) {
-	usePoints = nextPoints;
-    } else if (long(prevPoints.begin()->frame) < v->getStartFrame() &&
-	       !(nextPoints.begin()->frame > v->getEndFrame())) {
-	usePoints = nextPoints;
-    } else if (nextPoints.begin()->frame - frame <
-	       frame - prevPoints.begin()->frame) {
-	usePoints = nextPoints;
-    }
+	if (! nextPoints.empty()) 
+	{
+		if (prevPoints.empty()) {
+		usePoints = nextPoints;
+		} else if (long(prevPoints.begin()->frame) < v->getStartFrame() &&
+			   !(nextPoints.begin()->frame > v->getEndFrame())) {
+		usePoints = nextPoints;
+		} else if (nextPoints.begin()->frame - frame <
+			   frame - prevPoints.begin()->frame) {
+		usePoints = nextPoints;
+		}
+	}
 
     if (!usePoints.empty()) {
 	int fuzz = 2;