[5/5] comctl32/treeview: Handle EN_KILLFOCUS in WM_COMMAND handler

Nikolay Sivov bunglehead at gmail.com
Thu Aug 6 04:53:02 CDT 2009


Changelog:
    - Handle EN_KILLFOCUS in WM_COMMAND handler

>From 800b722a37c9b45f4b23f224bc5762ff78e48e07 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Thu, 6 Aug 2009 13:43:18 +0400
Subject: Handle EN_KILLFOCUS in WM_COMMAND handler

---
 dlls/comctl32/tests/treeview.c |    2 +-
 dlls/comctl32/treeview.c       |    6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/dlls/comctl32/tests/treeview.c b/dlls/comctl32/tests/treeview.c
index 06a0445..252949f 100644
--- a/dlls/comctl32/tests/treeview.c
+++ b/dlls/comctl32/tests/treeview.c
@@ -875,7 +875,7 @@ static void test_itemedit(void)
 
     r = SendMessage(hTree, WM_COMMAND, MAKEWPARAM(0, EN_KILLFOCUS), (LPARAM)edit);
     expect(0, r);
-    todo_wine ok(!IsWindow(edit), "Expected edit control to be destroyed\n");
+    ok(!IsWindow(edit), "Expected edit control to be destroyed\n");
 
     DestroyWindow(hTree);
 }
diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c
index 8155aab..84a8c30 100644
--- a/dlls/comctl32/treeview.c
+++ b/dlls/comctl32/treeview.c
@@ -3637,6 +3637,9 @@ TREEVIEW_Command(TREEVIEW_INFO *infoPtr, WPARAM wParam, LPARAM lParam)
 	    ReleaseDC(infoPtr->hwnd, hdc);
 	    break;
 	}
+    case EN_KILLFOCUS:
+        TREEVIEW_EndEditLabelNow(infoPtr, FALSE);
+        break;
 
     default:
 	return SendMessageW(infoPtr->hwndNotify, WM_COMMAND, wParam, lParam);
@@ -3757,8 +3760,7 @@ TREEVIEW_EndEditLabelNow(TREEVIEW_INFO *infoPtr, BOOL bCancel)
     WCHAR *newText = tmpText;
     int iLength = 0;
 
-    if (!infoPtr->hwndEdit)
-	return FALSE;
+    if (!IsWindow(infoPtr->hwndEdit)) return FALSE;
 
     tvdi.hdr.hwndFrom = hwnd;
     tvdi.hdr.idFrom = GetWindowLongPtrW(hwnd, GWLP_ID);
-- 
1.5.6.5





More information about the wine-patches mailing list