https://bugs.winehq.org/show_bug.cgi?id=54268
Bug ID: 54268 Summary: Moving the separator in regedit don't repaint listview Product: Wine Version: 8.0-rc2 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: wineserver Assignee: wine-bugs@winehq.org Reporter: zzhang@codeweavers.com Distribution: ---
Created attachment 73833 --> https://bugs.winehq.org/attachment.cgi?id=73833 demo
Moving the separator in regedit don't repaint listview. See the attached video.
Bisect points to 33617af
33617af8145b6fadfe41d48968a728ff57b3064b is the first bad commit commit 33617af8145b6fadfe41d48968a728ff57b3064b Author: Jinoh Kang jinoh.kang.kr@gmail.com Date: Mon Oct 31 22:30:20 2022 +0900
server: Don't invalidate the newly exposed child region on the parent if it doesn't clip children.
This partly reverts e42eaaaf3a873d29b14f8f3a3617df2d0d4210ca.
Signed-off-by: Jinoh Kang jinoh.kang.kr@gmail.com
dlls/user32/tests/msg.c | 4 ---- server/window.c | 6 ++---- 2 files changed, 2 insertions(+), 8 deletions(-)
https://bugs.winehq.org/show_bug.cgi?id=54268
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |33617af8145b6fadfe41d48968a | |728ff57b3064b
https://bugs.winehq.org/show_bug.cgi?id=54268
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jinoh.kang.kr@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=54268
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bunglehead@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=54268
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com --- Thank you for bisecting this. Our regedit repaints correctly on Windows 11 as far as I can tell, so it's not an application bug.
https://bugs.winehq.org/show_bug.cgi?id=54268
--- Comment #2 from Jinoh Kang jinoh.kang.kr@gmail.com --- Fixed in 36ca172e85bf518faab581cc9b849fc79cfe6819.
It should be noted that the commit above is an application-side fix, not a system-side one. It is likely that there still is a bug in USER that can be exposed by other applications.
However, for Wine regedit's case, I suspect that the issue actually lies in the incomplete implementation of DeferWindowPos, which is currently non-atomic. My speculation is that 33617af8145b6fadfe41d48968a728ff57b3064b merely aided in exposing existing redraw/repaint bugs that were previously masked due to over-repainting.
I'll try to put together a test case for user32 that can reproduce the same bug to make sure it isn't lost.
Also, this bug was previously reported as bug 54137. I dropped it in favor of this due to likely invalid diagnosis.
https://bugs.winehq.org/show_bug.cgi?id=54268
Zhiyi Zhang zzhang@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |36ca172e85bf518faab581cc9b8 | |49fc79cfe6819
--- Comment #3 from Zhiyi Zhang zzhang@codeweavers.com --- Confirm fixed. Thanks.
https://bugs.winehq.org/show_bug.cgi?id=54268
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|bunglehead@gmail.com |
https://bugs.winehq.org/show_bug.cgi?id=54268
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.0-rc3.