From 44c112363751f82e11deecb7ad74693d654439e8 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sun, 22 May 2022 18:55:49 -0700 Subject: [PATCH] Fixed cursor location after line paste undo --- BeefLibs/Beefy2D/src/widgets/EditWidget.bf | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/BeefLibs/Beefy2D/src/widgets/EditWidget.bf b/BeefLibs/Beefy2D/src/widgets/EditWidget.bf index a4e6cec3..af154d51 100644 --- a/BeefLibs/Beefy2D/src/widgets/EditWidget.bf +++ b/BeefLibs/Beefy2D/src/widgets/EditWidget.bf @@ -2085,12 +2085,14 @@ namespace Beefy.widgets { UndoBatchStart undoBatchStart = new UndoBatchStart("paste"); mData.mUndoManager.Add(undoBatchStart); - var origPosition = CursorLineAndColumn; - CursorLineAndColumn = .(origPosition.mLine, 0); + + var setCursorAction = new SetCursorAction(this); + mData.mUndoManager.Add(setCursorAction); + + var origLineAndColumn = CursorLineAndColumn; + CursorLineAndColumn = .(origLineAndColumn.mLine, 0); var lineStartPosition = CursorLineAndColumn; InsertAtCursor("\n"); - if (var insertTextAction = mData.mUndoManager.GetLastUndoAction() as InsertTextAction) - insertTextAction.mVirtualCursorPos = origPosition; CursorLineAndColumn = lineStartPosition; CursorToLineStart(false); @@ -2109,7 +2111,7 @@ namespace Beefy.widgets } PasteText(text); - CursorLineAndColumn = .(origPosition.mLine + 1, origPosition.mColumn); + CursorLineAndColumn = .(origLineAndColumn.mLine + 1, origLineAndColumn.mColumn); mData.mUndoManager.Add(undoBatchStart.mBatchEnd); } else