From 26a470e1f04902b1718be4816b7ae7c913944f4a Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Mon, 28 Oct 2002 21:21:42 +0000 Subject: [PATCH] set_main_item: ignore meaningless bits in stateMask for LVS_OWNERDATA instead of failing. --- dlls/comctl32/listview.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c index 4df9956c8ef..8f0aa4c0750 100644 --- a/dlls/comctl32/listview.c +++ b/dlls/comctl32/listview.c @@ -3102,7 +3102,7 @@ static BOOL set_main_item(LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVItem, BOOL if (infoPtr->dwStyle & LVS_OWNERDATA) { /* a virtual listview we stores only selection and focus */ - if ((lpLVItem->mask & ~LVIF_STATE) || (lpLVItem->stateMask & ~(LVIS_FOCUSED | LVIS_SELECTED))) + if (lpLVItem->mask & ~LVIF_STATE) return FALSE; lpItem = NULL; } @@ -3170,7 +3170,7 @@ static BOOL set_main_item(LISTVIEW_INFO *infoPtr, const LVITEMW *lpLVItem, BOOL if (uChanged & LVIF_STATE) { - if (lpLVItem->stateMask & ~infoPtr->uCallbackMask & ~(LVIS_FOCUSED | LVIS_SELECTED)) + if (lpItem && (lpLVItem->stateMask & ~infoPtr->uCallbackMask & ~(LVIS_FOCUSED | LVIS_SELECTED))) { lpItem->state &= ~lpLVItem->stateMask; lpItem->state |= (lpLVItem->state & lpLVItem->stateMask);