[PATCH v2 2/2] user32: Redraw children when the combo box is dropped down.

Gabriel Ivăncescu gabrielopcode at gmail.com
Fri Nov 12 10:50:02 CST 2021


Some applications subclass the combo box and handle WM_ERASEBKGND themselves,
without using WS_CLIPCHILDREN. This causes them to erase over the editbox
child, so it requires a refresh as well.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=22260
Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
---
 dlls/user32/combo.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/dlls/user32/combo.c b/dlls/user32/combo.c
index 1b53a2d..aeb7fa0 100644
--- a/dlls/user32/combo.c
+++ b/dlls/user32/combo.c
@@ -1003,8 +1003,7 @@ static void CBDropDown( LPHEADCOMBO lphc )
 
 
    if( !(lphc->wState & CBF_NOREDRAW) )
-     RedrawWindow( lphc->self, NULL, 0, RDW_INVALIDATE |
-			   RDW_ERASE | RDW_UPDATENOW | RDW_NOCHILDREN );
+     RedrawWindow( lphc->self, NULL, 0, RDW_INVALIDATE | RDW_ERASE | RDW_UPDATENOW );
 
    EnableWindow( lphc->hWndLBox, TRUE );
    if (GetCapture() != lphc->self)
-- 
2.31.1




More information about the wine-devel mailing list