Treeview control sends incorrect messages when expanding
Adam Gundy
arg at cyberscience.com
Tue Oct 14 10:44:37 CDT 2003
Martin Fuchs' patch of July 21st broke the treeview control - he changed it
so that TVN_ITEMEXPANDING messages are sent when expanding any item which has
not already been expanded.
This is not the way Windows behaves - it only sends these messages for items
which have been marked as having children (via the TVIF_CHILDREN/cChildren
flags) - note that marking in this way doesn't mean that the children yet exist;
hence the TVN_ITEMEXPANDING etc messages which Martin wanted.
the attached patch fixes the problem.
Seeya,
Adam
--
Real Programmers don't comment their code. If it was hard to write,
it should be hard to read, and even harder to modify.
These are all my own opinions.
-------------- next part --------------
Index: dlls/comctl32/treeview.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/treeview.c,v
retrieving revision 1.129
diff -u -r1.129 treeview.c
--- dlls/comctl32/treeview.c 22 Sep 2003 21:32:33 -0000 1.129
+++ dlls/comctl32/treeview.c 14 Oct 2003 15:22:25 -0000
@@ -3203,7 +3203,8 @@
TRACE("TVE_EXPAND %p %s\n", wineItem, TREEVIEW_ItemName(wineItem));
- if (bUser || !(wineItem->state & TVIS_EXPANDEDONCE))
+ if (bUser || ((wineItem->cChildren != 0) &&
+ !(wineItem->state & TVIS_EXPANDEDONCE)))
{
if (!TREEVIEW_SendExpanding(infoPtr, wineItem, TVE_EXPAND))
{
More information about the wine-patches
mailing list