GUI: fix cursor moving on undo replace
This commit is contained in:
parent
a8ae8f6e54
commit
56b56ebdde
|
|
@ -953,6 +953,7 @@ void FurnaceGUI::doUndo() {
|
||||||
DivPattern* p=e->curPat[i.chan].getPattern(i.pat,true);
|
DivPattern* p=e->curPat[i.chan].getPattern(i.pat,true);
|
||||||
p->data[i.row][i.col]=i.oldVal;
|
p->data[i.row][i.col]=i.oldVal;
|
||||||
}
|
}
|
||||||
|
if (us.type!=GUI_UNDO_REPLACE) {
|
||||||
if (!e->isPlaying() || !followPattern) {
|
if (!e->isPlaying() || !followPattern) {
|
||||||
cursor=us.cursor;
|
cursor=us.cursor;
|
||||||
selStart=us.selStart;
|
selStart=us.selStart;
|
||||||
|
|
@ -961,6 +962,7 @@ void FurnaceGUI::doUndo() {
|
||||||
updateScroll(cursor.y);
|
updateScroll(cursor.y);
|
||||||
setOrder(us.order);
|
setOrder(us.order);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1002,7 +1004,8 @@ void FurnaceGUI::doRedo() {
|
||||||
DivPattern* p=e->curPat[i.chan].getPattern(i.pat,true);
|
DivPattern* p=e->curPat[i.chan].getPattern(i.pat,true);
|
||||||
p->data[i.row][i.col]=i.newVal;
|
p->data[i.row][i.col]=i.newVal;
|
||||||
}
|
}
|
||||||
if (!e->isPlaying()) {
|
if (us.type!=GUI_UNDO_REPLACE) {
|
||||||
|
if (!e->isPlaying() || !followPattern) {
|
||||||
cursor=us.cursor;
|
cursor=us.cursor;
|
||||||
selStart=us.selStart;
|
selStart=us.selStart;
|
||||||
selEnd=us.selEnd;
|
selEnd=us.selEnd;
|
||||||
|
|
@ -1010,6 +1013,7 @@ void FurnaceGUI::doRedo() {
|
||||||
updateScroll(cursor.y);
|
updateScroll(cursor.y);
|
||||||
setOrder(us.order);
|
setOrder(us.order);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue