Every other use of `EDIT_EM_SetSel` updates caret position by calling `EDIT_EM_ScrollCaret` or `EDIT_SetCaretPos`.
Fixes caret blinking in the middle when selecting all text.
![changes](/uploads/019bce6c12e0378d391e1253ecbaf9c6/changes.png)
From: Vladislav Timonin timoninvlad@yandex.ru
--- dlls/comctl32/edit.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dlls/comctl32/edit.c b/dlls/comctl32/edit.c index 24ef8a43c17..9a98a03f7bd 100644 --- a/dlls/comctl32/edit.c +++ b/dlls/comctl32/edit.c @@ -3380,6 +3380,7 @@ static LRESULT EDIT_WM_KeyDown(EDITSTATE *es, INT key) { if (!notify_parent(es, EN_UPDATE)) break; notify_parent(es, EN_CHANGE); + EDIT_EM_ScrollCaret(es); } } break;
This behavior is only added after Windows 10 1809. Windows 10 1607 and older versions such as Windows 7 have the same behavior as Wine. As Wine also emulates other versions. I don't know if it's good the change it. Do you have an application that depends on this?
On Tue Jul 4 12:22:40 2023 +0000, Zhiyi Zhang wrote:
This behavior is only added after Windows 10 1809. Windows 10 1607 and older versions such as Windows 7 have the same behavior as Wine. As Wine also emulates other versions. I don't know if it's good the change it. Do you have an application that depends on this?
Oh, sorry, didn't realize, can indeed see the this on Windows 7.
Do you have an application that depends on this?
No, the way caret currently moves after Ctrl + A (placing the caret at the end) just made me think it wasn't supposed to be blinking in the middle.
On Tue Jul 4 12:22:40 2023 +0000, Vladislav Timonin wrote:
Oh, sorry, didn't realize, can indeed see the this on Windows 7.
Do you have an application that depends on this?
No, the way caret currently moves after Ctrl + A (placing the caret at the end) just made me think it wasn't supposed to be blinking in the middle.
I think it's fine to have this changed to the way current win10 works. There are more issues apparently - navigating with left arrow on Windows moves to before selection position. On Wine it's moving one character back.
That looks fine to me. Win 11 also does that.
This merge request was approved by Nikolay Sivov.