comctl32: Fix itemData passed in ListBox WM_MEASUREITEM message.
Signed-off-by: Piotr Caban <piotr@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
43df3f468f
commit
0bb2cb3d99
|
@ -1533,7 +1533,7 @@ static LRESULT LISTBOX_InsertItem( LB_DESCR *descr, INT index,
|
|||
RtlMoveMemory( item + 1, item,
|
||||
(descr->nb_items - index) * sizeof(LB_ITEMDATA) );
|
||||
item->str = str;
|
||||
item->data = data;
|
||||
item->data = HAS_STRINGS(descr) ? 0 : data;
|
||||
item->height = 0;
|
||||
item->selected = FALSE;
|
||||
descr->nb_items++;
|
||||
|
@ -1548,7 +1548,7 @@ static LRESULT LISTBOX_InsertItem( LB_DESCR *descr, INT index,
|
|||
mis.CtlType = ODT_LISTBOX;
|
||||
mis.CtlID = id;
|
||||
mis.itemID = index;
|
||||
mis.itemData = descr->items[index].data;
|
||||
mis.itemData = data;
|
||||
mis.itemHeight = descr->item_height;
|
||||
SendMessageW( descr->owner, WM_MEASUREITEM, id, (LPARAM)&mis );
|
||||
item->height = mis.itemHeight ? mis.itemHeight : 1;
|
||||
|
@ -1589,7 +1589,6 @@ static LRESULT LISTBOX_InsertItem( LB_DESCR *descr, INT index,
|
|||
static LRESULT LISTBOX_InsertString( LB_DESCR *descr, INT index, LPCWSTR str )
|
||||
{
|
||||
LPWSTR new_str = NULL;
|
||||
ULONG_PTR data = 0;
|
||||
LRESULT ret;
|
||||
|
||||
if (HAS_STRINGS(descr))
|
||||
|
@ -1603,10 +1602,9 @@ static LRESULT LISTBOX_InsertString( LB_DESCR *descr, INT index, LPCWSTR str )
|
|||
}
|
||||
strcpyW(new_str, str);
|
||||
}
|
||||
else data = (ULONG_PTR)str;
|
||||
|
||||
if (index == -1) index = descr->nb_items;
|
||||
if ((ret = LISTBOX_InsertItem( descr, index, new_str, data )) != 0)
|
||||
if ((ret = LISTBOX_InsertItem( descr, index, new_str, (ULONG_PTR)str )) != 0)
|
||||
{
|
||||
HeapFree( GetProcessHeap(), 0, new_str );
|
||||
return ret;
|
||||
|
|
Loading…
Reference in New Issue