Removed input.h, queue.h, spy.h and sysmetrics.h and moved their
contents to user.h. Moved message.h and winproc.h to dlls/user.
This commit is contained in:
parent
94f83596c7
commit
18d029722f
|
@ -28,7 +28,7 @@
|
||||||
#include "winuser.h"
|
#include "winuser.h"
|
||||||
#include "wine/winuser16.h"
|
#include "wine/winuser16.h"
|
||||||
#include "wine/unicode.h"
|
#include "wine/unicode.h"
|
||||||
#include "spy.h"
|
#include "message.h"
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "controls.h"
|
#include "controls.h"
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include "wine/unicode.h"
|
#include "wine/unicode.h"
|
||||||
#include "winuser.h"
|
#include "winuser.h"
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "spy.h"
|
#include "message.h"
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "controls.h"
|
#include "controls.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "spy.h"
|
#include "message.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(scroll);
|
WINE_DEFAULT_DEBUG_CHANNEL(scroll);
|
||||||
|
|
||||||
|
|
|
@ -146,7 +146,6 @@
|
||||||
#include "wingdi.h"
|
#include "wingdi.h"
|
||||||
#include "wine/unicode.h"
|
#include "wine/unicode.h"
|
||||||
#include "commctrl.h"
|
#include "commctrl.h"
|
||||||
/* #include "spy.h" */
|
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(rebar);
|
WINE_DEFAULT_DEBUG_CHANNEL(rebar);
|
||||||
|
@ -4261,7 +4260,7 @@ REBAR_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||||
REBAR_INFO *infoPtr = REBAR_GetInfoPtr (hwnd);
|
REBAR_INFO *infoPtr = REBAR_GetInfoPtr (hwnd);
|
||||||
|
|
||||||
TRACE("hwnd=%p msg=%x wparam=%x lparam=%lx\n",
|
TRACE("hwnd=%p msg=%x wparam=%x lparam=%lx\n",
|
||||||
hwnd, uMsg, /* SPY_GetMsgName(uMsg), */ wParam, lParam);
|
hwnd, uMsg, wParam, lParam);
|
||||||
if (!infoPtr && (uMsg != WM_NCCREATE))
|
if (!infoPtr && (uMsg != WM_NCCREATE))
|
||||||
return DefWindowProcA (hwnd, uMsg, wParam, lParam);
|
return DefWindowProcA (hwnd, uMsg, wParam, lParam);
|
||||||
switch (uMsg)
|
switch (uMsg)
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
#include "winuser.h"
|
#include "winuser.h"
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "heap.h"
|
#include "heap.h"
|
||||||
#include "queue.h"
|
#include "message.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "wine/server.h"
|
#include "wine/server.h"
|
||||||
#include "wine/unicode.h"
|
#include "wine/unicode.h"
|
||||||
|
|
|
@ -26,8 +26,9 @@
|
||||||
#include "winuser.h"
|
#include "winuser.h"
|
||||||
#include "wownt32.h"
|
#include "wownt32.h"
|
||||||
#include "wine/winuser16.h"
|
#include "wine/winuser16.h"
|
||||||
#include "queue.h"
|
#include "message.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
|
#include "winproc.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(hook);
|
WINE_DEFAULT_DEBUG_CHANNEL(hook);
|
||||||
|
|
|
@ -29,12 +29,10 @@
|
||||||
#include "dde.h"
|
#include "dde.h"
|
||||||
#include "wine/unicode.h"
|
#include "wine/unicode.h"
|
||||||
#include "wine/server.h"
|
#include "wine/server.h"
|
||||||
#include "queue.h"
|
|
||||||
#include "input.h"
|
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "spy.h"
|
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
|
#include "winproc.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(msg);
|
WINE_DEFAULT_DEBUG_CHANNEL(msg);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Message queues definitions
|
* Message definitions
|
||||||
*
|
*
|
||||||
* Copyright 1993 Alexandre Julliard
|
* Copyright 1993 Alexandre Julliard
|
||||||
*
|
*
|
||||||
|
@ -18,14 +18,11 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __WINE_QUEUE_H
|
#ifndef __WINE_MESSAGE_H
|
||||||
#define __WINE_QUEUE_H
|
#define __WINE_MESSAGE_H
|
||||||
|
|
||||||
#include "windef.h"
|
#include "windef.h"
|
||||||
#include "winbase.h"
|
#include "wine/windef16.h"
|
||||||
#include "wingdi.h"
|
|
||||||
#include "winuser.h"
|
|
||||||
#include "thread.h"
|
|
||||||
|
|
||||||
struct received_message_info;
|
struct received_message_info;
|
||||||
struct hook16_queue_info;
|
struct hook16_queue_info;
|
||||||
|
@ -51,8 +48,40 @@ typedef struct tagMESSAGEQUEUE
|
||||||
|
|
||||||
#define MAX_SENDMSG_RECURSION 64
|
#define MAX_SENDMSG_RECURSION 64
|
||||||
|
|
||||||
/* Message queue management methods */
|
/* queue.c */
|
||||||
extern MESSAGEQUEUE *QUEUE_Current(void);
|
extern MESSAGEQUEUE *QUEUE_Current(void);
|
||||||
extern void QUEUE_DeleteMsgQueue(void);
|
extern void QUEUE_DeleteMsgQueue(void);
|
||||||
|
|
||||||
#endif /* __WINE_QUEUE_H */
|
/* message.c */
|
||||||
|
extern BOOL MSG_process_raw_hardware_message( MSG *msg, ULONG_PTR extra_info, HWND hwnd_filter,
|
||||||
|
UINT first, UINT last, BOOL remove );
|
||||||
|
extern BOOL MSG_process_cooked_hardware_message( MSG *msg, ULONG_PTR extra_info, BOOL remove );
|
||||||
|
extern void MSG_JournalPlayBackMsg(void);
|
||||||
|
|
||||||
|
/* sendmsg.c */
|
||||||
|
extern BOOL MSG_peek_message( MSG *msg, HWND hwnd, UINT first, UINT last, int flags );
|
||||||
|
|
||||||
|
/* spy.c */
|
||||||
|
#define SPY_DISPATCHMESSAGE16 0x0100
|
||||||
|
#define SPY_DISPATCHMESSAGE 0x0101
|
||||||
|
#define SPY_SENDMESSAGE16 0x0102
|
||||||
|
#define SPY_SENDMESSAGE 0x0103
|
||||||
|
#define SPY_DEFWNDPROC16 0x0104
|
||||||
|
#define SPY_DEFWNDPROC 0x0105
|
||||||
|
|
||||||
|
#define SPY_RESULT_OK16 0x0000
|
||||||
|
#define SPY_RESULT_OK 0x0001
|
||||||
|
#define SPY_RESULT_INVALIDHWND16 0x0002
|
||||||
|
#define SPY_RESULT_INVALIDHWND 0x0003
|
||||||
|
#define SPY_RESULT_DEFWND16 0x0004
|
||||||
|
#define SPY_RESULT_DEFWND 0x0005
|
||||||
|
|
||||||
|
|
||||||
|
extern const char *SPY_GetMsgName( UINT msg, HWND hWnd );
|
||||||
|
extern const char *SPY_GetVKeyName(WPARAM wParam);
|
||||||
|
extern void SPY_EnterMessage( INT iFlag, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||||
|
extern void SPY_ExitMessage( INT iFlag, HWND hwnd, UINT msg,
|
||||||
|
LRESULT lReturn, WPARAM wParam, LPARAM lParam );
|
||||||
|
extern int SPY_Init(void);
|
||||||
|
|
||||||
|
#endif /* __WINE_MESSAGE_H */
|
|
@ -22,9 +22,9 @@
|
||||||
#include "wownt32.h"
|
#include "wownt32.h"
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "spy.h"
|
|
||||||
#include "thread.h"
|
#include "thread.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
|
#include "winproc.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(msg);
|
WINE_DEFAULT_DEBUG_CHANNEL(msg);
|
||||||
|
@ -266,7 +266,7 @@ LONG WINAPI DispatchMessage16( const MSG16* msg )
|
||||||
/* before calling window proc, verify whether timer is still valid;
|
/* before calling window proc, verify whether timer is still valid;
|
||||||
there's a slim chance that the application kills the timer
|
there's a slim chance that the application kills the timer
|
||||||
between GetMessage and DispatchMessage API calls */
|
between GetMessage and DispatchMessage API calls */
|
||||||
if (!TIMER_IsTimerValid(hwnd, (UINT) msg->wParam, (HWINDOWPROC) msg->lParam))
|
if (!TIMER_IsTimerValid(hwnd, (UINT) msg->wParam, (WNDPROC)msg->lParam))
|
||||||
return 0; /* invalid winproc */
|
return 0; /* invalid winproc */
|
||||||
|
|
||||||
return CallWindowProc16( (WNDPROC16)msg->lParam, msg->hwnd,
|
return CallWindowProc16( (WNDPROC16)msg->lParam, msg->hwnd,
|
||||||
|
|
|
@ -30,12 +30,9 @@
|
||||||
#include "controls.h"
|
#include "controls.h"
|
||||||
#include "cursoricon.h"
|
#include "cursoricon.h"
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "input.h"
|
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "queue.h"
|
|
||||||
#include "spy.h"
|
|
||||||
#include "sysmetrics.h"
|
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
|
#include "thread.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
|
|
|
@ -40,8 +40,6 @@ typedef enum
|
||||||
WIN_PROC_TIMER
|
WIN_PROC_TIMER
|
||||||
} WINDOWPROCUSER;
|
} WINDOWPROCUSER;
|
||||||
|
|
||||||
typedef void *HWINDOWPROC; /* Really a pointer to a WINDOWPROC */
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
WPARAM16 wParam;
|
WPARAM16 wParam;
|
||||||
|
@ -56,12 +54,14 @@ typedef struct
|
||||||
LRESULT lResult;
|
LRESULT lResult;
|
||||||
} MSGPARAM;
|
} MSGPARAM;
|
||||||
|
|
||||||
|
struct tagWINDOWPROC;
|
||||||
|
|
||||||
extern BOOL WINPROC_Init(void);
|
extern BOOL WINPROC_Init(void);
|
||||||
extern WNDPROC16 WINPROC_GetProc( HWINDOWPROC proc, WINDOWPROCTYPE type );
|
extern WNDPROC16 WINPROC_GetProc( WNDPROC proc, WINDOWPROCTYPE type );
|
||||||
extern BOOL WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
|
extern BOOL WINPROC_SetProc( WNDPROC *pFirst, WNDPROC func,
|
||||||
WINDOWPROCTYPE type, WINDOWPROCUSER user );
|
WINDOWPROCTYPE type, WINDOWPROCUSER user );
|
||||||
extern void WINPROC_FreeProc( HWINDOWPROC proc, WINDOWPROCUSER user );
|
extern void WINPROC_FreeProc( WNDPROC proc, WINDOWPROCUSER user );
|
||||||
extern WINDOWPROCTYPE WINPROC_GetProcType( HWINDOWPROC proc );
|
extern WINDOWPROCTYPE WINPROC_GetProcType( WNDPROC proc );
|
||||||
|
|
||||||
extern INT WINPROC_MapMsg32ATo32W( HWND hwnd, UINT msg, WPARAM *pwparam,
|
extern INT WINPROC_MapMsg32ATo32W( HWND hwnd, UINT msg, WPARAM *pwparam,
|
||||||
LPARAM *plparam );
|
LPARAM *plparam );
|
||||||
|
@ -132,4 +132,21 @@ inline static void unmap_str_16_to_32W( LPCWSTR str )
|
||||||
if (HIWORD(str)) HeapFree( GetProcessHeap(), 0, (void *)str );
|
if (HIWORD(str)) HeapFree( GetProcessHeap(), 0, (void *)str );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Class functions */
|
||||||
|
struct tagCLASS; /* opaque structure */
|
||||||
|
struct builtin_class_descr;
|
||||||
|
struct tagDCE;
|
||||||
|
extern ATOM CLASS_RegisterBuiltinClass( const struct builtin_class_descr *descr );
|
||||||
|
extern struct tagCLASS *CLASS_AddWindow( ATOM atom, HINSTANCE inst, WINDOWPROCTYPE type,
|
||||||
|
INT *winExtra, WNDPROC *winproc,
|
||||||
|
DWORD *style, struct tagDCE **dce );
|
||||||
|
extern void CLASS_RemoveWindow( struct tagCLASS *cls );
|
||||||
|
extern void CLASS_FreeModuleClasses( HMODULE16 hModule );
|
||||||
|
|
||||||
|
/* Timer functions */
|
||||||
|
extern void TIMER_RemoveWindowTimers( HWND hwnd );
|
||||||
|
extern void TIMER_RemoveThreadTimers(void);
|
||||||
|
extern BOOL TIMER_IsTimerValid( HWND hwnd, UINT id, WNDPROC proc );
|
||||||
|
|
||||||
#endif /* __WINE_WINPROC_H */
|
#endif /* __WINE_WINPROC_H */
|
|
@ -37,15 +37,13 @@
|
||||||
#include "shlobj.h" /* DROPFILES */
|
#include "shlobj.h" /* DROPFILES */
|
||||||
|
|
||||||
#include "clipboard.h"
|
#include "clipboard.h"
|
||||||
#include "dce.h"
|
|
||||||
#include "wine/debug.h"
|
|
||||||
#include "input.h"
|
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "winpos.h"
|
#include "winpos.h"
|
||||||
#include "windef.h"
|
#include "windef.h"
|
||||||
#include "winreg.h"
|
#include "winreg.h"
|
||||||
#include "x11drv.h"
|
#include "x11drv.h"
|
||||||
#include "shellapi.h"
|
#include "shellapi.h"
|
||||||
|
#include "wine/debug.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(event);
|
WINE_DEFAULT_DEBUG_CHANNEL(event);
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,6 @@
|
||||||
#include "x11drv.h"
|
#include "x11drv.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "winpos.h"
|
#include "winpos.h"
|
||||||
#include "dce.h"
|
|
||||||
#include "mwm.h"
|
#include "mwm.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(x11drv);
|
WINE_DEFAULT_DEBUG_CHANNEL(x11drv);
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
#include "dce.h"
|
#include "dce.h"
|
||||||
#include "cursoricon.h"
|
#include "cursoricon.h"
|
||||||
#include "nonclient.h"
|
#include "nonclient.h"
|
||||||
#include "message.h"
|
|
||||||
|
|
||||||
#include "wine/server.h"
|
#include "wine/server.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
/*
|
|
||||||
* USER input header file
|
|
||||||
* Copyright 1997 David Faure
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_INPUT_H
|
|
||||||
#define __WINE_INPUT_H
|
|
||||||
|
|
||||||
#include "windef.h"
|
|
||||||
|
|
||||||
extern BYTE InputKeyStateTable[256];
|
|
||||||
extern BYTE AsyncKeyStateTable[256];
|
|
||||||
|
|
||||||
#endif /* __WINE_INPUT_H */
|
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
/*
|
|
||||||
* Message definitions
|
|
||||||
*
|
|
||||||
* Copyright 1993 Alexandre Julliard
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_MESSAGE_H
|
|
||||||
#define __WINE_MESSAGE_H
|
|
||||||
|
|
||||||
#include "windef.h"
|
|
||||||
#include "wine/windef16.h"
|
|
||||||
#include "winproc.h"
|
|
||||||
|
|
||||||
/* message.c */
|
|
||||||
extern BOOL MSG_process_raw_hardware_message( MSG *msg, ULONG_PTR extra_info, HWND hwnd_filter,
|
|
||||||
UINT first, UINT last, BOOL remove );
|
|
||||||
extern BOOL MSG_process_cooked_hardware_message( MSG *msg, ULONG_PTR extra_info, BOOL remove );
|
|
||||||
extern void MSG_JournalPlayBackMsg(void);
|
|
||||||
|
|
||||||
/* sendmsg.c */
|
|
||||||
extern BOOL MSG_peek_message( MSG *msg, HWND hwnd, UINT first, UINT last, int flags );
|
|
||||||
|
|
||||||
/* timer.c */
|
|
||||||
extern void TIMER_RemoveWindowTimers( HWND hwnd );
|
|
||||||
extern void TIMER_RemoveThreadTimers(void);
|
|
||||||
extern BOOL TIMER_IsTimerValid( HWND hwnd, UINT id, HWINDOWPROC hProc );
|
|
||||||
|
|
||||||
#endif /* __WINE_MESSAGE_H */
|
|
|
@ -1,50 +0,0 @@
|
||||||
/*
|
|
||||||
* Message Logging functions
|
|
||||||
*
|
|
||||||
* Copyright 1994 Bob Amstadt
|
|
||||||
* Copyright 1995 Alex Korobka
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_SPY_H
|
|
||||||
#define __WINE_SPY_H
|
|
||||||
|
|
||||||
#include "windef.h"
|
|
||||||
|
|
||||||
#define SPY_DISPATCHMESSAGE16 0x0100
|
|
||||||
#define SPY_DISPATCHMESSAGE 0x0101
|
|
||||||
#define SPY_SENDMESSAGE16 0x0102
|
|
||||||
#define SPY_SENDMESSAGE 0x0103
|
|
||||||
#define SPY_DEFWNDPROC16 0x0104
|
|
||||||
#define SPY_DEFWNDPROC 0x0105
|
|
||||||
|
|
||||||
#define SPY_RESULT_OK16 0x0000
|
|
||||||
#define SPY_RESULT_OK 0x0001
|
|
||||||
#define SPY_RESULT_INVALIDHWND16 0x0002
|
|
||||||
#define SPY_RESULT_INVALIDHWND 0x0003
|
|
||||||
#define SPY_RESULT_DEFWND16 0x0004
|
|
||||||
#define SPY_RESULT_DEFWND 0x0005
|
|
||||||
|
|
||||||
|
|
||||||
extern const char *SPY_GetMsgName( UINT msg, HWND hWnd );
|
|
||||||
extern const char *SPY_GetVKeyName(WPARAM wParam);
|
|
||||||
extern void SPY_EnterMessage( INT iFlag, HWND hwnd, UINT msg,
|
|
||||||
WPARAM wParam, LPARAM lParam );
|
|
||||||
extern void SPY_ExitMessage( INT iFlag, HWND hwnd, UINT msg,
|
|
||||||
LRESULT lReturn, WPARAM wParam, LPARAM lParam );
|
|
||||||
extern int SPY_Init(void);
|
|
||||||
|
|
||||||
#endif /* __WINE_SPY_H */
|
|
|
@ -1,34 +0,0 @@
|
||||||
/*
|
|
||||||
* System metrics definitions
|
|
||||||
*
|
|
||||||
* Copyright 1994 Alexandre Julliard
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __WINE_SYSMETRICS_H
|
|
||||||
#define __WINE_SYSMETRICS_H
|
|
||||||
|
|
||||||
extern void SYSMETRICS_Init(void); /* sysmetrics.c */
|
|
||||||
extern INT SYSMETRICS_Set( INT index, INT value ); /* sysmetrics.c */
|
|
||||||
extern void SYSCOLOR_Init(void); /* syscolor.c */
|
|
||||||
extern void SYSPARAMS_GetDoubleClickSize( INT *width, INT *height );
|
|
||||||
extern INT SYSPARAMS_GetMouseButtonSwap( void );
|
|
||||||
|
|
||||||
/* Wine extensions */
|
|
||||||
#define SM_WINE_BPP (SM_CMETRICS+1) /* screen bpp */
|
|
||||||
#define SM_WINE_CMETRICS SM_WINE_BPP
|
|
||||||
|
|
||||||
#endif /* __WINE_SYSMETRICS_H */
|
|
|
@ -142,9 +142,26 @@ extern HBRUSH CACHE_GetPattern55AABrush(void);
|
||||||
extern LRESULT HOOK_CallHooks( INT id, INT code, WPARAM wparam, LPARAM lparam, BOOL unicode );
|
extern LRESULT HOOK_CallHooks( INT id, INT code, WPARAM wparam, LPARAM lparam, BOOL unicode );
|
||||||
extern BOOL HOOK_IsHooked( INT id );
|
extern BOOL HOOK_IsHooked( INT id );
|
||||||
|
|
||||||
|
/* input.c */
|
||||||
|
extern BYTE InputKeyStateTable[256];
|
||||||
|
extern BYTE AsyncKeyStateTable[256];
|
||||||
|
|
||||||
/* syscolor.c */
|
/* syscolor.c */
|
||||||
|
extern void SYSCOLOR_Init(void);
|
||||||
extern HPEN SYSCOLOR_GetPen( INT index );
|
extern HPEN SYSCOLOR_GetPen( INT index );
|
||||||
|
|
||||||
|
/* sysmetrics.c */
|
||||||
|
extern void SYSMETRICS_Init(void);
|
||||||
|
extern INT SYSMETRICS_Set( INT index, INT value );
|
||||||
|
|
||||||
|
/* Wine extensions */
|
||||||
|
#define SM_WINE_BPP (SM_CMETRICS+1) /* screen bpp */
|
||||||
|
#define SM_WINE_CMETRICS SM_WINE_BPP
|
||||||
|
|
||||||
|
/* sysparams.c */
|
||||||
|
extern void SYSPARAMS_GetDoubleClickSize( INT *width, INT *height );
|
||||||
|
extern INT SYSPARAMS_GetMouseButtonSwap( void );
|
||||||
|
|
||||||
extern HPALETTE WINAPI SelectPalette( HDC hDC, HPALETTE hPal, BOOL bForceBackground );
|
extern HPALETTE WINAPI SelectPalette( HDC hDC, HPALETTE hPal, BOOL bForceBackground );
|
||||||
|
|
||||||
extern DWORD USER16_AlertableWait;
|
extern DWORD USER16_AlertableWait;
|
||||||
|
|
|
@ -24,7 +24,6 @@
|
||||||
#include "windef.h"
|
#include "windef.h"
|
||||||
#include "winbase.h"
|
#include "winbase.h"
|
||||||
#include "wingdi.h"
|
#include "wingdi.h"
|
||||||
#include "winproc.h"
|
|
||||||
#include "winuser.h"
|
#include "winuser.h"
|
||||||
#include "wine/windef16.h"
|
#include "wine/windef16.h"
|
||||||
|
|
||||||
|
@ -42,7 +41,7 @@ typedef struct tagWND
|
||||||
HWND parent; /* Window parent */
|
HWND parent; /* Window parent */
|
||||||
HWND owner; /* Window owner */
|
HWND owner; /* Window owner */
|
||||||
struct tagCLASS *class; /* Window class */
|
struct tagCLASS *class; /* Window class */
|
||||||
HWINDOWPROC winproc; /* Window procedure */
|
WNDPROC winproc; /* Window procedure */
|
||||||
DWORD dwMagic; /* Magic number (must be WND_MAGIC) */
|
DWORD dwMagic; /* Magic number (must be WND_MAGIC) */
|
||||||
DWORD tid; /* Owner thread id */
|
DWORD tid; /* Owner thread id */
|
||||||
HINSTANCE hInstance; /* Window hInstance (from CreateWindow) */
|
HINSTANCE hInstance; /* Window hInstance (from CreateWindow) */
|
||||||
|
@ -137,14 +136,4 @@ extern HBRUSH DEFWND_ControlColor( HDC hDC, UINT ctlType ); /* windows/defwnd.c
|
||||||
|
|
||||||
extern BOOL FOCUS_MouseActivate( HWND hwnd );
|
extern BOOL FOCUS_MouseActivate( HWND hwnd );
|
||||||
|
|
||||||
/* Classes functions */
|
|
||||||
struct tagCLASS; /* opaque structure */
|
|
||||||
struct builtin_class_descr;
|
|
||||||
extern ATOM CLASS_RegisterBuiltinClass( const struct builtin_class_descr *descr );
|
|
||||||
extern struct tagCLASS *CLASS_AddWindow( ATOM atom, HINSTANCE inst, WINDOWPROCTYPE type,
|
|
||||||
INT *winExtra, WNDPROC *winproc,
|
|
||||||
DWORD *style, struct tagDCE **dce );
|
|
||||||
extern void CLASS_RemoveWindow( struct tagCLASS *cls );
|
|
||||||
extern void CLASS_FreeModuleClasses( HMODULE16 hModule );
|
|
||||||
|
|
||||||
#endif /* __WINE_WIN_H */
|
#endif /* __WINE_WIN_H */
|
||||||
|
|
|
@ -54,8 +54,8 @@ typedef struct tagCLASS
|
||||||
struct tagCLASS *prev; /* Prev class */
|
struct tagCLASS *prev; /* Prev class */
|
||||||
UINT cWindows; /* Count of existing windows */
|
UINT cWindows; /* Count of existing windows */
|
||||||
UINT style; /* Class style */
|
UINT style; /* Class style */
|
||||||
HWINDOWPROC winprocA; /* Window procedure (ASCII) */
|
WNDPROC winprocA; /* Window procedure (ASCII) */
|
||||||
HWINDOWPROC winprocW; /* Window procedure (Unicode) */
|
WNDPROC winprocW; /* Window procedure (Unicode) */
|
||||||
INT cbClsExtra; /* Class extra bytes */
|
INT cbClsExtra; /* Class extra bytes */
|
||||||
INT cbWndExtra; /* Window extra bytes */
|
INT cbWndExtra; /* Window extra bytes */
|
||||||
LPWSTR menuName; /* Default menu name (Unicode followed by ASCII) */
|
LPWSTR menuName; /* Default menu name (Unicode followed by ASCII) */
|
||||||
|
@ -114,7 +114,7 @@ inline static void release_class_ptr( CLASS *ptr )
|
||||||
*/
|
*/
|
||||||
static WNDPROC16 CLASS_GetProc( CLASS *classPtr, WINDOWPROCTYPE type )
|
static WNDPROC16 CLASS_GetProc( CLASS *classPtr, WINDOWPROCTYPE type )
|
||||||
{
|
{
|
||||||
HWINDOWPROC proc = classPtr->winprocA;
|
WNDPROC proc = classPtr->winprocA;
|
||||||
|
|
||||||
if (classPtr->winprocW)
|
if (classPtr->winprocW)
|
||||||
{
|
{
|
||||||
|
@ -135,7 +135,7 @@ static WNDPROC16 CLASS_GetProc( CLASS *classPtr, WINDOWPROCTYPE type )
|
||||||
*/
|
*/
|
||||||
static WNDPROC16 CLASS_SetProc( CLASS *classPtr, WNDPROC newproc, WINDOWPROCTYPE type )
|
static WNDPROC16 CLASS_SetProc( CLASS *classPtr, WNDPROC newproc, WINDOWPROCTYPE type )
|
||||||
{
|
{
|
||||||
HWINDOWPROC *proc = &classPtr->winprocA;
|
WNDPROC *proc = &classPtr->winprocA;
|
||||||
WNDPROC16 ret;
|
WNDPROC16 ret;
|
||||||
|
|
||||||
if (classPtr->winprocW)
|
if (classPtr->winprocW)
|
||||||
|
@ -146,7 +146,7 @@ static WNDPROC16 CLASS_SetProc( CLASS *classPtr, WNDPROC newproc, WINDOWPROCTYPE
|
||||||
if (!*proc || type == WIN_PROC_32W) proc = &classPtr->winprocW;
|
if (!*proc || type == WIN_PROC_32W) proc = &classPtr->winprocW;
|
||||||
}
|
}
|
||||||
ret = WINPROC_GetProc( *proc, type );
|
ret = WINPROC_GetProc( *proc, type );
|
||||||
WINPROC_SetProc( proc, (HWINDOWPROC)newproc, type, WIN_PROC_CLASS );
|
WINPROC_SetProc( proc, newproc, type, WIN_PROC_CLASS );
|
||||||
/* now free the one that we didn't set */
|
/* now free the one that we didn't set */
|
||||||
if (classPtr->winprocA && classPtr->winprocW)
|
if (classPtr->winprocA && classPtr->winprocW)
|
||||||
{
|
{
|
||||||
|
@ -476,9 +476,9 @@ ATOM CLASS_RegisterBuiltinClass( const struct builtin_class_descr *descr )
|
||||||
classPtr->hCursor = LoadCursorA( 0, descr->cursor );
|
classPtr->hCursor = LoadCursorA( 0, descr->cursor );
|
||||||
classPtr->hbrBackground = descr->brush;
|
classPtr->hbrBackground = descr->brush;
|
||||||
|
|
||||||
if (descr->procA) WINPROC_SetProc( &classPtr->winprocA, (HWINDOWPROC)descr->procA,
|
if (descr->procA) WINPROC_SetProc( &classPtr->winprocA, descr->procA,
|
||||||
WIN_PROC_32A, WIN_PROC_CLASS );
|
WIN_PROC_32A, WIN_PROC_CLASS );
|
||||||
if (descr->procW) WINPROC_SetProc( &classPtr->winprocW, (HWINDOWPROC)descr->procW,
|
if (descr->procW) WINPROC_SetProc( &classPtr->winprocW, descr->procW,
|
||||||
WIN_PROC_32W, WIN_PROC_CLASS );
|
WIN_PROC_32W, WIN_PROC_CLASS );
|
||||||
return atom;
|
return atom;
|
||||||
}
|
}
|
||||||
|
@ -559,7 +559,7 @@ ATOM WINAPI RegisterClass16( const WNDCLASS16 *wc )
|
||||||
classPtr->hCursor = HCURSOR_32(wc->hCursor);
|
classPtr->hCursor = HCURSOR_32(wc->hCursor);
|
||||||
classPtr->hbrBackground = HBRUSH_32(wc->hbrBackground);
|
classPtr->hbrBackground = HBRUSH_32(wc->hbrBackground);
|
||||||
|
|
||||||
WINPROC_SetProc( &classPtr->winprocA, (HWINDOWPROC)wc->lpfnWndProc,
|
WINPROC_SetProc( &classPtr->winprocA, (WNDPROC)wc->lpfnWndProc,
|
||||||
WIN_PROC_16, WIN_PROC_CLASS );
|
WIN_PROC_16, WIN_PROC_CLASS );
|
||||||
CLASS_SetMenuNameA( classPtr, MapSL(wc->lpszMenuName) );
|
CLASS_SetMenuNameA( classPtr, MapSL(wc->lpszMenuName) );
|
||||||
|
|
||||||
|
@ -604,7 +604,7 @@ ATOM WINAPI RegisterClassA( const WNDCLASSA* wc ) /* [in] Address of structure w
|
||||||
classPtr->hCursor = wc->hCursor;
|
classPtr->hCursor = wc->hCursor;
|
||||||
classPtr->hbrBackground = wc->hbrBackground;
|
classPtr->hbrBackground = wc->hbrBackground;
|
||||||
|
|
||||||
WINPROC_SetProc( &classPtr->winprocA, (HWINDOWPROC)wc->lpfnWndProc,
|
WINPROC_SetProc( &classPtr->winprocA, wc->lpfnWndProc,
|
||||||
WIN_PROC_32A, WIN_PROC_CLASS );
|
WIN_PROC_32A, WIN_PROC_CLASS );
|
||||||
CLASS_SetMenuNameA( classPtr, wc->lpszMenuName );
|
CLASS_SetMenuNameA( classPtr, wc->lpszMenuName );
|
||||||
return atom;
|
return atom;
|
||||||
|
@ -644,7 +644,7 @@ ATOM WINAPI RegisterClassW( const WNDCLASSW* wc )
|
||||||
classPtr->hCursor = wc->hCursor;
|
classPtr->hCursor = wc->hCursor;
|
||||||
classPtr->hbrBackground = wc->hbrBackground;
|
classPtr->hbrBackground = wc->hbrBackground;
|
||||||
|
|
||||||
WINPROC_SetProc( &classPtr->winprocW, (HWINDOWPROC)wc->lpfnWndProc,
|
WINPROC_SetProc( &classPtr->winprocW, wc->lpfnWndProc,
|
||||||
WIN_PROC_32W, WIN_PROC_CLASS );
|
WIN_PROC_32W, WIN_PROC_CLASS );
|
||||||
CLASS_SetMenuNameW( classPtr, wc->lpszMenuName );
|
CLASS_SetMenuNameW( classPtr, wc->lpszMenuName );
|
||||||
return atom;
|
return atom;
|
||||||
|
@ -678,7 +678,7 @@ ATOM WINAPI RegisterClassEx16( const WNDCLASSEX16 *wc )
|
||||||
classPtr->hCursor = HCURSOR_32(wc->hCursor);
|
classPtr->hCursor = HCURSOR_32(wc->hCursor);
|
||||||
classPtr->hbrBackground = HBRUSH_32(wc->hbrBackground);
|
classPtr->hbrBackground = HBRUSH_32(wc->hbrBackground);
|
||||||
|
|
||||||
WINPROC_SetProc( &classPtr->winprocA, (HWINDOWPROC)wc->lpfnWndProc,
|
WINPROC_SetProc( &classPtr->winprocA, (WNDPROC)wc->lpfnWndProc,
|
||||||
WIN_PROC_16, WIN_PROC_CLASS );
|
WIN_PROC_16, WIN_PROC_CLASS );
|
||||||
CLASS_SetMenuNameA( classPtr, MapSL(wc->lpszMenuName) );
|
CLASS_SetMenuNameA( classPtr, MapSL(wc->lpszMenuName) );
|
||||||
return atom;
|
return atom;
|
||||||
|
@ -711,8 +711,7 @@ ATOM WINAPI RegisterClassExA( const WNDCLASSEXA* wc )
|
||||||
classPtr->hIconSm = wc->hIconSm;
|
classPtr->hIconSm = wc->hIconSm;
|
||||||
classPtr->hCursor = wc->hCursor;
|
classPtr->hCursor = wc->hCursor;
|
||||||
classPtr->hbrBackground = wc->hbrBackground;
|
classPtr->hbrBackground = wc->hbrBackground;
|
||||||
WINPROC_SetProc( &classPtr->winprocA, (HWINDOWPROC)wc->lpfnWndProc,
|
WINPROC_SetProc( &classPtr->winprocA, wc->lpfnWndProc, WIN_PROC_32A, WIN_PROC_CLASS );
|
||||||
WIN_PROC_32A, WIN_PROC_CLASS );
|
|
||||||
CLASS_SetMenuNameA( classPtr, wc->lpszMenuName );
|
CLASS_SetMenuNameA( classPtr, wc->lpszMenuName );
|
||||||
return atom;
|
return atom;
|
||||||
}
|
}
|
||||||
|
@ -744,8 +743,7 @@ ATOM WINAPI RegisterClassExW( const WNDCLASSEXW* wc )
|
||||||
classPtr->hIconSm = wc->hIconSm;
|
classPtr->hIconSm = wc->hIconSm;
|
||||||
classPtr->hCursor = wc->hCursor;
|
classPtr->hCursor = wc->hCursor;
|
||||||
classPtr->hbrBackground = wc->hbrBackground;
|
classPtr->hbrBackground = wc->hbrBackground;
|
||||||
WINPROC_SetProc( &classPtr->winprocW, (HWINDOWPROC)wc->lpfnWndProc,
|
WINPROC_SetProc( &classPtr->winprocW, wc->lpfnWndProc, WIN_PROC_32W, WIN_PROC_CLASS );
|
||||||
WIN_PROC_32W, WIN_PROC_CLASS );
|
|
||||||
CLASS_SetMenuNameW( classPtr, wc->lpszMenuName );
|
CLASS_SetMenuNameW( classPtr, wc->lpszMenuName );
|
||||||
return atom;
|
return atom;
|
||||||
}
|
}
|
||||||
|
|
|
@ -57,8 +57,6 @@
|
||||||
#include "module.h"
|
#include "module.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "queue.h"
|
|
||||||
#include "input.h"
|
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "msvcrt/excpt.h"
|
#include "msvcrt/excpt.h"
|
||||||
|
|
|
@ -298,7 +298,7 @@ LRESULT WINAPI DefDlgProc16( HWND16 hwnd, UINT16 msg, WPARAM16 wParam,
|
||||||
/* Call dialog procedure */
|
/* Call dialog procedure */
|
||||||
result = CallWindowProc16( dlgproc, hwnd, msg, wParam, lParam );
|
result = CallWindowProc16( dlgproc, hwnd, msg, wParam, lParam );
|
||||||
/* 16 bit dlg procs only return BOOL16 */
|
/* 16 bit dlg procs only return BOOL16 */
|
||||||
if( WINPROC_GetProcType( dlgproc ) == WIN_PROC_16 )
|
if( WINPROC_GetProcType( (WNDPROC)dlgproc ) == WIN_PROC_16 )
|
||||||
result = LOWORD(result);
|
result = LOWORD(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,15 +26,15 @@
|
||||||
#include "nonclient.h"
|
#include "nonclient.h"
|
||||||
#include "winpos.h"
|
#include "winpos.h"
|
||||||
#include "dce.h"
|
#include "dce.h"
|
||||||
#include "wine/debug.h"
|
|
||||||
#include "spy.h"
|
|
||||||
#include "windef.h"
|
#include "windef.h"
|
||||||
#include "wingdi.h"
|
#include "wingdi.h"
|
||||||
#include "winnls.h"
|
#include "winnls.h"
|
||||||
|
#include "imm.h"
|
||||||
|
#include "message.h"
|
||||||
#include "wine/unicode.h"
|
#include "wine/unicode.h"
|
||||||
#include "wine/winuser16.h"
|
#include "wine/winuser16.h"
|
||||||
#include "wine/server.h"
|
#include "wine/server.h"
|
||||||
#include "imm.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(win);
|
WINE_DEFAULT_DEBUG_CHANNEL(win);
|
||||||
|
|
||||||
|
|
|
@ -37,9 +37,7 @@
|
||||||
#include "wine/winuser16.h"
|
#include "wine/winuser16.h"
|
||||||
#include "wine/server.h"
|
#include "wine/server.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "input.h"
|
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "queue.h"
|
|
||||||
#include "winternl.h"
|
#include "winternl.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
|
|
|
@ -34,17 +34,15 @@
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "wine/server.h"
|
#include "wine/server.h"
|
||||||
#include "win.h"
|
|
||||||
#include "heap.h"
|
|
||||||
#include "input.h"
|
|
||||||
#include "spy.h"
|
|
||||||
#include "winpos.h"
|
|
||||||
#include "dde.h"
|
|
||||||
#include "queue.h"
|
|
||||||
#include "winproc.h"
|
|
||||||
#include "user.h"
|
|
||||||
#include "thread.h"
|
|
||||||
#include "controls.h"
|
#include "controls.h"
|
||||||
|
#include "dde.h"
|
||||||
|
#include "heap.h"
|
||||||
|
#include "message.h"
|
||||||
|
#include "thread.h"
|
||||||
|
#include "user.h"
|
||||||
|
#include "win.h"
|
||||||
|
#include "winpos.h"
|
||||||
|
#include "winproc.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(msg);
|
WINE_DEFAULT_DEBUG_CHANNEL(msg);
|
||||||
|
@ -1061,7 +1059,7 @@ LONG WINAPI DispatchMessageA( const MSG* msg )
|
||||||
/* before calling window proc, verify whether timer is still valid;
|
/* before calling window proc, verify whether timer is still valid;
|
||||||
there's a slim chance that the application kills the timer
|
there's a slim chance that the application kills the timer
|
||||||
between GetMessage and DispatchMessage API calls */
|
between GetMessage and DispatchMessage API calls */
|
||||||
if (!TIMER_IsTimerValid(msg->hwnd, (UINT) msg->wParam, (HWINDOWPROC) msg->lParam))
|
if (!TIMER_IsTimerValid(msg->hwnd, (UINT) msg->wParam, (WNDPROC)msg->lParam))
|
||||||
return 0; /* invalid winproc */
|
return 0; /* invalid winproc */
|
||||||
|
|
||||||
return CallWindowProcA( (WNDPROC)msg->lParam, msg->hwnd,
|
return CallWindowProcA( (WNDPROC)msg->lParam, msg->hwnd,
|
||||||
|
@ -1153,7 +1151,7 @@ LONG WINAPI DispatchMessageW( const MSG* msg )
|
||||||
/* before calling window proc, verify whether timer is still valid;
|
/* before calling window proc, verify whether timer is still valid;
|
||||||
there's a slim chance that the application kills the timer
|
there's a slim chance that the application kills the timer
|
||||||
between GetMessage and DispatchMessage API calls */
|
between GetMessage and DispatchMessage API calls */
|
||||||
if (!TIMER_IsTimerValid(msg->hwnd, (UINT) msg->wParam, (HWINDOWPROC) msg->lParam))
|
if (!TIMER_IsTimerValid(msg->hwnd, (UINT) msg->wParam, (WNDPROC)msg->lParam))
|
||||||
return 0; /* invalid winproc */
|
return 0; /* invalid winproc */
|
||||||
|
|
||||||
return CallWindowProcW( (WNDPROC)msg->lParam, msg->hwnd,
|
return CallWindowProcW( (WNDPROC)msg->lParam, msg->hwnd,
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include "gdi.h"
|
#include "gdi.h"
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "queue.h"
|
#include "message.h"
|
||||||
#include "dce.h"
|
#include "dce.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
|
|
|
@ -26,13 +26,12 @@
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "wine/winbase16.h"
|
#include "wine/winbase16.h"
|
||||||
#include "wine/winuser16.h"
|
#include "wine/winuser16.h"
|
||||||
#include "queue.h"
|
#include "message.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "thread.h"
|
#include "thread.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
#include "wine/server.h"
|
#include "wine/server.h"
|
||||||
#include "spy.h"
|
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(msg);
|
WINE_DEFAULT_DEBUG_CHANNEL(msg);
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include "wine/unicode.h"
|
#include "wine/unicode.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
#include "spy.h"
|
#include "message.h"
|
||||||
#include "commctrl.h"
|
#include "commctrl.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(message);
|
WINE_DEFAULT_DEBUG_CHANNEL(message);
|
||||||
|
|
|
@ -27,7 +27,6 @@
|
||||||
#include "wingdi.h"
|
#include "wingdi.h"
|
||||||
#include "wine/winbase16.h"
|
#include "wine/winbase16.h"
|
||||||
#include "wine/winuser16.h"
|
#include "wine/winuser16.h"
|
||||||
#include "sysmetrics.h"
|
|
||||||
#include "winbase.h"
|
#include "winbase.h"
|
||||||
#include "winuser.h"
|
#include "winuser.h"
|
||||||
#include "wownt32.h"
|
#include "wownt32.h"
|
||||||
|
|
|
@ -30,7 +30,6 @@
|
||||||
#include "winuser.h"
|
#include "winuser.h"
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "sysmetrics.h"
|
|
||||||
|
|
||||||
static int sysMetrics[SM_WINE_CMETRICS+1];
|
static int sysMetrics[SM_WINE_CMETRICS+1];
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
#include "controls.h"
|
#include "controls.h"
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
#include "sysmetrics.h"
|
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(system);
|
WINE_DEFAULT_DEBUG_CHANNEL(system);
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ typedef struct tagTIMER
|
||||||
UINT msg; /* WM_TIMER or WM_SYSTIMER */
|
UINT msg; /* WM_TIMER or WM_SYSTIMER */
|
||||||
UINT id;
|
UINT id;
|
||||||
UINT timeout;
|
UINT timeout;
|
||||||
HWINDOWPROC proc;
|
WNDPROC proc;
|
||||||
} TIMER;
|
} TIMER;
|
||||||
|
|
||||||
#define NB_TIMERS 34
|
#define NB_TIMERS 34
|
||||||
|
@ -112,11 +112,11 @@ void TIMER_RemoveThreadTimers(void)
|
||||||
* TIMER_SetTimer
|
* TIMER_SetTimer
|
||||||
*/
|
*/
|
||||||
static UINT_PTR TIMER_SetTimer( HWND hwnd, UINT_PTR id, UINT timeout,
|
static UINT_PTR TIMER_SetTimer( HWND hwnd, UINT_PTR id, UINT timeout,
|
||||||
WNDPROC16 proc, WINDOWPROCTYPE type, BOOL sys )
|
WNDPROC proc, WINDOWPROCTYPE type, BOOL sys )
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
TIMER * pTimer;
|
TIMER * pTimer;
|
||||||
HWINDOWPROC winproc = 0;
|
WNDPROC winproc = 0;
|
||||||
|
|
||||||
if (hwnd && !(hwnd = WIN_IsCurrentThread( hwnd )))
|
if (hwnd && !(hwnd = WIN_IsCurrentThread( hwnd )))
|
||||||
{
|
{
|
||||||
|
@ -243,7 +243,7 @@ UINT16 WINAPI SetTimer16( HWND16 hwnd, UINT16 id, UINT16 timeout,
|
||||||
{
|
{
|
||||||
TRACE("%04x %d %d %08lx\n",
|
TRACE("%04x %d %d %08lx\n",
|
||||||
hwnd, id, timeout, (LONG)proc );
|
hwnd, id, timeout, (LONG)proc );
|
||||||
return TIMER_SetTimer( WIN_Handle32(hwnd), id, timeout, (WNDPROC16)proc,
|
return TIMER_SetTimer( WIN_Handle32(hwnd), id, timeout, (WNDPROC)proc,
|
||||||
WIN_PROC_16, FALSE );
|
WIN_PROC_16, FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -255,14 +255,14 @@ UINT_PTR WINAPI SetTimer( HWND hwnd, UINT_PTR id, UINT timeout,
|
||||||
TIMERPROC proc )
|
TIMERPROC proc )
|
||||||
{
|
{
|
||||||
TRACE("%p %d %d %p\n", hwnd, id, timeout, proc );
|
TRACE("%p %d %d %p\n", hwnd, id, timeout, proc );
|
||||||
return TIMER_SetTimer( hwnd, id, timeout, (WNDPROC16)proc, WIN_PROC_32A, FALSE );
|
return TIMER_SetTimer( hwnd, id, timeout, (WNDPROC)proc, WIN_PROC_32A, FALSE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* TIMER_IsTimerValid
|
* TIMER_IsTimerValid
|
||||||
*/
|
*/
|
||||||
BOOL TIMER_IsTimerValid( HWND hwnd, UINT_PTR id, HWINDOWPROC hProc )
|
BOOL TIMER_IsTimerValid( HWND hwnd, UINT_PTR id, WNDPROC proc )
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
TIMER *pTimer;
|
TIMER *pTimer;
|
||||||
|
@ -272,8 +272,7 @@ BOOL TIMER_IsTimerValid( HWND hwnd, UINT_PTR id, HWINDOWPROC hProc )
|
||||||
EnterCriticalSection( &csTimer );
|
EnterCriticalSection( &csTimer );
|
||||||
|
|
||||||
for (i = 0, pTimer = TimersArray; i < NB_TIMERS; i++, pTimer++)
|
for (i = 0, pTimer = TimersArray; i < NB_TIMERS; i++, pTimer++)
|
||||||
if ((pTimer->hwnd == hwnd) && (pTimer->id == id) &&
|
if ((pTimer->hwnd == hwnd) && (pTimer->id == id) && (pTimer->proc == proc))
|
||||||
(pTimer->proc == hProc))
|
|
||||||
{
|
{
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
break;
|
break;
|
||||||
|
@ -292,8 +291,7 @@ UINT16 WINAPI SetSystemTimer16( HWND16 hwnd, UINT16 id, UINT16 timeout,
|
||||||
{
|
{
|
||||||
TRACE("%04x %d %d %08lx\n",
|
TRACE("%04x %d %d %08lx\n",
|
||||||
hwnd, id, timeout, (LONG)proc );
|
hwnd, id, timeout, (LONG)proc );
|
||||||
return TIMER_SetTimer( WIN_Handle32(hwnd), id, timeout, (WNDPROC16)proc,
|
return TIMER_SetTimer( WIN_Handle32(hwnd), id, timeout, (WNDPROC)proc, WIN_PROC_16, TRUE );
|
||||||
WIN_PROC_16, TRUE );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -304,7 +302,7 @@ UINT_PTR WINAPI SetSystemTimer( HWND hwnd, UINT_PTR id, UINT timeout,
|
||||||
TIMERPROC proc )
|
TIMERPROC proc )
|
||||||
{
|
{
|
||||||
TRACE("%p %d %d %p\n", hwnd, id, timeout, proc );
|
TRACE("%p %d %d %p\n", hwnd, id, timeout, proc );
|
||||||
return TIMER_SetTimer( hwnd, id, timeout, (WNDPROC16)proc, WIN_PROC_32A, TRUE );
|
return TIMER_SetTimer( hwnd, id, timeout, (WNDPROC)proc, WIN_PROC_32A, TRUE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -31,8 +31,6 @@
|
||||||
#include "controls.h"
|
#include "controls.h"
|
||||||
#include "cursoricon.h"
|
#include "cursoricon.h"
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "miscemu.h"
|
|
||||||
#include "sysmetrics.h"
|
|
||||||
#include "local.h"
|
#include "local.h"
|
||||||
#include "module.h"
|
#include "module.h"
|
||||||
#include "winternl.h"
|
#include "winternl.h"
|
||||||
|
|
|
@ -36,7 +36,6 @@
|
||||||
#include "controls.h"
|
#include "controls.h"
|
||||||
#include "cursoricon.h"
|
#include "cursoricon.h"
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "queue.h"
|
|
||||||
#include "winpos.h"
|
#include "winpos.h"
|
||||||
#include "winerror.h"
|
#include "winerror.h"
|
||||||
#include "stackframe.h"
|
#include "stackframe.h"
|
||||||
|
@ -1944,7 +1943,7 @@ static LONG WIN_GetWindowLong( HWND hwnd, INT offset, WINDOWPROCTYPE type )
|
||||||
retvalue = *(LONG *)(((char *)wndPtr->wExtra) + offset);
|
retvalue = *(LONG *)(((char *)wndPtr->wExtra) + offset);
|
||||||
/* Special case for dialog window procedure */
|
/* Special case for dialog window procedure */
|
||||||
if ((offset == DWL_DLGPROC) && (wndPtr->flags & WIN_ISDIALOG))
|
if ((offset == DWL_DLGPROC) && (wndPtr->flags & WIN_ISDIALOG))
|
||||||
retvalue = (LONG)WINPROC_GetProc( (HWINDOWPROC)retvalue, type );
|
retvalue = (LONG)WINPROC_GetProc( (WNDPROC)retvalue, type );
|
||||||
WIN_ReleasePtr( wndPtr );
|
WIN_ReleasePtr( wndPtr );
|
||||||
return retvalue;
|
return retvalue;
|
||||||
}
|
}
|
||||||
|
@ -2015,9 +2014,8 @@ static LONG WIN_SetWindowLong( HWND hwnd, INT offset, LONG newval,
|
||||||
/* Special case for dialog window procedure */
|
/* Special case for dialog window procedure */
|
||||||
if ((offset == DWL_DLGPROC) && (wndPtr->flags & WIN_ISDIALOG))
|
if ((offset == DWL_DLGPROC) && (wndPtr->flags & WIN_ISDIALOG))
|
||||||
{
|
{
|
||||||
retval = (LONG)WINPROC_GetProc( (HWINDOWPROC)*ptr, type );
|
retval = (LONG)WINPROC_GetProc( (WNDPROC)*ptr, type );
|
||||||
WINPROC_SetProc( (HWINDOWPROC *)ptr, (WNDPROC16)newval,
|
WINPROC_SetProc( (WNDPROC *)ptr, (WNDPROC)newval, type, WIN_PROC_WINDOW );
|
||||||
type, WIN_PROC_WINDOW );
|
|
||||||
WIN_ReleasePtr( wndPtr );
|
WIN_ReleasePtr( wndPtr );
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
@ -2055,8 +2053,7 @@ static LONG WIN_SetWindowLong( HWND hwnd, INT offset, LONG newval,
|
||||||
}
|
}
|
||||||
case GWL_WNDPROC:
|
case GWL_WNDPROC:
|
||||||
retval = (LONG)WINPROC_GetProc( wndPtr->winproc, type );
|
retval = (LONG)WINPROC_GetProc( wndPtr->winproc, type );
|
||||||
WINPROC_SetProc( &wndPtr->winproc, (WNDPROC16)newval,
|
WINPROC_SetProc( &wndPtr->winproc, (WNDPROC)newval, type, WIN_PROC_WINDOW );
|
||||||
type, WIN_PROC_WINDOW );
|
|
||||||
WIN_ReleasePtr( wndPtr );
|
WIN_ReleasePtr( wndPtr );
|
||||||
return retval;
|
return retval;
|
||||||
case GWL_ID:
|
case GWL_ID:
|
||||||
|
|
|
@ -30,12 +30,9 @@
|
||||||
#include "user.h"
|
#include "user.h"
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "message.h"
|
#include "message.h"
|
||||||
#include "queue.h"
|
|
||||||
#include "winpos.h"
|
#include "winpos.h"
|
||||||
#include "dce.h"
|
|
||||||
#include "nonclient.h"
|
#include "nonclient.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
#include "input.h"
|
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(win);
|
WINE_DEFAULT_DEBUG_CHANNEL(win);
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
#include "win.h"
|
#include "win.h"
|
||||||
#include "winproc.h"
|
#include "winproc.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
#include "spy.h"
|
#include "message.h"
|
||||||
#include "thread.h"
|
#include "thread.h"
|
||||||
#include "dde.h"
|
#include "dde.h"
|
||||||
|
|
||||||
|
@ -265,7 +265,7 @@ static LRESULT WINAPI WINPROC_CallWndProc16( WNDPROC16 proc, HWND16 hwnd,
|
||||||
*
|
*
|
||||||
* Return a pointer to the win proc.
|
* Return a pointer to the win proc.
|
||||||
*/
|
*/
|
||||||
static WINDOWPROC *WINPROC_GetPtr( WNDPROC16 handle )
|
static WINDOWPROC *WINPROC_GetPtr( WNDPROC handle )
|
||||||
{
|
{
|
||||||
BYTE *ptr;
|
BYTE *ptr;
|
||||||
WINDOWPROC *proc;
|
WINDOWPROC *proc;
|
||||||
|
@ -305,7 +305,7 @@ static WINDOWPROC *WINPROC_GetPtr( WNDPROC16 handle )
|
||||||
*
|
*
|
||||||
* Allocate a new window procedure.
|
* Allocate a new window procedure.
|
||||||
*/
|
*/
|
||||||
static WINDOWPROC *WINPROC_AllocWinProc( WNDPROC16 func, WINDOWPROCTYPE type,
|
static WINDOWPROC *WINPROC_AllocWinProc( WNDPROC func, WINDOWPROCTYPE type,
|
||||||
WINDOWPROCUSER user )
|
WINDOWPROCUSER user )
|
||||||
{
|
{
|
||||||
static FARPROC16 relay_32A, relay_32W;
|
static FARPROC16 relay_32A, relay_32W;
|
||||||
|
@ -329,7 +329,7 @@ static WINDOWPROC *WINPROC_AllocWinProc( WNDPROC16 func, WINDOWPROCTYPE type,
|
||||||
case WIN_PROC_16:
|
case WIN_PROC_16:
|
||||||
proc->thunk.t_from32.popl_eax = 0x58; /* popl %eax */
|
proc->thunk.t_from32.popl_eax = 0x58; /* popl %eax */
|
||||||
proc->thunk.t_from32.pushl_func = 0x68; /* pushl $proc */
|
proc->thunk.t_from32.pushl_func = 0x68; /* pushl $proc */
|
||||||
proc->thunk.t_from32.proc = func;
|
proc->thunk.t_from32.proc = (WNDPROC16)func;
|
||||||
proc->thunk.t_from32.pushl_eax = 0x50; /* pushl %eax */
|
proc->thunk.t_from32.pushl_eax = 0x50; /* pushl %eax */
|
||||||
proc->thunk.t_from32.jmp = 0xe9; /* jmp relay*/
|
proc->thunk.t_from32.jmp = 0xe9; /* jmp relay*/
|
||||||
proc->thunk.t_from32.relay = /* relative jump */
|
proc->thunk.t_from32.relay = /* relative jump */
|
||||||
|
@ -341,7 +341,7 @@ static WINDOWPROC *WINPROC_AllocWinProc( WNDPROC16 func, WINDOWPROCTYPE type,
|
||||||
"__wine_call_wndproc_32A" );
|
"__wine_call_wndproc_32A" );
|
||||||
proc->thunk.t_from16.popl_eax = 0x58; /* popl %eax */
|
proc->thunk.t_from16.popl_eax = 0x58; /* popl %eax */
|
||||||
proc->thunk.t_from16.pushl_func = 0x68; /* pushl $proc */
|
proc->thunk.t_from16.pushl_func = 0x68; /* pushl $proc */
|
||||||
proc->thunk.t_from16.proc = (WNDPROC)func;
|
proc->thunk.t_from16.proc = func;
|
||||||
proc->thunk.t_from16.pushl_eax = 0x50; /* pushl %eax */
|
proc->thunk.t_from16.pushl_eax = 0x50; /* pushl %eax */
|
||||||
proc->thunk.t_from16.ljmp = 0xea; /* ljmp relay*/
|
proc->thunk.t_from16.ljmp = 0xea; /* ljmp relay*/
|
||||||
proc->thunk.t_from16.relay_offset = OFFSETOF(relay_32A);
|
proc->thunk.t_from16.relay_offset = OFFSETOF(relay_32A);
|
||||||
|
@ -355,14 +355,14 @@ static WINDOWPROC *WINPROC_AllocWinProc( WNDPROC16 func, WINDOWPROCTYPE type,
|
||||||
"__wine_call_wndproc_32W" );
|
"__wine_call_wndproc_32W" );
|
||||||
proc->thunk.t_from16.popl_eax = 0x58; /* popl %eax */
|
proc->thunk.t_from16.popl_eax = 0x58; /* popl %eax */
|
||||||
proc->thunk.t_from16.pushl_func = 0x68; /* pushl $proc */
|
proc->thunk.t_from16.pushl_func = 0x68; /* pushl $proc */
|
||||||
proc->thunk.t_from16.proc = (WNDPROC)func;
|
proc->thunk.t_from16.proc = func;
|
||||||
proc->thunk.t_from16.pushl_eax = 0x50; /* pushl %eax */
|
proc->thunk.t_from16.pushl_eax = 0x50; /* pushl %eax */
|
||||||
proc->thunk.t_from16.ljmp = 0xea; /* ljmp relay*/
|
proc->thunk.t_from16.ljmp = 0xea; /* ljmp relay*/
|
||||||
proc->thunk.t_from16.relay_offset = OFFSETOF(relay_32W);
|
proc->thunk.t_from16.relay_offset = OFFSETOF(relay_32W);
|
||||||
proc->thunk.t_from16.relay_sel = SELECTOROF(relay_32W);
|
proc->thunk.t_from16.relay_sel = SELECTOROF(relay_32W);
|
||||||
proc->jmp.jmp = 0xe9;
|
proc->jmp.jmp = 0xe9;
|
||||||
/* Fixup relative jump */
|
/* Fixup relative jump */
|
||||||
proc->jmp.proc = (WNDPROC)((DWORD)func - (DWORD)(&proc->jmp.proc + 1));
|
proc->jmp.proc = (WNDPROC)((char *)func - (char *)(&proc->jmp.proc + 1));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
/* Should not happen */
|
/* Should not happen */
|
||||||
|
@ -373,8 +373,7 @@ static WINDOWPROC *WINPROC_AllocWinProc( WNDPROC16 func, WINDOWPROCTYPE type,
|
||||||
proc->user = user;
|
proc->user = user;
|
||||||
}
|
}
|
||||||
proc->next = NULL;
|
proc->next = NULL;
|
||||||
TRACE_(win)("(%08x,%d): returning %08x\n",
|
TRACE_(win)("(%p,%d): returning %p\n", func, type, proc );
|
||||||
(UINT)func, type, (UINT)proc );
|
|
||||||
return proc;
|
return proc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -384,7 +383,7 @@ static WINDOWPROC *WINPROC_AllocWinProc( WNDPROC16 func, WINDOWPROCTYPE type,
|
||||||
*
|
*
|
||||||
* Get a window procedure pointer that can be passed to the Windows program.
|
* Get a window procedure pointer that can be passed to the Windows program.
|
||||||
*/
|
*/
|
||||||
WNDPROC16 WINPROC_GetProc( HWINDOWPROC proc, WINDOWPROCTYPE type )
|
WNDPROC16 WINPROC_GetProc( WNDPROC proc, WINDOWPROCTYPE type )
|
||||||
{
|
{
|
||||||
WINDOWPROC *ptr = (WINDOWPROC *)proc;
|
WINDOWPROC *ptr = (WINDOWPROC *)proc;
|
||||||
|
|
||||||
|
@ -431,8 +430,8 @@ WNDPROC16 WINPROC_GetProc( HWINDOWPROC proc, WINDOWPROCTYPE type )
|
||||||
* window is destroyed.
|
* window is destroyed.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
BOOL WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
|
BOOL WINPROC_SetProc( WNDPROC *pFirst, WNDPROC func,
|
||||||
WINDOWPROCTYPE type, WINDOWPROCUSER user )
|
WINDOWPROCTYPE type, WINDOWPROCUSER user )
|
||||||
{
|
{
|
||||||
BOOL bRecycle = FALSE;
|
BOOL bRecycle = FALSE;
|
||||||
WINDOWPROC *proc, **ppPrev;
|
WINDOWPROC *proc, **ppPrev;
|
||||||
|
@ -462,7 +461,7 @@ BOOL WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (((*ppPrev)->type == type) &&
|
if (((*ppPrev)->type == type) &&
|
||||||
(func == WINPROC_THUNKPROC(*ppPrev)))
|
(func == (WNDPROC)WINPROC_THUNKPROC(*ppPrev)))
|
||||||
{
|
{
|
||||||
if((*ppPrev)->user == user)
|
if((*ppPrev)->user == user)
|
||||||
{
|
{
|
||||||
|
@ -470,7 +469,7 @@ BOOL WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
WINPROC_FreeProc( *ppPrev, user );
|
WINPROC_FreeProc( (WNDPROC)*ppPrev, user );
|
||||||
*ppPrev = NULL;
|
*ppPrev = NULL;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -493,7 +492,7 @@ BOOL WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
|
||||||
if (proc) /* Was already a win proc */
|
if (proc) /* Was already a win proc */
|
||||||
{
|
{
|
||||||
type = proc->type;
|
type = proc->type;
|
||||||
func = WINPROC_THUNKPROC(proc);
|
func = (WNDPROC)WINPROC_THUNKPROC(proc);
|
||||||
}
|
}
|
||||||
proc = WINPROC_AllocWinProc( func, type, user );
|
proc = WINPROC_AllocWinProc( func, type, user );
|
||||||
if (!proc) return FALSE;
|
if (!proc) return FALSE;
|
||||||
|
@ -514,15 +513,16 @@ BOOL WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
|
||||||
*
|
*
|
||||||
* Free a list of win procs.
|
* Free a list of win procs.
|
||||||
*/
|
*/
|
||||||
void WINPROC_FreeProc( HWINDOWPROC proc, WINDOWPROCUSER user )
|
void WINPROC_FreeProc( WNDPROC proc, WINDOWPROCUSER user )
|
||||||
{
|
{
|
||||||
while (proc)
|
WINDOWPROC *ptr = (WINDOWPROC *)proc;
|
||||||
|
while (ptr)
|
||||||
{
|
{
|
||||||
WINDOWPROC *next = ((WINDOWPROC *)proc)->next;
|
WINDOWPROC *next = ptr->next;
|
||||||
if (((WINDOWPROC *)proc)->user != user) break;
|
if (ptr->user != user) break;
|
||||||
TRACE_(win)("freeing %08x (%d)\n", (UINT)proc, user);
|
TRACE_(win)("freeing %p (%d)\n", ptr, user);
|
||||||
HeapFree( WinProcHeap, 0, proc );
|
HeapFree( WinProcHeap, 0, ptr );
|
||||||
proc = next;
|
ptr = next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -532,7 +532,7 @@ void WINPROC_FreeProc( HWINDOWPROC proc, WINDOWPROCUSER user )
|
||||||
*
|
*
|
||||||
* Return the window procedure type.
|
* Return the window procedure type.
|
||||||
*/
|
*/
|
||||||
WINDOWPROCTYPE WINPROC_GetProcType( HWINDOWPROC proc )
|
WINDOWPROCTYPE WINPROC_GetProcType( WNDPROC proc )
|
||||||
{
|
{
|
||||||
if (!proc ||
|
if (!proc ||
|
||||||
(((WINDOWPROC *)proc)->magic != WINPROC_MAGIC))
|
(((WINDOWPROC *)proc)->magic != WINPROC_MAGIC))
|
||||||
|
@ -2710,11 +2710,11 @@ LRESULT WINAPI CallWindowProc16( WNDPROC16 func, HWND16 hwnd, UINT16 msg,
|
||||||
|
|
||||||
if (!func) return 0;
|
if (!func) return 0;
|
||||||
|
|
||||||
if (!(proc = WINPROC_GetPtr( func )))
|
if (!(proc = WINPROC_GetPtr( (WNDPROC)func )))
|
||||||
return WINPROC_CallWndProc16( func, hwnd, msg, wParam, lParam );
|
return WINPROC_CallWndProc16( func, hwnd, msg, wParam, lParam );
|
||||||
|
|
||||||
#if testing
|
#if testing
|
||||||
func = WINPROC_GetProc( (HWINDOWPROC)proc, WIN_PROC_16 );
|
func = WINPROC_GetProc( (WNDPROC)proc, WIN_PROC_16 );
|
||||||
return WINPROC_CallWndProc16( func, hwnd, msg, wParam, lParam );
|
return WINPROC_CallWndProc16( func, hwnd, msg, wParam, lParam );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2768,12 +2768,12 @@ LRESULT WINAPI CallWindowProcA(
|
||||||
WPARAM wParam, /* [in] message dependent parameter */
|
WPARAM wParam, /* [in] message dependent parameter */
|
||||||
LPARAM lParam /* [in] message dependent parameter */
|
LPARAM lParam /* [in] message dependent parameter */
|
||||||
) {
|
) {
|
||||||
WINDOWPROC *proc = WINPROC_GetPtr( (WNDPROC16)func );
|
WINDOWPROC *proc = WINPROC_GetPtr( func );
|
||||||
|
|
||||||
if (!proc) return WINPROC_CallWndProc( func, hwnd, msg, wParam, lParam );
|
if (!proc) return WINPROC_CallWndProc( func, hwnd, msg, wParam, lParam );
|
||||||
|
|
||||||
#if testing
|
#if testing
|
||||||
func = WINPROC_GetProc( (HWINDOWPROC)proc, WIN_PROC_32A );
|
func = WINPROC_GetProc( (WNDPROC)proc, WIN_PROC_32A );
|
||||||
return WINPROC_CallWndProc( func, hwnd, msg, wParam, lParam );
|
return WINPROC_CallWndProc( func, hwnd, msg, wParam, lParam );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -2804,12 +2804,12 @@ LRESULT WINAPI CallWindowProcA(
|
||||||
LRESULT WINAPI CallWindowProcW( WNDPROC func, HWND hwnd, UINT msg,
|
LRESULT WINAPI CallWindowProcW( WNDPROC func, HWND hwnd, UINT msg,
|
||||||
WPARAM wParam, LPARAM lParam )
|
WPARAM wParam, LPARAM lParam )
|
||||||
{
|
{
|
||||||
WINDOWPROC *proc = WINPROC_GetPtr( (WNDPROC16)func );
|
WINDOWPROC *proc = WINPROC_GetPtr( func );
|
||||||
|
|
||||||
if (!proc) return WINPROC_CallWndProc( func, hwnd, msg, wParam, lParam );
|
if (!proc) return WINPROC_CallWndProc( func, hwnd, msg, wParam, lParam );
|
||||||
|
|
||||||
#if testing
|
#if testing
|
||||||
func = WINPROC_GetProc( (HWINDOWPROC)proc, WIN_PROC_32W );
|
func = WINPROC_GetProc( (WNDPROC)proc, WIN_PROC_32W );
|
||||||
return WINPROC_CallWndProc( func, hwnd, msg, wParam, lParam );
|
return WINPROC_CallWndProc( func, hwnd, msg, wParam, lParam );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue