user32: Pre-allocate the window procedure for the icon title class.

This commit is contained in:
Alexandre Julliard 2009-12-18 12:37:05 +01:00
parent 0c4e151ee9
commit d88c34099b
3 changed files with 4 additions and 3 deletions

View File

@ -45,6 +45,7 @@ enum builtin_winprocs
WINPROC_STATIC, WINPROC_STATIC,
/* unicode-only procs */ /* unicode-only procs */
WINPROC_DESKTOP, WINPROC_DESKTOP,
WINPROC_ICONTITLE,
NB_BUILTIN_WINPROCS, NB_BUILTIN_WINPROCS,
NB_BUILTIN_AW_WINPROCS = WINPROC_DESKTOP NB_BUILTIN_AW_WINPROCS = WINPROC_DESKTOP
}; };
@ -79,6 +80,7 @@ extern const struct builtin_class_descr SCROLL_builtin_class DECLSPEC_HIDDEN;
extern const struct builtin_class_descr STATIC_builtin_class DECLSPEC_HIDDEN; extern const struct builtin_class_descr STATIC_builtin_class DECLSPEC_HIDDEN;
extern LRESULT WINAPI DesktopWndProc(HWND,UINT,WPARAM,LPARAM) DECLSPEC_HIDDEN; extern LRESULT WINAPI DesktopWndProc(HWND,UINT,WPARAM,LPARAM) DECLSPEC_HIDDEN;
extern LRESULT WINAPI IconTitleWndProc(HWND,UINT,WPARAM,LPARAM) DECLSPEC_HIDDEN;
/* Wow handlers */ /* Wow handlers */

View File

@ -38,8 +38,6 @@
static BOOL bMultiLineTitle; static BOOL bMultiLineTitle;
static HFONT hIconTitleFont; static HFONT hIconTitleFont;
static LRESULT WINAPI IconTitleWndProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
/********************************************************************* /*********************************************************************
* icon title class descriptor * icon title class descriptor
*/ */
@ -48,7 +46,7 @@ const struct builtin_class_descr ICONTITLE_builtin_class =
(LPCWSTR)ICONTITLE_CLASS_ATOM, /* name */ (LPCWSTR)ICONTITLE_CLASS_ATOM, /* name */
0, /* style */ 0, /* style */
NULL, /* procA (winproc is Unicode only) */ NULL, /* procA (winproc is Unicode only) */
IconTitleWndProc, /* procW */ BUILTIN_WINPROC(WINPROC_ICONTITLE), /* procW */
0, /* extra */ 0, /* extra */
IDC_ARROW, /* cursor */ IDC_ARROW, /* cursor */
0 /* brush */ 0 /* brush */

View File

@ -75,6 +75,7 @@ static WINDOWPROC winproc_array[MAX_WINPROCS] =
{ ScrollBarWndProcA, ScrollBarWndProcW }, /* WINPROC_SCROLLBAR */ { ScrollBarWndProcA, ScrollBarWndProcW }, /* WINPROC_SCROLLBAR */
{ StaticWndProcA, StaticWndProcW }, /* WINPROC_STATIC */ { StaticWndProcA, StaticWndProcW }, /* WINPROC_STATIC */
{ NULL, DesktopWndProc }, /* WINPROC_DESKTOP */ { NULL, DesktopWndProc }, /* WINPROC_DESKTOP */
{ NULL, IconTitleWndProc }, /* WINPROC_ICONTITLE */
}; };
static UINT winproc_used = NB_BUILTIN_WINPROCS; static UINT winproc_used = NB_BUILTIN_WINPROCS;