Commit 18d02972 authored by Alexandre Julliard's avatar Alexandre Julliard

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.
parent 94f83596
......@@ -28,7 +28,7 @@
#include "winuser.h"
#include "wine/winuser16.h"
#include "wine/unicode.h"
#include "spy.h"
#include "message.h"
#include "user.h"
#include "win.h"
#include "controls.h"
......
......@@ -29,7 +29,7 @@
#include "wine/unicode.h"
#include "winuser.h"
#include "winerror.h"
#include "spy.h"
#include "message.h"
#include "user.h"
#include "controls.h"
#include "wine/debug.h"
......
......@@ -26,7 +26,7 @@
#include "win.h"
#include "wine/debug.h"
#include "user.h"
#include "spy.h"
#include "message.h"
WINE_DEFAULT_DEBUG_CHANNEL(scroll);
......
......@@ -146,7 +146,6 @@
#include "wingdi.h"
#include "wine/unicode.h"
#include "commctrl.h"
/* #include "spy.h" */
#include "wine/debug.h"
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);
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))
return DefWindowProcA (hwnd, uMsg, wParam, lParam);
switch (uMsg)
......
......@@ -66,7 +66,7 @@
#include "winuser.h"
#include "winerror.h"
#include "heap.h"
#include "queue.h"
#include "message.h"
#include "win.h"
#include "wine/server.h"
#include "wine/unicode.h"
......
......@@ -26,8 +26,9 @@
#include "winuser.h"
#include "wownt32.h"
#include "wine/winuser16.h"
#include "queue.h"
#include "message.h"
#include "win.h"
#include "winproc.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(hook);
......
......@@ -29,12 +29,10 @@
#include "dde.h"
#include "wine/unicode.h"
#include "wine/server.h"
#include "queue.h"
#include "input.h"
#include "message.h"
#include "spy.h"
#include "user.h"
#include "win.h"
#include "winproc.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(msg);
......
/*
* Message queues definitions
* Message definitions
*
* Copyright 1993 Alexandre Julliard
*
......@@ -18,14 +18,11 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_QUEUE_H
#define __WINE_QUEUE_H
#ifndef __WINE_MESSAGE_H
#define __WINE_MESSAGE_H
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "thread.h"
#include "wine/windef16.h"
struct received_message_info;
struct hook16_queue_info;
......@@ -51,8 +48,40 @@ typedef struct tagMESSAGEQUEUE
#define MAX_SENDMSG_RECURSION 64
/* Message queue management methods */
/* queue.c */
extern MESSAGEQUEUE *QUEUE_Current(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 "winerror.h"
#include "message.h"
#include "spy.h"
#include "thread.h"
#include "win.h"
#include "winproc.h"
#include "wine/debug.h"
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;
there's a slim chance that the application kills the timer
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 CallWindowProc16( (WNDPROC16)msg->lParam, msg->hwnd,
......
......@@ -30,12 +30,9 @@
#include "controls.h"
#include "cursoricon.h"
#include "global.h"
#include "input.h"
#include "message.h"
#include "queue.h"
#include "spy.h"
#include "sysmetrics.h"
#include "user.h"
#include "thread.h"
#include "win.h"
#include "wine/debug.h"
......
......@@ -40,8 +40,6 @@ typedef enum
WIN_PROC_TIMER
} WINDOWPROCUSER;
typedef void *HWINDOWPROC; /* Really a pointer to a WINDOWPROC */
typedef struct
{
WPARAM16 wParam;
......@@ -56,12 +54,14 @@ typedef struct
LRESULT lResult;
} MSGPARAM;
struct tagWINDOWPROC;
extern BOOL WINPROC_Init(void);
extern WNDPROC16 WINPROC_GetProc( HWINDOWPROC proc, WINDOWPROCTYPE type );
extern BOOL WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
extern WNDPROC16 WINPROC_GetProc( WNDPROC proc, WINDOWPROCTYPE type );
extern BOOL WINPROC_SetProc( WNDPROC *pFirst, WNDPROC func,
WINDOWPROCTYPE type, WINDOWPROCUSER user );
extern void WINPROC_FreeProc( HWINDOWPROC proc, WINDOWPROCUSER user );
extern WINDOWPROCTYPE WINPROC_GetProcType( HWINDOWPROC proc );
extern void WINPROC_FreeProc( WNDPROC proc, WINDOWPROCUSER user );
extern WINDOWPROCTYPE WINPROC_GetProcType( WNDPROC proc );
extern INT WINPROC_MapMsg32ATo32W( HWND hwnd, UINT msg, WPARAM *pwparam,
LPARAM *plparam );
......@@ -132,4 +132,21 @@ inline static void unmap_str_16_to_32W( LPCWSTR 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 */
......@@ -37,15 +37,13 @@
#include "shlobj.h" /* DROPFILES */
#include "clipboard.h"
#include "dce.h"
#include "wine/debug.h"
#include "input.h"
#include "win.h"
#include "winpos.h"
#include "windef.h"
#include "winreg.h"
#include "x11drv.h"
#include "shellapi.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(event);
......
......@@ -38,7 +38,6 @@
#include "x11drv.h"
#include "win.h"
#include "winpos.h"
#include "dce.h"
#include "mwm.h"
WINE_DEFAULT_DEBUG_CHANNEL(x11drv);
......
......@@ -39,7 +39,6 @@
#include "dce.h"
#include "cursoricon.h"
#include "nonclient.h"
#include "message.h"
#include "wine/server.h"
#include "wine/debug.h"
......
/*
* 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 */
/*
* 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 */
/*
* 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 */
/*
* 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 BOOL HOOK_IsHooked( INT id );
/* input.c */
extern BYTE InputKeyStateTable[256];
extern BYTE AsyncKeyStateTable[256];
/* syscolor.c */
extern void SYSCOLOR_Init(void);
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 DWORD USER16_AlertableWait;
......
......@@ -24,7 +24,6 @@
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winproc.h"
#include "winuser.h"
#include "wine/windef16.h"
......@@ -42,7 +41,7 @@ typedef struct tagWND
HWND parent; /* Window parent */
HWND owner; /* Window owner */
struct tagCLASS *class; /* Window class */
HWINDOWPROC winproc; /* Window procedure */
WNDPROC winproc; /* Window procedure */
DWORD dwMagic; /* Magic number (must be WND_MAGIC) */
DWORD tid; /* Owner thread id */
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 );
/* 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 */
......@@ -54,8 +54,8 @@ typedef struct tagCLASS
struct tagCLASS *prev; /* Prev class */
UINT cWindows; /* Count of existing windows */
UINT style; /* Class style */
HWINDOWPROC winprocA; /* Window procedure (ASCII) */
HWINDOWPROC winprocW; /* Window procedure (Unicode) */
WNDPROC winprocA; /* Window procedure (ASCII) */
WNDPROC winprocW; /* Window procedure (Unicode) */
INT cbClsExtra; /* Class extra bytes */
INT cbWndExtra; /* Window extra bytes */
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 )
{
HWINDOWPROC proc = classPtr->winprocA;
WNDPROC proc = classPtr->winprocA;
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 )
{
HWINDOWPROC *proc = &classPtr->winprocA;
WNDPROC *proc = &classPtr->winprocA;
WNDPROC16 ret;
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;
}
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 */
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->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 );
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 );
return atom;
}
......@@ -559,7 +559,7 @@ ATOM WINAPI RegisterClass16( const WNDCLASS16 *wc )
classPtr->hCursor = HCURSOR_32(wc->hCursor);
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 );
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->hbrBackground = wc->hbrBackground;
WINPROC_SetProc( &classPtr->winprocA, (HWINDOWPROC)wc->lpfnWndProc,
WINPROC_SetProc( &classPtr->winprocA, wc->lpfnWndProc,
WIN_PROC_32A, WIN_PROC_CLASS );
CLASS_SetMenuNameA( classPtr, wc->lpszMenuName );
return atom;
......@@ -644,7 +644,7 @@ ATOM WINAPI RegisterClassW( const WNDCLASSW* wc )
classPtr->hCursor = wc->hCursor;
classPtr->hbrBackground = wc->hbrBackground;
WINPROC_SetProc( &classPtr->winprocW, (HWINDOWPROC)wc->lpfnWndProc,
WINPROC_SetProc( &classPtr->winprocW, wc->lpfnWndProc,
WIN_PROC_32W, WIN_PROC_CLASS );
CLASS_SetMenuNameW( classPtr, wc->lpszMenuName );
return atom;
......@@ -678,7 +678,7 @@ ATOM WINAPI RegisterClassEx16( const WNDCLASSEX16 *wc )
classPtr->hCursor = HCURSOR_32(wc->hCursor);
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 );
CLASS_SetMenuNameA( classPtr, MapSL(wc->lpszMenuName) );
return atom;
......@@ -711,8 +711,7 @@ ATOM WINAPI RegisterClassExA( const WNDCLASSEXA* wc )
classPtr->hIconSm = wc->hIconSm;
classPtr->hCursor = wc->hCursor;
classPtr->hbrBackground = wc->hbrBackground;
WINPROC_SetProc( &classPtr->winprocA, (HWINDOWPROC)wc->lpfnWndProc,
WIN_PROC_32A, WIN_PROC_CLASS );
WINPROC_SetProc( &classPtr->winprocA, wc->lpfnWndProc, WIN_PROC_32A, WIN_PROC_CLASS );
CLASS_SetMenuNameA( classPtr, wc->lpszMenuName );
return atom;
}
......@@ -744,8 +743,7 @@ ATOM WINAPI RegisterClassExW( const WNDCLASSEXW* wc )
classPtr->hIconSm = wc->hIconSm;
classPtr->hCursor = wc->hCursor;
classPtr->hbrBackground = wc->hbrBackground;
WINPROC_SetProc( &classPtr->winprocW, (HWINDOWPROC)wc->lpfnWndProc,
WIN_PROC_32W, WIN_PROC_CLASS );
WINPROC_SetProc( &classPtr->winprocW, wc->lpfnWndProc, WIN_PROC_32W, WIN_PROC_CLASS );
CLASS_SetMenuNameW( classPtr, wc->lpszMenuName );
return atom;
}
......
......@@ -57,8 +57,6 @@
#include "module.h"
#include "wine/debug.h"
#include "user.h"
#include "queue.h"
#include "input.h"
#include "message.h"
#include "winerror.h"
#include "msvcrt/excpt.h"
......
......@@ -298,7 +298,7 @@ LRESULT WINAPI DefDlgProc16( HWND16 hwnd, UINT16 msg, WPARAM16 wParam,
/* Call dialog procedure */
result = CallWindowProc16( dlgproc, hwnd, msg, wParam, lParam );
/* 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);
}
......
......@@ -26,15 +26,15 @@
#include "nonclient.h"
#include "winpos.h"
#include "dce.h"
#include "wine/debug.h"
#include "spy.h"
#include "windef.h"
#include "wingdi.h"
#include "winnls.h"
#include "imm.h"
#include "message.h"
#include "wine/unicode.h"
#include "wine/winuser16.h"
#include "wine/server.h"
#include "imm.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(win);
......
......@@ -37,9 +37,7 @@
#include "wine/winuser16.h"
#include "wine/server.h"
#include "win.h"
#include "input.h"
#include "message.h"
#include "queue.h"
#include "winternl.h"
#include "wine/debug.h"
#include "winerror.h"
......
......@@ -34,17 +34,15 @@
#include "message.h"
#include "winerror.h"
#include "wine/server.h"
#include "win.h"
#include "controls.h"
#include "dde.h"
#include "heap.h"
#include "input.h"
#include "spy.h"
#include "message.h"
#include "thread.h"
#include "user.h"
#include "win.h"
#include "winpos.h"
#include "dde.h"
#include "queue.h"
#include "winproc.h"
#include "user.h"
#include "thread.h"
#include "controls.h"
#include "wine/debug.h"
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;
there's a slim chance that the application kills the timer
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 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;
there's a slim chance that the application kills the timer
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 CallWindowProcW( (WNDPROC)msg->lParam, msg->hwnd,
......
......@@ -29,7 +29,7 @@
#include "gdi.h"
#include "user.h"
#include "win.h"
#include "queue.h"
#include "message.h"
#include "dce.h"
#include "wine/debug.h"
......
......@@ -26,13 +26,12 @@
#include "winerror.h"
#include "wine/winbase16.h"
#include "wine/winuser16.h"
#include "queue.h"
#include "message.h"
#include "win.h"
#include "user.h"
#include "thread.h"
#include "wine/debug.h"
#include "wine/server.h"
#include "spy.h"
WINE_DEFAULT_DEBUG_CHANNEL(msg);
......
......@@ -29,7 +29,7 @@
#include "wine/unicode.h"
#include "win.h"
#include "wine/debug.h"
#include "spy.h"
#include "message.h"
#include "commctrl.h"
WINE_DEFAULT_DEBUG_CHANNEL(message);
......
......@@ -27,7 +27,6 @@
#include "wingdi.h"
#include "wine/winbase16.h"
#include "wine/winuser16.h"
#include "sysmetrics.h"
#include "winbase.h"
#include "winuser.h"
#include "wownt32.h"
......
......@@ -30,7 +30,6 @@
#include "winuser.h"
#include "winerror.h"
#include "user.h"
#include "sysmetrics.h"
static int sysMetrics[SM_WINE_CMETRICS+1];
......
......@@ -34,7 +34,6 @@
#include "controls.h"
#include "user.h"
#include "wine/debug.h"
#include "sysmetrics.h"
WINE_DEFAULT_DEBUG_CHANNEL(system);
......
......@@ -40,7 +40,7 @@ typedef struct tagTIMER
UINT msg; /* WM_TIMER or WM_SYSTIMER */
UINT id;
UINT timeout;
HWINDOWPROC proc;
WNDPROC proc;
} TIMER;
#define NB_TIMERS 34
......@@ -112,11 +112,11 @@ void TIMER_RemoveThreadTimers(void)
* TIMER_SetTimer
*/
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;
TIMER * pTimer;
HWINDOWPROC winproc = 0;
WNDPROC winproc = 0;
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",
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 );
}
......@@ -255,14 +255,14 @@ UINT_PTR WINAPI SetTimer( HWND hwnd, UINT_PTR id, UINT timeout,
TIMERPROC 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
*/
BOOL TIMER_IsTimerValid( HWND hwnd, UINT_PTR id, HWINDOWPROC hProc )
BOOL TIMER_IsTimerValid( HWND hwnd, UINT_PTR id, WNDPROC proc )
{
int i;
TIMER *pTimer;
......@@ -272,8 +272,7 @@ BOOL TIMER_IsTimerValid( HWND hwnd, UINT_PTR id, HWINDOWPROC hProc )
EnterCriticalSection( &csTimer );
for (i = 0, pTimer = TimersArray; i < NB_TIMERS; i++, pTimer++)
if ((pTimer->hwnd == hwnd) && (pTimer->id == id) &&
(pTimer->proc == hProc))
if ((pTimer->hwnd == hwnd) && (pTimer->id == id) && (pTimer->proc == proc))
{
ret = TRUE;
break;
......@@ -292,8 +291,7 @@ UINT16 WINAPI SetSystemTimer16( HWND16 hwnd, UINT16 id, UINT16 timeout,
{
TRACE("%04x %d %d %08lx\n",
hwnd, id, timeout, (LONG)proc );
return TIMER_SetTimer( WIN_Handle32(hwnd), id, timeout, (WNDPROC16)proc,
WIN_PROC_16, TRUE );
return TIMER_SetTimer( WIN_Handle32(hwnd), id, timeout, (WNDPROC)proc, WIN_PROC_16, TRUE );
}
......@@ -304,7 +302,7 @@ UINT_PTR WINAPI SetSystemTimer( HWND hwnd, UINT_PTR id, UINT timeout,
TIMERPROC 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 "cursoricon.h"
#include "message.h"
#include "miscemu.h"
#include "sysmetrics.h"
#include "local.h"
#include "module.h"
#include "winternl.h"
......
......@@ -36,7 +36,6 @@
#include "controls.h"
#include "cursoricon.h"
#include "message.h"
#include "queue.h"
#include "winpos.h"
#include "winerror.h"
#include "stackframe.h"
......@@ -1944,7 +1943,7 @@ static LONG WIN_GetWindowLong( HWND hwnd, INT offset, WINDOWPROCTYPE type )
retvalue = *(LONG *)(((char *)wndPtr->wExtra) + offset);
/* Special case for dialog window procedure */
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 );
return retvalue;
}
......@@ -2015,9 +2014,8 @@ static LONG WIN_SetWindowLong( HWND hwnd, INT offset, LONG newval,
/* Special case for dialog window procedure */
if ((offset == DWL_DLGPROC) && (wndPtr->flags & WIN_ISDIALOG))
{
retval = (LONG)WINPROC_GetProc( (HWINDOWPROC)*ptr, type );
WINPROC_SetProc( (HWINDOWPROC *)ptr, (WNDPROC16)newval,
type, WIN_PROC_WINDOW );
retval = (LONG)WINPROC_GetProc( (WNDPROC)*ptr, type );
WINPROC_SetProc( (WNDPROC *)ptr, (WNDPROC)newval, type, WIN_PROC_WINDOW );
WIN_ReleasePtr( wndPtr );
return retval;
}
......@@ -2055,8 +2053,7 @@ static LONG WIN_SetWindowLong( HWND hwnd, INT offset, LONG newval,
}
case GWL_WNDPROC:
retval = (LONG)WINPROC_GetProc( wndPtr->winproc, type );
WINPROC_SetProc( &wndPtr->winproc, (WNDPROC16)newval,
type, WIN_PROC_WINDOW );
WINPROC_SetProc( &wndPtr->winproc, (WNDPROC)newval, type, WIN_PROC_WINDOW );
WIN_ReleasePtr( wndPtr );
return retval;
case GWL_ID:
......
......@@ -30,12 +30,9 @@
#include "user.h"
#include "win.h"
#include "message.h"
#include "queue.h"
#include "winpos.h"
#include "dce.h"
#include "nonclient.h"
#include "wine/debug.h"
#include "input.h"
WINE_DEFAULT_DEBUG_CHANNEL(win);
......
......@@ -38,7 +38,7 @@
#include "win.h"
#include "winproc.h"
#include "wine/debug.h"
#include "spy.h"
#include "message.h"
#include "thread.h"
#include "dde.h"
......@@ -265,7 +265,7 @@ static LRESULT WINAPI WINPROC_CallWndProc16( WNDPROC16 proc, HWND16 hwnd,
*
* Return a pointer to the win proc.
*/
static WINDOWPROC *WINPROC_GetPtr( WNDPROC16 handle )
static WINDOWPROC *WINPROC_GetPtr( WNDPROC handle )
{
BYTE *ptr;
WINDOWPROC *proc;
......@@ -305,7 +305,7 @@ static WINDOWPROC *WINPROC_GetPtr( WNDPROC16 handle )
*
* Allocate a new window procedure.
*/
static WINDOWPROC *WINPROC_AllocWinProc( WNDPROC16 func, WINDOWPROCTYPE type,
static WINDOWPROC *WINPROC_AllocWinProc( WNDPROC func, WINDOWPROCTYPE type,
WINDOWPROCUSER user )
{
static FARPROC16 relay_32A, relay_32W;
......@@ -329,7 +329,7 @@ static WINDOWPROC *WINPROC_AllocWinProc( WNDPROC16 func, WINDOWPROCTYPE type,
case WIN_PROC_16:
proc->thunk.t_from32.popl_eax = 0x58; /* popl %eax */
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.jmp = 0xe9; /* jmp relay*/
proc->thunk.t_from32.relay = /* relative jump */
......@@ -341,7 +341,7 @@ static WINDOWPROC *WINPROC_AllocWinProc( WNDPROC16 func, WINDOWPROCTYPE type,
"__wine_call_wndproc_32A" );
proc->thunk.t_from16.popl_eax = 0x58; /* popl %eax */
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.ljmp = 0xea; /* ljmp relay*/
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" );
proc->thunk.t_from16.popl_eax = 0x58; /* popl %eax */
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.ljmp = 0xea; /* ljmp relay*/
proc->thunk.t_from16.relay_offset = OFFSETOF(relay_32W);
proc->thunk.t_from16.relay_sel = SELECTOROF(relay_32W);
proc->jmp.jmp = 0xe9;
/* 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;
default:
/* Should not happen */
......@@ -373,8 +373,7 @@ static WINDOWPROC *WINPROC_AllocWinProc( WNDPROC16 func, WINDOWPROCTYPE type,
proc->user = user;
}
proc->next = NULL;
TRACE_(win)("(%08x,%d): returning %08x\n",
(UINT)func, type, (UINT)proc );
TRACE_(win)("(%p,%d): returning %p\n", func, type, 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.
*/
WNDPROC16 WINPROC_GetProc( HWINDOWPROC proc, WINDOWPROCTYPE type )
WNDPROC16 WINPROC_GetProc( WNDPROC proc, WINDOWPROCTYPE type )
{
WINDOWPROC *ptr = (WINDOWPROC *)proc;
......@@ -431,8 +430,8 @@ WNDPROC16 WINPROC_GetProc( HWINDOWPROC proc, WINDOWPROCTYPE type )
* window is destroyed.
*
*/
BOOL WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
WINDOWPROCTYPE type, WINDOWPROCUSER user )
BOOL WINPROC_SetProc( WNDPROC *pFirst, WNDPROC func,
WINDOWPROCTYPE type, WINDOWPROCUSER user )
{
BOOL bRecycle = FALSE;
WINDOWPROC *proc, **ppPrev;
......@@ -462,7 +461,7 @@ BOOL WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
else
{
if (((*ppPrev)->type == type) &&
(func == WINPROC_THUNKPROC(*ppPrev)))
(func == (WNDPROC)WINPROC_THUNKPROC(*ppPrev)))
{
if((*ppPrev)->user == user)
{
......@@ -470,7 +469,7 @@ BOOL WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
}
else
{
WINPROC_FreeProc( *ppPrev, user );
WINPROC_FreeProc( (WNDPROC)*ppPrev, user );
*ppPrev = NULL;
}
break;
......@@ -493,7 +492,7 @@ BOOL WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
if (proc) /* Was already a win proc */
{
type = proc->type;
func = WINPROC_THUNKPROC(proc);
func = (WNDPROC)WINPROC_THUNKPROC(proc);
}
proc = WINPROC_AllocWinProc( func, type, user );
if (!proc) return FALSE;
......@@ -514,15 +513,16 @@ BOOL WINPROC_SetProc( HWINDOWPROC *pFirst, WNDPROC16 func,
*
* 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;
if (((WINDOWPROC *)proc)->user != user) break;
TRACE_(win)("freeing %08x (%d)\n", (UINT)proc, user);
HeapFree( WinProcHeap, 0, proc );
proc = next;
WINDOWPROC *next = ptr->next;
if (ptr->user != user) break;
TRACE_(win)("freeing %p (%d)\n", ptr, user);
HeapFree( WinProcHeap, 0, ptr );
ptr = next;
}
}
......@@ -532,7 +532,7 @@ void WINPROC_FreeProc( HWINDOWPROC proc, WINDOWPROCUSER user )
*
* Return the window procedure type.
*/
WINDOWPROCTYPE WINPROC_GetProcType( HWINDOWPROC proc )
WINDOWPROCTYPE WINPROC_GetProcType( WNDPROC proc )
{
if (!proc ||
(((WINDOWPROC *)proc)->magic != WINPROC_MAGIC))
......@@ -2710,11 +2710,11 @@ LRESULT WINAPI CallWindowProc16( WNDPROC16 func, HWND16 hwnd, UINT16 msg,
if (!func) return 0;
if (!(proc = WINPROC_GetPtr( func )))
if (!(proc = WINPROC_GetPtr( (WNDPROC)func )))
return WINPROC_CallWndProc16( func, hwnd, msg, wParam, lParam );
#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 );
#endif
......@@ -2768,12 +2768,12 @@ LRESULT WINAPI CallWindowProcA(
WPARAM wParam, /* [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 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 );
#endif
......@@ -2804,12 +2804,12 @@ LRESULT WINAPI CallWindowProcA(
LRESULT WINAPI CallWindowProcW( WNDPROC func, HWND hwnd, UINT msg,
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 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 );
#endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment