From 2e198c3a113ba3c9763c5fb2e21a2da8a8fd81ac Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Tue, 30 Sep 2008 21:47:41 +0000 Subject: [PATCH] Removed a crash --- editor/trackview.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/editor/trackview.cpp b/editor/trackview.cpp index e69e997..424716d 100644 --- a/editor/trackview.cpp +++ b/editor/trackview.cpp @@ -586,6 +586,8 @@ void TrackView::setEditRow(int newEditRow) void TrackView::setEditTrack(int newEditTrack) { + assert(size_t(newEditTrack) < document->getTrackCount()); + int oldEditTrack = editTrack; editTrack = newEditTrack; @@ -901,7 +903,8 @@ LRESULT TrackView::onKeyDown(UINT keyCode, UINT /*flags*/) if (0 < editTrack) std::swap(document->trackOrder[editTrack], document->trackOrder[editTrack - 1]); else MessageBeep(-1); } - setEditTrack(editTrack - 1); + if (0 != document->getTrackCount()) setEditTrack(editTrack - 1); + else MessageBeep(-1); break; case VK_RIGHT: @@ -910,7 +913,8 @@ LRESULT TrackView::onKeyDown(UINT keyCode, UINT /*flags*/) if (int(document->trackOrder.size()) > editTrack + 1) std::swap(document->trackOrder[editTrack], document->trackOrder[editTrack + 1]); else MessageBeep(-1); } - setEditTrack(editTrack + 1); + if (0 != document->getTrackCount()) setEditTrack(editTrack + 1); + else MessageBeep(-1); break; case VK_PRIOR: