Dmitry Timoshkov : user32: For an owner-drawn listbox without strings WM_MEASUREITEM still needs correct itemData.

Nikolay Sivov bunglehead at gmail.com
Fri Jul 6 05:29:13 CDT 2018


On 6/28/2018 11:55 PM, Alexandre Julliard wrote:
> Module: wine
> Branch: master
> Commit: 8b864ae9aa6284206dcef57ed716227cb41ca6c9
> URL:    https://source.winehq.org/git/wine.git/?a=commit;h=8b864ae9aa6284206dcef57ed716227cb41ca6c9
> 
> Author: Dmitry Timoshkov <dmitry at baikal.ru>
> Date:   Thu Jun 28 18:48:50 2018 +0800
> 
> user32: For an owner-drawn listbox without strings WM_MEASUREITEM still needs correct itemData.
> 
> Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
> Signed-off-by: Alexandre Julliard <julliard at winehq.org>
> 
> ---
> 
>  dlls/user32/listbox.c   | 2 +-
>  dlls/user32/tests/msg.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/dlls/user32/listbox.c b/dlls/user32/listbox.c
> index 9caccf6..af8ee40 100644
> --- a/dlls/user32/listbox.c
> +++ b/dlls/user32/listbox.c
> @@ -1554,7 +1554,7 @@ static LRESULT LISTBOX_InsertItem( LB_DESCR *descr, INT index,
>          mis.CtlType    = ODT_LISTBOX;
>          mis.CtlID      = id;
>          mis.itemID     = index;
> -        mis.itemData   = data;
> +        mis.itemData   = str ? (ULONG_PTR)str : data;
>          mis.itemHeight = descr->item_height;
>          SendMessageW( descr->owner, WM_MEASUREITEM, id, (LPARAM)&mis );
>          item->height = mis.itemHeight ? mis.itemHeight : 1;
> diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
> index da01766..052b9b9 100644
> --- a/dlls/user32/tests/msg.c
> +++ b/dlls/user32/tests/msg.c
> @@ -14387,7 +14387,7 @@ static void test_listbox_messages(void)
>      ret = SendMessageA(listbox, LB_ADDSTRING, 0, (LPARAM)"item 2");
>      ok(ret == 2, "expected 2, got %ld\n", ret);
>  
> -    ok_sequence(wm_lb_addstring_sort_ownerdraw, "LB_ADDSTRING", TRUE);
> +    ok_sequence(wm_lb_addstring_sort_ownerdraw, "LB_ADDSTRING", FALSE);
>      check_lb_state(listbox, 3, LB_ERR, 0, 0);
>  
>      log_all_parent_messages--;
> 

I wonder how was this tested. Included test diff does not seem to be
relevant, i.e. I don't get any new failures with functional part reverted.




More information about the wine-devel mailing list