Module: wine Branch: master Commit: 6400dabf40ab2015141732c38fab9558fa6836bc URL: http://source.winehq.org/git/wine.git/?a=commit;h=6400dabf40ab2015141732c38f...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Dec 17 12:57:40 2009 +0100
user32: Pre-allocate the window procedure for the edit class.
---
dlls/user32/controls.h | 1 + dlls/user32/edit.c | 22 ++-------------------- dlls/user32/winproc.c | 13 +++++++++++++ 3 files changed, 16 insertions(+), 20 deletions(-)
diff --git a/dlls/user32/controls.h b/dlls/user32/controls.h index 76c714c..37b9bc5 100644 --- a/dlls/user32/controls.h +++ b/dlls/user32/controls.h @@ -35,6 +35,7 @@ enum builtin_winprocs { WINPROC_BUTTON = 0, WINPROC_COMBO, + WINPROC_EDIT, NB_BUILTIN_WINPROCS };
diff --git a/dlls/user32/edit.c b/dlls/user32/edit.c index a2ce5f1..3466002 100644 --- a/dlls/user32/edit.c +++ b/dlls/user32/edit.c @@ -4971,24 +4971,6 @@ LRESULT EditWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, B
/********************************************************************* - * - * EditWndProc (USER32.@) - */ -LRESULT WINAPI EditWndProcA(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) -{ - return wow_handlers.edit_proc(hWnd, uMsg, wParam, lParam, FALSE); -} - -/********************************************************************* - * - * EditWndProcW - */ -static LRESULT WINAPI EditWndProcW(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) -{ - return wow_handlers.edit_proc(hWnd, uMsg, wParam, lParam, TRUE); -} - -/********************************************************************* * edit class descriptor */ static const WCHAR editW[] = {'E','d','i','t',0}; @@ -4996,8 +4978,8 @@ const struct builtin_class_descr EDIT_builtin_class = { editW, /* name */ CS_DBLCLKS | CS_PARENTDC, /* style */ - EditWndProcA, /* procA */ - EditWndProcW, /* procW */ + NULL, /* procA */ + BUILTIN_WINPROC(WINPROC_EDIT), /* procW */ #ifdef __i386__ sizeof(EDITSTATE *) + sizeof(HLOCAL16), /* extra */ #else diff --git a/dlls/user32/winproc.c b/dlls/user32/winproc.c index 32b94b4..a21b4f0 100644 --- a/dlls/user32/winproc.c +++ b/dlls/user32/winproc.c @@ -55,11 +55,14 @@ static LRESULT WINAPI ButtonWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM static LRESULT WINAPI ButtonWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI ComboWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI ComboWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); +LRESULT WINAPI EditWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); +static LRESULT WINAPI EditWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
static WINDOWPROC winproc_array[MAX_WINPROCS] = { { ButtonWndProcA, ButtonWndProcW }, /* WINPROC_BUTTON */ { ComboWndProcA, ComboWndProcW }, /* WINPROC_COMBO */ + { EditWndProcA, EditWndProcW }, /* WINPROC_EDIT */ };
static UINT builtin_used = NB_BUILTIN_WINPROCS; @@ -1065,6 +1068,16 @@ static LRESULT WINAPI ComboWndProcW( HWND hwnd, UINT message, WPARAM wParam, LPA return wow_handlers.combo_proc( hwnd, message, wParam, lParam, TRUE ); }
+LRESULT WINAPI EditWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) +{ + return wow_handlers.edit_proc( hwnd, msg, wParam, lParam, FALSE ); +} + +static LRESULT WINAPI EditWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) +{ + return wow_handlers.edit_proc( hwnd, msg, wParam, lParam, TRUE ); +} +
/********************************************************************** * UserRegisterWowHandlers (USER32.@)