Alexandre Julliard : user32: Pre-allocate the window procedure for the message class.
Alexandre Julliard
julliard at winehq.org
Fri Dec 18 10:49:09 CST 2009
Module: wine
Branch: master
Commit: 6b0cdc192272094cf0ff783aef9176ba090bded6
URL: http://source.winehq.org/git/wine.git/?a=commit;h=6b0cdc192272094cf0ff783aef9176ba090bded6
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Dec 18 12:38:22 2009 +0100
user32: Pre-allocate the window procedure for the message class.
---
dlls/user32/controls.h | 2 ++
dlls/user32/message.c | 8 ++++----
dlls/user32/winproc.c | 1 +
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/dlls/user32/controls.h b/dlls/user32/controls.h
index 6925f33..ba455ba 100644
--- a/dlls/user32/controls.h
+++ b/dlls/user32/controls.h
@@ -47,6 +47,7 @@ enum builtin_winprocs
WINPROC_DESKTOP,
WINPROC_ICONTITLE,
WINPROC_MENU,
+ WINPROC_MESSAGE,
NB_BUILTIN_WINPROCS,
NB_BUILTIN_AW_WINPROCS = WINPROC_DESKTOP
};
@@ -83,6 +84,7 @@ extern const struct builtin_class_descr STATIC_builtin_class DECLSPEC_HIDDEN;
extern LRESULT WINAPI DesktopWndProc(HWND,UINT,WPARAM,LPARAM) DECLSPEC_HIDDEN;
extern LRESULT WINAPI IconTitleWndProc(HWND,UINT,WPARAM,LPARAM) DECLSPEC_HIDDEN;
extern LRESULT WINAPI PopupMenuWndProc(HWND,UINT,WPARAM,LPARAM) DECLSPEC_HIDDEN;
+extern LRESULT WINAPI MessageWndProc(HWND,UINT,WPARAM,LPARAM) DECLSPEC_HIDDEN;
/* Wow handlers */
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index 285a24c..b544a76 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -91,13 +91,13 @@ struct send_message_info
/* Message class descriptor */
static const WCHAR messageW[] = {'M','e','s','s','a','g','e',0};
-static LRESULT WINAPI message_winproc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam );
+
const struct builtin_class_descr MESSAGE_builtin_class =
{
messageW, /* name */
0, /* style */
NULL, /* procA (winproc is Unicode only) */
- message_winproc, /* procW */
+ BUILTIN_WINPROC(WINPROC_MESSAGE), /* procW */
0, /* extra */
IDC_ARROW, /* cursor */
0 /* brush */
@@ -333,11 +333,11 @@ static inline BOOL get_pending_wmchar( MSG *msg, UINT first, UINT last, BOOL rem
/***********************************************************************
- * message_winproc
+ * MessageWndProc
*
* Window procedure for "Message" windows (HWND_MESSAGE parent).
*/
-static LRESULT WINAPI message_winproc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
+LRESULT WINAPI MessageWndProc( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam )
{
if (message == WM_NCCREATE) return TRUE;
return 0; /* all other messages are ignored */
diff --git a/dlls/user32/winproc.c b/dlls/user32/winproc.c
index 15920a1..7bdb91d 100644
--- a/dlls/user32/winproc.c
+++ b/dlls/user32/winproc.c
@@ -77,6 +77,7 @@ static WINDOWPROC winproc_array[MAX_WINPROCS] =
{ NULL, DesktopWndProc }, /* WINPROC_DESKTOP */
{ NULL, IconTitleWndProc }, /* WINPROC_ICONTITLE */
{ NULL, PopupMenuWndProc }, /* WINPROC_MENU */
+ { NULL, MessageWndProc }, /* WINPROC_MESSAGE */
};
static UINT winproc_used = NB_BUILTIN_WINPROCS;
More information about the wine-cvs
mailing list