https://bugs.winehq.org/show_bug.cgi?id=55580
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |8ee237281206920d4ef6642fa49 | |3a23ab8cc7f71 CC| |zzhang@codeweavers.com Keywords| |regression
--- Comment #1 from François Gouget fgouget@codeweavers.com --- A bisect shows that this failure started with the commit below:
commit 8ee237281206920d4ef6642fa493a23ab8cc7f71 Author: Zhiyi Zhang zzhang@codeweavers.com Date: Fri Aug 18 15:44:49 2023 +0800
user32/edit: Don't use WM_TIMER to update caret position.
An application subclasses edit control and crashes on unexpected WM_TIMER messages. A timer was added a long time ago and it was for auto scrolling the view when the cursor is outside of the client area. However, with a EDIT_EM_ScrollCaret() call in EDIT_WM_MouseMove(), the view can be scrolled to the correct position automatically. So the timer is not necessary at all. This is tested manually with a long text in the edit control with notepad on XP, Win7 and Win10. Before this patch, the caret will move backwards every 100ms when the clicking the left mouse button on the bottom of the text and then dragging the cursor upwards and outside of the client area. After this, the behavior is the same as native.