# HG changeset patch # User lbajardsilogic # Date 1179215857 0 # Node ID aa81e87c80897c006d8362a6f768b754fe68cd60 # Parent c14ebd0217af70d634863b8ee2b60b869713141a Protect empty list access for nextPoints diff -r c14ebd0217af -r aa81e87c8089 layer/NoteLayer.cpp --- 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; diff -r c14ebd0217af -r aa81e87c8089 layer/TimeInstantLayer.cpp --- 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; diff -r c14ebd0217af -r aa81e87c8089 layer/TimeValueLayer.cpp --- 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;