diff --git a/dlls/user32/controls.h b/dlls/user32/controls.h index 35be645073..2df4f450cb 100644 --- a/dlls/user32/controls.h +++ b/dlls/user32/controls.h @@ -38,6 +38,7 @@ enum builtin_winprocs WINPROC_DIALOG, WINPROC_EDIT, WINPROC_LISTBOX, + WINPROC_MDICLIENT, WINPROC_SCROLLBAR, WINPROC_STATIC, NB_BUILTIN_WINPROCS diff --git a/dlls/user32/mdi.c b/dlls/user32/mdi.c index e1910f85aa..fcfbd27e00 100644 --- a/dlls/user32/mdi.c +++ b/dlls/user32/mdi.c @@ -150,8 +150,6 @@ static LONG MDI_ChildActivate( HWND, HWND ); static LRESULT MDI_RefreshMenu(MDICLIENTINFO *); static HWND MDI_MoreWindowsDialog(HWND); -static LRESULT WINAPI MDIClientWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ); -static LRESULT WINAPI MDIClientWndProcW( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ); /* -------- Miscellaneous service functions ---------- * @@ -188,8 +186,8 @@ const struct builtin_class_descr MDICLIENT_builtin_class = { mdiclientW, /* name */ 0, /* style */ - MDIClientWndProcA, /* procA */ - MDIClientWndProcW, /* procW */ + NULL, /* procA */ + BUILTIN_WINPROC(WINPROC_MDICLIENT), /* procW */ sizeof(MDICLIENTINFO), /* extra */ IDC_ARROW, /* cursor */ (HBRUSH)(COLOR_APPWORKSPACE+1) /* brush */ @@ -1271,24 +1269,6 @@ LRESULT MDIClientWndProc_common( HWND hwnd, UINT message, WPARAM wParam, LPARAM DefWindowProcA( hwnd, message, wParam, lParam ); } -/*********************************************************************** - * MDIClientWndProcA - */ -static LRESULT WINAPI MDIClientWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) -{ - if (!IsWindow(hwnd)) return 0; - return wow_handlers.mdiclient_proc( hwnd, message, wParam, lParam, FALSE ); -} - -/*********************************************************************** - * MDIClientWndProcW - */ -static LRESULT WINAPI MDIClientWndProcW( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) -{ - if (!IsWindow(hwnd)) return 0; - return wow_handlers.mdiclient_proc( hwnd, message, wParam, lParam, TRUE ); -} - /*********************************************************************** * DefFrameProcA (USER32.@) */ diff --git a/dlls/user32/winproc.c b/dlls/user32/winproc.c index 89a1ae9812..d71dca2d3e 100644 --- a/dlls/user32/winproc.c +++ b/dlls/user32/winproc.c @@ -57,6 +57,8 @@ LRESULT WINAPI EditWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) static LRESULT WINAPI EditWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI ListBoxWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI ListBoxWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); +static LRESULT WINAPI MDIClientWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); +static LRESULT WINAPI MDIClientWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI ScrollBarWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI ScrollBarWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI StaticWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); @@ -69,6 +71,7 @@ static WINDOWPROC winproc_array[MAX_WINPROCS] = { DefDlgProcA, DefDlgProcW }, /* WINPROC_DIALOG */ { EditWndProcA, EditWndProcW }, /* WINPROC_EDIT */ { ListBoxWndProcA, ListBoxWndProcW }, /* WINPROC_LISTBOX */ + { MDIClientWndProcA, MDIClientWndProcW }, /* WINPROC_MDICLIENT */ { ScrollBarWndProcA, ScrollBarWndProcW }, /* WINPROC_SCROLLBAR */ { StaticWndProcA, StaticWndProcW }, /* WINPROC_STATIC */ }; @@ -1096,6 +1099,16 @@ static LRESULT WINAPI ListBoxWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARA return wow_handlers.listbox_proc( hwnd, msg, wParam, lParam, TRUE ); } +static LRESULT WINAPI MDIClientWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) +{ + return wow_handlers.mdiclient_proc( hwnd, msg, wParam, lParam, FALSE ); +} + +static LRESULT WINAPI MDIClientWndProcW( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) +{ + return wow_handlers.mdiclient_proc( hwnd, msg, wParam, lParam, TRUE ); +} + static LRESULT WINAPI ScrollBarWndProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) { return wow_handlers.scrollbar_proc( hwnd, msg, wParam, lParam, FALSE );