Perform 16/32A/32W message mapping for posted messages.
diff --git a/include/message.h b/include/message.h
index add4323..fd86651 100644
--- a/include/message.h
+++ b/include/message.h
@@ -13,9 +13,9 @@
extern DWORD MSG_WineStartTicks; /* Ticks at Wine startup */
/* message.c */
-extern BOOL MSG_InternalGetMessage( MSG *msg, HWND hwnd,
- HWND hwndOwner, WPARAM code,
- WORD flags, BOOL sendIdle, BOOL* idleSent );
+extern BOOL MSG_InternalGetMessage( int type, MSG *msg, HWND hwnd,
+ HWND hwndOwner, WPARAM code,
+ WORD flags, BOOL sendIdle, BOOL* idleSent );
/* timer.c */
extern BOOL TIMER_Init( void );
diff --git a/include/queue.h b/include/queue.h
index 058707e..3448c82 100644
--- a/include/queue.h
+++ b/include/queue.h
@@ -15,13 +15,19 @@
/* Message as stored in the queue (contains the extraInfo field) */
typedef struct tagQMSG
{
+ int type;
MSG msg;
- DWORD extraInfo; /* Only in 3.1 */
+ DWORD extraInfo; /* Only in 3.1 */
struct tagQMSG *nextMsg;
struct tagQMSG *prevMsg;
} QMSG;
+#define QMSG_WIN16 0
+#define QMSG_WIN32A 1
+#define QMSG_WIN32W 2
+#define QMSG_HARDWARE 3
+
typedef struct tagSMSG
{
@@ -160,7 +166,7 @@
extern BOOL QUEUE_CreateSysMsgQueue( int size );
extern BOOL QUEUE_DeleteMsgQueue( HQUEUE16 hQueue );
extern HTASK16 QUEUE_GetQueueTask( HQUEUE16 hQueue );
-extern BOOL QUEUE_AddMsg( HQUEUE16 hQueue, MSG * msg, DWORD extraInfo );
+extern BOOL QUEUE_AddMsg( HQUEUE16 hQueue, int type, MSG * msg, DWORD extraInfo );
extern QMSG* QUEUE_FindMsg( MESSAGEQUEUE * msgQueue, HWND hwnd,
int first, int last );
extern void QUEUE_RemoveMsg( MESSAGEQUEUE * msgQueue, QMSG *qmsg );