Nikolay Sivov : comctl32/listview: Directly reset focused item on item count change.

Alexandre Julliard julliard at winehq.org
Mon Dec 11 13:53:38 CST 2017


Module: wine
Branch: master
Commit: 9f019b7c76dd34bf6d47f5150c5a0317ed8f7738
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9f019b7c76dd34bf6d47f5150c5a0317ed8f7738

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Mon Dec 11 13:07:40 2017 +0300

comctl32/listview: Directly reset focused item on item count change.

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/comctl32/listview.c       | 1 +
 dlls/comctl32/tests/listview.c | 3 +--
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index 4cb1f0d..4d700b9 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -8834,6 +8834,7 @@ static BOOL LISTVIEW_SetItemCount(LISTVIEW_INFO *infoPtr, INT nItems, DWORD dwFl
 	    if (infoPtr->nFocusedItem >= nItems)
 	    {
 		LISTVIEW_SetItemFocus(infoPtr, -1);
+                infoPtr->nFocusedItem = -1;
 		SetRectEmpty(&infoPtr->rcFocus);
 	    }
 	}
diff --git a/dlls/comctl32/tests/listview.c b/dlls/comctl32/tests/listview.c
index 4e2efe4..f291698 100644
--- a/dlls/comctl32/tests/listview.c
+++ b/dlls/comctl32/tests/listview.c
@@ -6107,10 +6107,9 @@ todo_wine
     ok(ret, "Failed to set item count.\n");
 
     ret = SendMessageA(hwnd, LVM_GETNEXTITEM, -1, LVNI_FOCUSED);
-todo_wine
     ok(ret == -1, "Unexpected focused item, ret %d\n", ret);
 
-    ok_sequence(sequences, PARENT_SEQ_INDEX, empty_seq, "parent seq, owner data/focus 2", TRUE);
+    ok_sequence(sequences, PARENT_SEQ_INDEX, empty_seq, "parent seq, owner data/focus 2", FALSE);
 
     /* 2 items, focus on index 0, reduce to 1 item. */
     flush_sequences(sequences, NUM_MSG_SEQUENCES);




More information about the wine-cvs mailing list