Commit 6400dabf authored by Alexandre Julliard's avatar Alexandre Julliard

user32: Pre-allocate the window procedure for the edit class.

parent 05cf0ff2
...@@ -35,6 +35,7 @@ enum builtin_winprocs ...@@ -35,6 +35,7 @@ enum builtin_winprocs
{ {
WINPROC_BUTTON = 0, WINPROC_BUTTON = 0,
WINPROC_COMBO, WINPROC_COMBO,
WINPROC_EDIT,
NB_BUILTIN_WINPROCS NB_BUILTIN_WINPROCS
}; };
......
...@@ -4971,24 +4971,6 @@ LRESULT EditWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, B ...@@ -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 * edit class descriptor
*/ */
static const WCHAR editW[] = {'E','d','i','t',0}; static const WCHAR editW[] = {'E','d','i','t',0};
...@@ -4996,8 +4978,8 @@ const struct builtin_class_descr EDIT_builtin_class = ...@@ -4996,8 +4978,8 @@ const struct builtin_class_descr EDIT_builtin_class =
{ {
editW, /* name */ editW, /* name */
CS_DBLCLKS | CS_PARENTDC, /* style */ CS_DBLCLKS | CS_PARENTDC, /* style */
EditWndProcA, /* procA */ NULL, /* procA */
EditWndProcW, /* procW */ BUILTIN_WINPROC(WINPROC_EDIT), /* procW */
#ifdef __i386__ #ifdef __i386__
sizeof(EDITSTATE *) + sizeof(HLOCAL16), /* extra */ sizeof(EDITSTATE *) + sizeof(HLOCAL16), /* extra */
#else #else
......
...@@ -55,11 +55,14 @@ static LRESULT WINAPI ButtonWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM ...@@ -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 ButtonWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
static LRESULT WINAPI ComboWndProcA( 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 ); 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] = static WINDOWPROC winproc_array[MAX_WINPROCS] =
{ {
{ ButtonWndProcA, ButtonWndProcW }, /* WINPROC_BUTTON */ { ButtonWndProcA, ButtonWndProcW }, /* WINPROC_BUTTON */
{ ComboWndProcA, ComboWndProcW }, /* WINPROC_COMBO */ { ComboWndProcA, ComboWndProcW }, /* WINPROC_COMBO */
{ EditWndProcA, EditWndProcW }, /* WINPROC_EDIT */
}; };
static UINT builtin_used = NB_BUILTIN_WINPROCS; static UINT builtin_used = NB_BUILTIN_WINPROCS;
...@@ -1065,6 +1068,16 @@ static LRESULT WINAPI ComboWndProcW( HWND hwnd, UINT message, WPARAM wParam, LPA ...@@ -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 ); 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.@) * UserRegisterWowHandlers (USER32.@)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment