[PATCH v2 0/1] MR3667: comctl32: Invalidate entire statusbar on wm_size.
Fixes a bug where the statusbar doesn't correctly paint when the parent window is resized. This can be seen in wine notepad. -- v2: comctl32: Invalidate entire statusbar on wm_size. https://gitlab.winehq.org/wine/wine/-/merge_requests/3667
From: Jacob Czekalla <jacobczekalla(a)gmail.com> --- dlls/comctl32/status.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/comctl32/status.c b/dlls/comctl32/status.c index 5251f3677b0..03ff689dfb1 100644 --- a/dlls/comctl32/status.c +++ b/dlls/comctl32/status.c @@ -1068,8 +1068,9 @@ STATUSBAR_WMSize (STATUS_INFO *infoPtr, WORD flags) width = parent_rect.right - parent_rect.left; x = parent_rect.left; y = parent_rect.bottom - infoPtr->height; - MoveWindow (infoPtr->Self, x, y, width, infoPtr->height, TRUE); + MoveWindow (infoPtr->Self, x, y, width, infoPtr->height, FALSE); STATUSBAR_SetPartBounds (infoPtr); + InvalidateRect(infoPtr->Self, NULL, FALSE); return TRUE; } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/3667
I ended up just going with the Invalidate entire statusbar. It seems MoveWindow does not send SWP_NOCOPYBITS on wine or windows so it doesn't need to be changed. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3667#note_43700
Zhiyi Zhang (@zhiyi) commented about dlls/comctl32/status.c:
typedef struct { HWND Self;
Let's change the subject to "comctl32/status: Invalidate entire status bar on WM_SIZE.". Otherwise, it looks good to me. Thanks for looking into this. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3667#note_43861
participants (3)
-
Jacob Czekalla -
Jacob Czekalla (@Maaka00524) -
Zhiyi Zhang (@zhiyi)