Piotr Caban : user32: Fix itemData passed in ListBox WM_MEASUREITEM message.
Alexandre Julliard
julliard at winehq.org
Thu Mar 1 13:34:43 CST 2018
Module: wine
Branch: master
Commit: 3c5c9b157771828419cb5d7e831d46813ede041f
URL: https://source.winehq.org/git/wine.git/?a=commit;h=3c5c9b157771828419cb5d7e831d46813ede041f
Author: Piotr Caban <piotr at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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;
More information about the wine-cvs
mailing list