Module: wine Branch: master Commit: 3c5c9b157771828419cb5d7e831d46813ede041f URL: https://source.winehq.org/git/wine.git/?a=commit;h=3c5c9b157771828419cb5d7e8...
Author: Piotr Caban piotr@codeweavers.com Date: Wed Feb 28 17:36:51 2018 +0100
user32: Fix itemData passed in ListBox WM_MEASUREITEM message.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/user32/listbox.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/dlls/user32/listbox.c b/dlls/user32/listbox.c index f6b936a..8df6763 100644 --- a/dlls/user32/listbox.c +++ b/dlls/user32/listbox.c @@ -1538,7 +1538,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++; @@ -1553,7 +1553,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; @@ -1594,7 +1594,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)) @@ -1608,10 +1607,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;