From 0cbf191add364fddd669d39793d3f0950a14e5b9 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Thu, 17 Dec 2009 13:00:23 +0100 Subject: [PATCH] user32: Pre-allocate the window procedure for the dialog class. --- dlls/user32/controls.h | 1 + dlls/user32/dialog.c | 4 ++-- dlls/user32/winproc.c | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dlls/user32/controls.h b/dlls/user32/controls.h index 72a65a042e7..35be6450739 100644 --- a/dlls/user32/controls.h +++ b/dlls/user32/controls.h @@ -35,6 +35,7 @@ enum builtin_winprocs { WINPROC_BUTTON = 0, WINPROC_COMBO, + WINPROC_DIALOG, WINPROC_EDIT, WINPROC_LISTBOX, WINPROC_SCROLLBAR, diff --git a/dlls/user32/dialog.c b/dlls/user32/dialog.c index b6989a6a54d..1309c09f455 100644 --- a/dlls/user32/dialog.c +++ b/dlls/user32/dialog.c @@ -97,8 +97,8 @@ const struct builtin_class_descr DIALOG_builtin_class = { (LPCWSTR)DIALOG_CLASS_ATOM, /* name */ CS_SAVEBITS | CS_DBLCLKS, /* style */ - DefDlgProcA, /* procA */ - DefDlgProcW, /* procW */ + NULL, /* procA */ + BUILTIN_WINPROC(WINPROC_DIALOG), /* procW */ DLGWINDOWEXTRA, /* extra */ IDC_ARROW, /* cursor */ 0 /* brush */ diff --git a/dlls/user32/winproc.c b/dlls/user32/winproc.c index d2e75a10c42..89a1ae98126 100644 --- a/dlls/user32/winproc.c +++ b/dlls/user32/winproc.c @@ -66,6 +66,7 @@ static WINDOWPROC winproc_array[MAX_WINPROCS] = { { ButtonWndProcA, ButtonWndProcW }, /* WINPROC_BUTTON */ { ComboWndProcA, ComboWndProcW }, /* WINPROC_COMBO */ + { DefDlgProcA, DefDlgProcW }, /* WINPROC_DIALOG */ { EditWndProcA, EditWndProcW }, /* WINPROC_EDIT */ { ListBoxWndProcA, ListBoxWndProcW }, /* WINPROC_LISTBOX */ { ScrollBarWndProcA, ScrollBarWndProcW }, /* WINPROC_SCROLLBAR */