Mercurial > hg > easaier-soundaccess
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;