comctl32: LVN_ITEMCHANGED notification should be sent for each item when group selected for ~LVS_OWNERDATA
Nikolay Sivov
bunglehead at gmail.com
Fri Mar 13 04:45:39 CDT 2009
http://bugs.winehq.org/show_bug.cgi?id=17564
A 7-zip file manager is obviously affected by missed notification when group
selected (with Shift pressed). Selection count and file sizes aren't updated.
Count update's based on per item notification: I'm saying that after looking
sources and some message spying on WinXP.
Changelog:
- (try2) added a fixme comment for unimplemented LVN_ODSTATECHANGED
- LVN_ITEMCHANGED notification should be sent for each item when group selected for ~LVS_OWNERDATA
>From 6dfc1b271750a30e96bdf5e7269c299a64a24d41 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Fri, 13 Mar 2009 05:23:07 -0400
Subject: LVN_ITEMCHANGED notification should be sent for each item when group selected for ~LVS_OWNERDATA
---
dlls/comctl32/listview.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index 5379561..caf82b9 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -3170,8 +3170,10 @@ static void LISTVIEW_SetGroupSelection(LISTVIEW_INFO *infoPtr, INT nItem)
iterator_destroy(&i);
}
+ /* disable per item notifications on LVS_OWNERDATA style
+ FIXME: single LVN_ODSTATECHANGED should be used */
bOldChange = infoPtr->bDoChangeNotify;
- infoPtr->bDoChangeNotify = FALSE;
+ if (infoPtr->dwStyle & LVS_OWNERDATA) infoPtr->bDoChangeNotify = FALSE;
LISTVIEW_DeselectAllSkipItems(infoPtr, selection);
--
1.5.6.5
More information about the wine-patches
mailing list