From: Jacob Czekalla <jczekalla(a)codeweavers.com> SendSimpleNotify should return TRUE when the window handle receiving the message is invalid (e.g. destroyed) to prevent further default message processing. Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58211 --- dlls/comctl32/tests/treeview.c | 2 +- dlls/comctl32/treeview.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/dlls/comctl32/tests/treeview.c b/dlls/comctl32/tests/treeview.c index e6f8ca648f4..2708bffb669 100644 --- a/dlls/comctl32/tests/treeview.c +++ b/dlls/comctl32/tests/treeview.c @@ -3184,7 +3184,7 @@ static void test_treeview_delete_midclick(void) } flush_events(); - ok_sequence(sequences, TREEVIEW_SEQ_INDEX, test_click_delete_seq, "treeview click and destroy sequence", TRUE); + ok_sequence(sequences, TREEVIEW_SEQ_INDEX, test_click_delete_seq, "treeview click and destroy sequence", FALSE); SetCursorPos(orig_pos.x, orig_pos.y); g_click_delete_test = 0; diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c index 073f62c66a2..5848c8c1932 100644 --- a/dlls/comctl32/treeview.c +++ b/dlls/comctl32/treeview.c @@ -526,7 +526,11 @@ static BOOL TREEVIEW_SendSimpleNotify(const TREEVIEW_INFO *infoPtr, UINT code) { NMHDR hdr; - return TREEVIEW_SendRealNotify(infoPtr, code, &hdr); + BOOL result = TREEVIEW_SendRealNotify(infoPtr, code, &hdr); + + if(!IsWindow(infoPtr->hwnd)) + result = TRUE; + return result; } static VOID -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/8258