mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-01 09:50:52 +00:00
user32: Don't do the painting if combobox is not visible in CBPaintText.
Signed-off-by: Piotr Caban <piotr@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
f6f0be8f2d
commit
8159af76b4
2 changed files with 20 additions and 1 deletions
|
@ -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[] =
|
||||||
{ 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)
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue