user32: Don't invalidate ComboBox on CB_SETCURSEL message.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
diff --git a/dlls/user32/combo.c b/dlls/user32/combo.c
index ee9ce0a..149a495 100644
--- a/dlls/user32/combo.c
+++ b/dlls/user32/combo.c
@@ -2142,10 +2142,7 @@
SendMessageW(lphc->hWndLBox, LB_SETTOPINDEX, wParam, 0);
/* no LBN_SELCHANGE in this case, update manually */
- if( lphc->wState & CBF_EDIT )
- CBUpdateEdit( lphc, (INT)wParam );
- else
- InvalidateRect(lphc->self, &lphc->textRect, TRUE);
+ CBPaintText( lphc, NULL );
lphc->wState &= ~CBF_SELCHANGE;
return lParam;
case CB_GETLBTEXT:
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index 1d34fd2..1b4f6fa 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -6937,7 +6937,7 @@
log_all_parent_messages++;
SendMessageA(combo, CB_SETCURSEL, 0, 0);
log_all_parent_messages--;
- ok_sequence(SetCurSelComboSeq, "CB_SETCURSEL on a ComboBox", TRUE);
+ ok_sequence(SetCurSelComboSeq, "CB_SETCURSEL on a ComboBox", FALSE);
DestroyWindow(combo);
DestroyWindow(parent);