GUI: fix cursor moving on undo replace

This commit is contained in:
tildearrow 2022-06-17 02:41:40 -05:00
parent a8ae8f6e54
commit 56b56ebdde
1 changed files with 18 additions and 14 deletions

View File

@ -953,6 +953,7 @@ void FurnaceGUI::doUndo() {
DivPattern* p=e->curPat[i.chan].getPattern(i.pat,true);
p->data[i.row][i.col]=i.oldVal;
}
if (us.type!=GUI_UNDO_REPLACE) {
if (!e->isPlaying() || !followPattern) {
cursor=us.cursor;
selStart=us.selStart;
@ -961,6 +962,7 @@ void FurnaceGUI::doUndo() {
updateScroll(cursor.y);
setOrder(us.order);
}
}
break;
}
@ -1002,7 +1004,8 @@ void FurnaceGUI::doRedo() {
DivPattern* p=e->curPat[i.chan].getPattern(i.pat,true);
p->data[i.row][i.col]=i.newVal;
}
if (!e->isPlaying()) {
if (us.type!=GUI_UNDO_REPLACE) {
if (!e->isPlaying() || !followPattern) {
cursor=us.cursor;
selStart=us.selStart;
selEnd=us.selEnd;
@ -1010,6 +1013,7 @@ void FurnaceGUI::doRedo() {
updateScroll(cursor.y);
setOrder(us.order);
}
}
break;
}