comctl32: [Bug 17251] cchTextMax needs to be set for LVS_OWNERDATA as it uses LVN_GETDISPINFO notifications

Nikolay Sivov bunglehead at gmail.com
Sat Mar 13 03:30:12 CST 2010


On 3/13/2010 06:35, Jeff Latimer wrote:
>
> If not set then no value is returned and in the case of uTorrent the 
> next entry selected is renamed. 
> http://bugs.winehq.org/show_bug.cgi?id=17251
No value returned from what?
>
> A test case has proved difficult to construct as the event is 
> triggered by mouse clicks and the behaviour of EditLabel appears to be 
> different in test.
> ---
>  dlls/comctl32/listview.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
>

>       dispInfo.item.iItem = editedItem;
>       dispInfo.item.iSubItem = 0;
>       dispInfo.item.stateMask = ~0;
> +    dispInfo.item.cchTextMax = textlenT(pszText, isW)+2;
>       if (!LISTVIEW_GetItemW(infoPtr,&dispInfo.item))
>    
Could you explain what this change fixes exactly? As I remember uTorrent 
uses an LVS_OWNERDATA listview, so this cchTextMax isn't processed in 
LISTVIEW_GetItemW.

Also I'm not sure what you mean here
---
textlenT(pszText, isW)+2
---
pszText is Edit control text at this point (or NULL). How it's related 
to LISTVIEW_GetItemW? And what this +2 adding mean?



More information about the wine-devel mailing list