[PATCH 09/12] Fix TVN_DELETEITEM to use item that is about to be deleted
Nikolay Sivov
nsivov at codeweavers.com
Sat Oct 23 13:15:04 CDT 2010
---
dlls/comctl32/tests/treeview.c | 6 ++----
dlls/comctl32/treeview.c | 6 +++---
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/dlls/comctl32/tests/treeview.c b/dlls/comctl32/tests/treeview.c
index 7238bd0..5088d91 100644
--- a/dlls/comctl32/tests/treeview.c
+++ b/dlls/comctl32/tests/treeview.c
@@ -1359,10 +1359,8 @@ static void test_delete_items(void)
if (item_sequence[0]->count == 2)
{
-todo_wine {
- ok(msg[0].lParam == (LPARAM)hChild, "expected %p, got %lx\n", hChild, msg[0].lParam);
- ok(msg[1].lParam == (LPARAM)hRoot, "expected %p, got %lx\n", hRoot, msg[1].lParam);
-}
+ ok(msg[0].lParam == (LPARAM)hChild, "expected %p, got 0x%lx\n", hChild, msg[0].lParam);
+ ok(msg[1].lParam == (LPARAM)hRoot, "expected %p, got 0x%lx\n", hRoot, msg[1].lParam);
}
ret = SendMessageA(hTree, TVM_GETCOUNT, 0, 0);
diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c
index 1ca5639..f8c28de 100644
--- a/dlls/comctl32/treeview.c
+++ b/dlls/comctl32/treeview.c
@@ -1479,12 +1479,12 @@ TREEVIEW_RemoveItem(TREEVIEW_INFO *infoPtr, TREEVIEW_ITEM *wineItem)
{
TRACE("%p, (%s)\n", wineItem, TREEVIEW_ItemName(wineItem));
- TREEVIEW_SendTreeviewNotify(infoPtr, TVN_DELETEITEMW, TVC_UNKNOWN,
- TVIF_HANDLE | TVIF_PARAM, wineItem, 0);
-
if (wineItem->firstChild)
TREEVIEW_RemoveAllChildren(infoPtr, wineItem);
+ TREEVIEW_SendTreeviewNotify(infoPtr, TVN_DELETEITEMW, TVC_UNKNOWN,
+ TVIF_HANDLE | TVIF_PARAM, wineItem, 0);
+
TREEVIEW_UnlinkItem(wineItem);
infoPtr->uNumItems--;
--
1.5.6.5
--------------060706050905060702060200--
More information about the wine-patches
mailing list