diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c index 2a1b6b445e6..8d0f5994406 100644 --- a/dlls/comctl32/listview.c +++ b/dlls/comctl32/listview.c @@ -4796,7 +4796,11 @@ static LRESULT LISTVIEW_GetItemA(HWND hwnd, LPLVITEMA lpLVItem, BOOL internal) { Str_SetPtrA(ppszText, dispInfo.item.pszText); } - /* Here lpLVItem->pszText==dispInfo.item.pszText so a copy is unnecessary */ + /* If lpLVItem->pszText==dispInfo.item.pszText a copy is unnecessary, but */ + /* some apps give a new pointer in ListView_Notify so we can't be sure. */ + if (lpLVItem->pszText!=dispInfo.item.pszText) { + lstrcpynA(lpLVItem->pszText, dispInfo.item.pszText, lpLVItem->cchTextMax); + } } else if (lpLVItem->mask & LVIF_TEXT) {