Commit 8159af76 authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

user32: Don't do the painting if combobox is not visible in CBPaintText.

parent f6f0be8f
...@@ -733,7 +733,7 @@ static void CBPaintText( ...@@ -733,7 +733,7 @@ static void CBPaintText(
if( lphc->wState & CBF_FOCUSED ) if( lphc->wState & CBF_FOCUSED )
SendMessageW(lphc->hWndEdit, EM_SETSEL, 0, -1); SendMessageW(lphc->hWndEdit, EM_SETSEL, 0, -1);
} }
else /* paint text field ourselves */ else if( IsWindowVisible( lphc->self )) /* paint text field ourselves */
{ {
HDC hdc = hdc_paint ? hdc_paint : GetDC(lphc->self); HDC hdc = hdc_paint ? hdc_paint : GetDC(lphc->self);
UINT itemState = ODS_COMBOBOXEDIT; UINT itemState = ODS_COMBOBOXEDIT;
......
...@@ -6613,6 +6613,18 @@ static const struct message SetCurSelComboSeq[] = ...@@ -6613,6 +6613,18 @@ static const struct message SetCurSelComboSeq[] =
{ 0 } { 0 }
}; };
static const struct message SetCurSelComboSeq2[] =
{
{ CB_SETCURSEL, sent|wparam|lparam, 0, 0 },
{ LB_SETCURSEL, sent|wparam|lparam, 0, 0 },
{ LB_SETTOPINDEX, sent|wparam|lparam, 0, 0 },
{ LB_GETCURSEL, sent|wparam|lparam, 0, 0 },
{ LB_GETTEXTLEN, sent|wparam|lparam, 0, 0 },
{ LB_GETTEXTLEN, sent|wparam|lparam|optional, 0, 0 }, /* TODO: it's sent on all Windows versions */
{ LB_GETTEXT, sent|wparam, 0 },
{ 0 }
};
static const struct message WmKeyDownComboSeq[] = static const struct message WmKeyDownComboSeq[] =
{ {
{ WM_KEYDOWN, sent|wparam|lparam, VK_DOWN, 0 }, { WM_KEYDOWN, sent|wparam|lparam, VK_DOWN, 0 },
...@@ -6939,6 +6951,13 @@ static void test_combobox_messages(void) ...@@ -6939,6 +6951,13 @@ static void test_combobox_messages(void)
log_all_parent_messages--; log_all_parent_messages--;
ok_sequence(SetCurSelComboSeq, "CB_SETCURSEL on a ComboBox", FALSE); ok_sequence(SetCurSelComboSeq, "CB_SETCURSEL on a ComboBox", FALSE);
ShowWindow(combo, SW_HIDE);
flush_sequence();
log_all_parent_messages++;
SendMessageA(combo, CB_SETCURSEL, 0, 0);
log_all_parent_messages--;
ok_sequence(SetCurSelComboSeq2, "CB_SETCURSEL on a ComboBox", FALSE);
DestroyWindow(combo); DestroyWindow(combo);
DestroyWindow(parent); DestroyWindow(parent);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment