From 62c5fe1abd427100d5061f5e321e854352289520 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Thu, 3 Jul 2025 19:57:46 -0500 Subject: [PATCH] GUI: new pattern cursor logic, part 9 fix movement-related bugs --- src/gui/cursor.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gui/cursor.cpp b/src/gui/cursor.cpp index d60667f7b..7c7636aa2 100644 --- a/src/gui/cursor.cpp +++ b/src/gui/cursor.cpp @@ -329,8 +329,10 @@ void FurnaceGUI::moveCursor(int x, int y, bool select) { if (!e->isPlaying() || !followPattern) { if (curOrder<(e->curSubSong->ordersLen-1)) { setOrder(curOrder+1); + cursor.order=curOrder; } else if (settings.wrapVertical==3) { setOrder(0); + cursor.order=curOrder; } else { cursor.y=e->curSubSong->patLen-1; } @@ -353,8 +355,10 @@ void FurnaceGUI::moveCursor(int x, int y, bool select) { if (!e->isPlaying() || !followPattern) { if (curOrder>0) { setOrder(curOrder-1); + cursor.order=curOrder; } else if (settings.wrapVertical==3) { setOrder(e->curSubSong->ordersLen-1); + cursor.order=curOrder; } else { cursor.y=0; } @@ -499,6 +503,7 @@ void FurnaceGUI::editAdvance() { if (curOrder<(e->curSubSong->ordersLen-1)) { cursor.y-=e->curSubSong->patLen; setOrder(curOrder+1); + cursor.order=curOrder; } else { cursor.y=e->curSubSong->patLen-1; } @@ -510,6 +515,7 @@ void FurnaceGUI::editAdvance() { } else { setOrder(0); } + cursor.order=curOrder; break; default: // don't wrap cursor.y=e->curSubSong->patLen-1;