mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-11 21:03:05 +08:00
+ fix: undo destructive operation on selection (rectangle) does not restore selection
or preserves selection mode (extends selection on caret movement) -> need to send SCI_CANCEL at the end of restored selection
This commit is contained in:
parent
3ea54a6c74
commit
aad331f1be
@ -7073,7 +7073,6 @@ void RestoreSelectionAction(int token)
|
||||
UndoRedoSelection sel = { -1,-1,-1 };
|
||||
if (UndoSelectionMap(token, &sel) >= 0) {
|
||||
// we are inside undo transaction, so do delayed PostMessage() instead of SendMessage()
|
||||
int currSelMode = (int)SendMessage(hwndEdit, SCI_GETSELECTIONMODE, 0, 0);
|
||||
PostMessage(hwndEdit, SCI_SETSELECTIONMODE, (WPARAM)sel.selMode, 0);
|
||||
if (sel.selMode == SC_SEL_RECTANGLE)
|
||||
{
|
||||
@ -7083,7 +7082,7 @@ void RestoreSelectionAction(int token)
|
||||
else {
|
||||
PostMessage(hwndEdit, SCI_SETSELECTION, (WPARAM)sel.currPos, (LPARAM)sel.anchorPos);
|
||||
}
|
||||
PostMessage(hwndEdit, SCI_SETSELECTIONMODE, (WPARAM)currSelMode, 0);
|
||||
PostMessage(hwndEdit, SCI_CANCEL, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user