Nikolay Sivov : comctl32/treeview: Handle EN_KILLFOCUS in WM_COMMAND handler.

Alexandre Julliard julliard at winehq.org
Thu Aug 6 10:49:48 CDT 2009


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

Author: Nikolay Sivov <bunglehead at gmail.com>
Date:   Thu Aug  6 13:43:18 2009 +0400

comctl32/treeview: 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);




More information about the wine-cvs mailing list