Lei Zhang : user32: Handle VK_RETURN WM_KEYDOWN events better in edit controls.
Alexandre Julliard
julliard at winehq.org
Thu Apr 24 06:23:42 CDT 2008
Module: wine
Branch: master
Commit: 2f0b111243609c9501c130e341871cd6dedfb515
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2f0b111243609c9501c130e341871cd6dedfb515
Author: Lei Zhang <thestig at google.com>
Date: Wed Apr 23 17:58:30 2008 -0700
user32: Handle VK_RETURN WM_KEYDOWN events better in edit controls.
Elias Benali wrote the initial version of this patch.
---
dlls/user32/edit.c | 8 ++++++--
dlls/user32/tests/edit.c | 4 ++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/dlls/user32/edit.c b/dlls/user32/edit.c
index 7748b70..4c0342b 100644
--- a/dlls/user32/edit.c
+++ b/dlls/user32/edit.c
@@ -4602,8 +4602,12 @@ static LRESULT EDIT_WM_KeyDown(EDITSTATE *es, INT key)
/* If the edit doesn't want the return send a message to the default object */
if(!(es->style & ES_MULTILINE) || !(es->style & ES_WANTRETURN))
{
- HWND hwndParent = GetParent(es->hwndSelf);
- DWORD dw = SendMessageW( hwndParent, DM_GETDEFID, 0, 0 );
+ HWND hwndParent;
+ DWORD dw;
+
+ if (!EDIT_IsInsideDialog(es)) return 1;
+ hwndParent = GetParent(es->hwndSelf);
+ dw = SendMessageW( hwndParent, DM_GETDEFID, 0, 0 );
if (HIWORD(dw) == DC_HASDEFID)
{
SendMessageW( hwndParent, WM_COMMAND,
diff --git a/dlls/user32/tests/edit.c b/dlls/user32/tests/edit.c
index b34e6e0..9f40416 100644
--- a/dlls/user32/tests/edit.c
+++ b/dlls/user32/tests/edit.c
@@ -1932,8 +1932,8 @@ static void test_child_edit_wmkeydown(void)
hwParent = GetParent(hwEdit);
SetWindowLong(hwParent, GWL_WNDPROC, (LONG)child_edit_wmkeydown_proc);
r = SendMessage(hwEdit, WM_KEYDOWN, VK_RETURN, 0x1c0001);
- todo_wine ok(1 == r, "expected 1, got %d\n", r);
- todo_wine ok(0 == child_edit_wmkeydown_num_messages, "expected 0, got %d\n", child_edit_wmkeydown_num_messages);
+ ok(1 == r, "expected 1, got %d\n", r);
+ ok(0 == child_edit_wmkeydown_num_messages, "expected 0, got %d\n", child_edit_wmkeydown_num_messages);
destroy_child_editcontrol(hwEdit);
}
More information about the wine-cvs
mailing list