On Fri May 31 19:16:59 2024 +0000, Nikolay Sivov wrote:
We modify it when clamping. Why would that cause another text change? My understanding is that you enter something -> change notification -> check -> limit -> change notification -> check -> no need to limit. We call `SetWindowTextA` which causes a text change. This text change triggers another change notification and leads to `CC_CheckDigitsInEdit` being called again. The entire logic runs twice, which it shouldn't. That's why we have `if (notifyCode == EN_UPDATE && !lpp->updating)` and other functions (like `CC_EditSetHSL`) set `updating` to true.
We should do the same here, so only the text is set and the change notification is ignored. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/5756#note_71959