mirror of
https://gitlab.winehq.org/wine/wine.git
synced 2024-11-19 17:06:04 -07:00
user32: Make the builtin window procs table layout compatible with Windows.
This commit is contained in:
parent
9f9ce9fa46
commit
d818a8d91d
3 changed files with 26 additions and 16 deletions
|
@ -1061,10 +1061,15 @@ struct wow_handlers16 wow_handlers =
|
|||
NULL, /* call_dialog_proc */
|
||||
};
|
||||
|
||||
static const struct ntuser_client_procs_table client_procs =
|
||||
{
|
||||
#define MessageWndProcA MessageWndProc
|
||||
#define MessageWndProcW MessageWndProc
|
||||
#define ComboLBoxWndProcA ListBoxWndProcA
|
||||
#define ComboLBoxWndProcW ListBoxWndProcW
|
||||
#define GhostWndProcA DefWindowProcA
|
||||
#define GhostWndProcW DefWindowProcW
|
||||
|
||||
static const struct ntuser_client_procs_table client_procs =
|
||||
{
|
||||
#define USER_FUNC(name,proc) .A[proc] = { name##A }, .W[proc] = { name##W },
|
||||
ALL_NTUSER_CLIENT_PROCS
|
||||
#undef USER_FUNC
|
||||
|
|
|
@ -1091,7 +1091,7 @@ static const struct builtin_class_descr builtin_classes[] =
|
|||
{
|
||||
.name = "ComboLBox",
|
||||
.style = CS_DBLCLKS | CS_SAVEBITS,
|
||||
.proc = NTUSER_WNDPROC_LISTBOX,
|
||||
.proc = NTUSER_WNDPROC_COMBOLBOX,
|
||||
.extra = sizeof(void *),
|
||||
.cursor = IDC_ARROW,
|
||||
},
|
||||
|
|
|
@ -446,23 +446,26 @@ struct send_message_callback_params
|
|||
/* NtUserSetScrollInfo flag */
|
||||
#define SIF_RETURNPREV 0x1000
|
||||
|
||||
/* NtUserInitializeClientPfnArrays parameter, not compatible with Windows */
|
||||
/* NtUserInitializeClientPfnArrays parameter */
|
||||
enum ntuser_client_procs
|
||||
{
|
||||
NTUSER_WNDPROC_SCROLLBAR,
|
||||
NTUSER_WNDPROC_MESSAGE,
|
||||
NTUSER_WNDPROC_MENU,
|
||||
NTUSER_WNDPROC_DESKTOP,
|
||||
NTUSER_WNDPROC_DEFWND,
|
||||
NTUSER_WNDPROC_ICONTITLE,
|
||||
NTUSER_WNDPROC_UNKNOWN,
|
||||
NTUSER_WNDPROC_BUTTON,
|
||||
NTUSER_WNDPROC_COMBO,
|
||||
NTUSER_WNDPROC_DEFWND,
|
||||
NTUSER_WNDPROC_COMBOLBOX,
|
||||
NTUSER_WNDPROC_DIALOG,
|
||||
NTUSER_WNDPROC_EDIT,
|
||||
NTUSER_WNDPROC_LISTBOX,
|
||||
NTUSER_WNDPROC_MDICLIENT,
|
||||
NTUSER_WNDPROC_SCROLLBAR,
|
||||
NTUSER_WNDPROC_STATIC,
|
||||
NTUSER_WNDPROC_IME,
|
||||
NTUSER_WNDPROC_DESKTOP,
|
||||
NTUSER_WNDPROC_ICONTITLE,
|
||||
NTUSER_WNDPROC_MENU,
|
||||
NTUSER_WNDPROC_MESSAGE,
|
||||
NTUSER_WNDPROC_GHOST,
|
||||
NTUSER_NB_PROCS
|
||||
};
|
||||
|
||||
|
@ -478,20 +481,22 @@ struct ntuser_client_procs_table
|
|||
ntuser_client_func_ptr workers[NTUSER_NB_WORKERS];
|
||||
};
|
||||
#define ALL_NTUSER_CLIENT_PROCS \
|
||||
USER_FUNC( ScrollBarWndProc, NTUSER_WNDPROC_SCROLLBAR ) \
|
||||
USER_FUNC( MessageWndProc, NTUSER_WNDPROC_MESSAGE ) \
|
||||
USER_FUNC( PopupMenuWndProc, NTUSER_WNDPROC_MENU ) \
|
||||
USER_FUNC( DesktopWndProc, NTUSER_WNDPROC_DESKTOP ) \
|
||||
USER_FUNC( DefWindowProc, NTUSER_WNDPROC_DEFWND ) \
|
||||
USER_FUNC( IconTitleWndProc, NTUSER_WNDPROC_ICONTITLE ) \
|
||||
USER_FUNC( ButtonWndProc, NTUSER_WNDPROC_BUTTON ) \
|
||||
USER_FUNC( ComboWndProc, NTUSER_WNDPROC_COMBO ) \
|
||||
USER_FUNC( DefWindowProc, NTUSER_WNDPROC_DEFWND ) \
|
||||
USER_FUNC( ComboLBoxWndProc, NTUSER_WNDPROC_COMBOLBOX ) \
|
||||
USER_FUNC( DialogWndProc, NTUSER_WNDPROC_DIALOG ) \
|
||||
USER_FUNC( EditWndProc, NTUSER_WNDPROC_EDIT ) \
|
||||
USER_FUNC( ListBoxWndProc, NTUSER_WNDPROC_LISTBOX ) \
|
||||
USER_FUNC( MDIClientWndProc, NTUSER_WNDPROC_MDICLIENT ) \
|
||||
USER_FUNC( ScrollBarWndProc, NTUSER_WNDPROC_SCROLLBAR ) \
|
||||
USER_FUNC( StaticWndProc, NTUSER_WNDPROC_STATIC ) \
|
||||
USER_FUNC( ImeWndProc, NTUSER_WNDPROC_IME ) \
|
||||
USER_FUNC( DesktopWndProc, NTUSER_WNDPROC_DESKTOP ) \
|
||||
USER_FUNC( IconTitleWndProc, NTUSER_WNDPROC_ICONTITLE ) \
|
||||
USER_FUNC( PopupMenuWndProc, NTUSER_WNDPROC_MENU ) \
|
||||
USER_FUNC( MessageWndProc, NTUSER_WNDPROC_MESSAGE )
|
||||
USER_FUNC( GhostWndProc, NTUSER_WNDPROC_GHOST )
|
||||
|
||||
|
||||
/* NtUserSetCursorIconData parameter, not compatible with Windows */
|
||||
|
|
Loading…
Reference in a new issue