comctl32: cchTextMax needs to be set for LVS_OWNERDATA as it uses LVN_GETDISPINFO...
authorJeff Latimer <lats@yless4u.com.au>
Mon, 15 Mar 2010 13:08:29 +0000 (00:08 +1100)
committerAlexandre Julliard <julliard@winehq.org>
Mon, 15 Mar 2010 14:13:54 +0000 (15:13 +0100)
dlls/comctl32/listview.c

index 9afbf104b610797e3a4b5514545d8155f3c22e27..de854911ad40d0052eaf18967ea96767e89d59e0 100644 (file)
@@ -5635,6 +5635,7 @@ static BOOL LISTVIEW_DeleteItem(LISTVIEW_INFO *infoPtr, INT nItem)
 static BOOL LISTVIEW_EndEditLabelT(LISTVIEW_INFO *infoPtr, BOOL storeText, BOOL isW)
 {
     HWND hwndSelf = infoPtr->hwndSelf;
+    WCHAR szDispText[DISP_TEXT_SIZE] = { 0 };
     NMLVDISPINFOW dispInfo;
     INT editedItem = infoPtr->nEditLabelItem;
     BOOL bSame;
@@ -5665,7 +5666,9 @@ static BOOL LISTVIEW_EndEditLabelT(LISTVIEW_INFO *infoPtr, BOOL storeText, BOOL
     dispInfo.item.iItem = editedItem;
     dispInfo.item.iSubItem = 0;
     dispInfo.item.stateMask = ~0;
-    if (!LISTVIEW_GetItemW(infoPtr, &dispInfo.item))
+    dispInfo.item.pszText = szDispText;
+    dispInfo.item.cchTextMax = DISP_TEXT_SIZE;
+    if (!LISTVIEW_GetItemT(infoPtr, &dispInfo.item, isW))
     {
        res = FALSE;
        goto cleanup;