Release 960528

Tue May 28 19:36:36 1996  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [controls/combo.c]
	Destroy the listbox and edit control when destroying the
	combo. This should prevent crashes on application exit.

	* [misc/system.c] [if1632/system.spec]
	Implemented InquireSystem().

	* [loader/task.c] [windows/message.c] [windows/queue.c]
	First attempt at inter-task SendMessage(). Still has a lot of
	problems.

Tue May 28 14:26:04 1996  Peter Bajusz  <hyp-x@inf.bme.hu>

	* [windows/mdi.c]
	Fixed MDITile with iconic children.

Mon May 27 20:28:18 1996  Albrecht Kleine  <kleine@ak.sax.de>

	* [misc/commdlg.c]
	ChooseFont dialog:
	- complete rewrite of FontFamilyEnumProc() and FontStyleEnumProc()
	  not real available font types (e.g. "Bold") can not selected
	- supporting more CF_LIMITSIZE- and CF_...ONLY- flags

	* [objects/font.c]
	In FONT_MatchFont perform check if "lfFaceName" is family from X11
	only if "lfFaceName" is a windows font family then do a call of
	FONT_TranslateName() : this results in better font selections in 
	ChooseFont() or applications like charmap.exe or write.exe.
	Added a ParseFontParms() call if necessary in function 
	FONT_MatchFont(): we need a font name as basis for GetTextFace() 
	even if there isn't one...

	* [resources/TODO]
	Inventory of resource translations in sysres_??.rc

Fri May 24 16:33:28 1996  Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>

	* [misc/registry.c]
	_w95_loadreg: use offset to determine next RGDB position too.

Thu May 23 19:35:38 1996  Greg Kreider <kreider@natlab.research.philips.com>

	* [controls/combo.c]
	Fixed size of combo, lbox, and button (lb sometimes off by 2 pixels).

	* [misc/main.c]
	Result of option "-fixedmap" is to turn flag on.

Thu May 23 19:15:41 1996  Ronan Waide  <root@waider.ie>

	* [misc/shell.c]
	ShellExecute and FindExecutable now both use common code to
	determine the required executable file.
diff --git a/include/commdlg.h b/include/commdlg.h
index 84965e4..624822b 100644
--- a/include/commdlg.h
+++ b/include/commdlg.h
@@ -283,19 +283,6 @@
 #define CDERR_NOHOOK           0x000B
 #define CDERR_REGISTERMSGFAIL  0x000C
 
-/************************************************************************
-*                 COMMDLG Resources placed in Wine SYSRES.DLL		    *
-************************************************************************/
-
-#define OPENFILEDLG    			3
-#define SAVEFILEDLG    			4
-#define PRINTDLG	       		5
-#define PRINTSETUPDLG			6
-#define FONTDLG		       		7
-#define COLORDLG	       		8
-#define FINDDLG		       		9
-#define REPLACEDLG	       		10
-
 BOOL  ChooseColor(LPCHOOSECOLOR lpChCol);
 DWORD CommDlgExtendedError(void);
 BOOL  FindText(LPFINDREPLACE lpFind);
diff --git a/include/event.h b/include/event.h
deleted file mode 100644
index 4019f1d..0000000
--- a/include/event.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __WINE_EVENT_H
-#define __WINE_EVENT_H
-
-extern void EVENT_ProcessEvent( XEvent *event );  /* event.c */
-extern void EVENT_RegisterWindow( Window w, HWND hwnd );  /* event.c */
-extern void EVENT_DummyMotionNotify(void);  /* event.c */
-
-#endif /* __WINE_EVENT_H */
diff --git a/include/message.h b/include/message.h
index 870695c..1fc0266 100644
--- a/include/message.h
+++ b/include/message.h
@@ -7,14 +7,27 @@
 #ifndef __WINE_MESSAGE_H
 #define __WINE_MESSAGE_H
 
-#include "windows.h"
+#include "win.h"
+#include "queue.h"
 
 extern DWORD MSG_WineStartTicks;  /* Ticks at Wine startup */
 
-extern void MSG_Synchronize();
-extern BOOL MSG_WaitXEvent( LONG maxWait );
+/* message.c */
 extern BOOL MSG_GetHardwareMessage( LPMSG msg );
 extern BOOL MSG_InternalGetMessage( SEGPTR msg, HWND hwnd, HWND hwndOwner,
 				    short code, WORD flags, BOOL sendIdle );
 
+/* timer.c */
+extern void TIMER_RemoveWindowTimers( HWND hwnd );
+extern void TIMER_RemoveQueueTimers( HQUEUE hqueue );
+extern void TIMER_SwitchQueue( HQUEUE hOldQueue, HQUEUE hNewQueue );
+extern LONG TIMER_GetNextExp(void);
+
+/* event.c */
+extern BOOL EVENT_WaitXEvent( LONG maxWait );
+extern void EVENT_Synchronize(void);
+extern void EVENT_ProcessEvent( XEvent *event );
+extern void EVENT_RegisterWindow( Window w, HWND hwnd );
+extern void EVENT_DummyMotionNotify(void);
+
 #endif  /* __WINE_MESSAGE_H */
diff --git a/include/queue.h b/include/queue.h
index fba9398..6230b89 100644
--- a/include/queue.h
+++ b/include/queue.h
@@ -42,16 +42,17 @@
   DWORD     SendMessageReturn;      /* 28 Return value for SendMessage */
   WORD      wPostQMsg;              /* 2c PostQuitMessage flag */
   WORD      wExitCode;              /* 2e PostQuitMessage exit code */
-  WORD      reserved3[3];           /* 30 Unknown */
+  WORD      flags;                  /* 30 Queue flags */
+  WORD      reserved3[2];           /* 32 Unknown */
   WORD      wWinVersion;            /* 36 Expected Windows version */
   HQUEUE    InSendMessageHandle;    /* 38 Queue of task that sent a message */
   HTASK     hSendingTask;           /* 3a Handle of task that sent a message */
   HTASK     hPrevSendingTask;       /* 3c Handle of previous sender */
   WORD      wPaintCount;            /* 3e Number of WM_PAINT needed */
   WORD      wTimerCount;            /* 40 Number of timers for this task */
-  WORD      tempStatus;             /* 42 State reset by GetQueueStatus */
-  WORD      status;                 /* 44 Queue state */
-  WORD      wakeMask;               /* 46 Task wake-up mask */
+  WORD      changeBits;             /* 42 Changed wake-up bits */
+  WORD      wakeBits;               /* 44 Queue wake-up bits */
+  WORD      wakeMask;               /* 46 Queue wake-up mask */
   WORD      SendMsgReturnPtrs[3];   /* 48 Near ptr to return values (?) */
   HANDLE    hCurHook;               /* 4e Current hook */
   HANDLE    hooks[WH_NB_HOOKS];     /* 50 Task hooks list */
@@ -63,9 +64,19 @@
 #pragma pack(4)
 #endif
 
+/* Extra (undocumented) queue wake bits; not sure about the values */
+#define QS_SMRESULT      0x0100  /* Queue has a SendMessage() result */
+#define QS_SMPARAMSFREE  0x0200  /* SendMessage() parameters are available */
+
+/* Queue flags */
+#define QUEUE_FLAG_REPLIED  0x0001  /* Replied to a SendMessage() */
+
 extern void QUEUE_DumpQueue( HQUEUE hQueue );
 extern void QUEUE_WalkQueues(void);
 extern MESSAGEQUEUE *QUEUE_GetSysQueue(void);
+extern void QUEUE_SetWakeBit( MESSAGEQUEUE *queue, WORD bit );
+extern void QUEUE_ReceiveMessage( MESSAGEQUEUE *queue );
+extern void QUEUE_WaitBits( WORD bits );
 extern void QUEUE_IncPaintCount( HQUEUE hQueue );
 extern void QUEUE_DecPaintCount( HQUEUE hQueue );
 extern void QUEUE_IncTimerCount( HQUEUE hQueue );
diff --git a/include/windows.h b/include/windows.h
index 5d64c15..03cf15b 100644
--- a/include/windows.h
+++ b/include/windows.h
@@ -3188,6 +3188,7 @@
 BOOL       PlayMetaFile(HDC,HANDLE);
 void       PlayMetaFileRecord(HDC,LPHANDLETABLE,LPMETARECORD,WORD);
 BOOL       PostAppMessage(HANDLE,WORD,WORD,LONG);
+void       PostEvent(HTASK);
 BOOL       PostMessage(HWND,WORD,WORD,LONG);
 void       PostQuitMessage(INT);
 WORD       PrestoChangoSelector(WORD,WORD);
@@ -3211,7 +3212,7 @@
 BOOL       RemoveFontResource(LPSTR);
 BOOL       RemoveMenu(HMENU,UINT,UINT);
 HANDLE     RemoveProp(HWND,SEGPTR);
-void       ReplyMessage(LONG);
+void       ReplyMessage(LRESULT);
 HDC        ResetDC(HDC,LPVOID);
 BOOL       ResizePalette(HPALETTE16,UINT);
 BOOL       RestoreDC(HDC,short);
@@ -3338,6 +3339,7 @@
 SEGPTR     WIN16_GlobalLock16(HGLOBAL16);
 SEGPTR     WIN16_LockResource(HANDLE);
 SEGPTR     WIN16_lstrcpyn(SEGPTR,SEGPTR,WORD);
+BOOL       WaitEvent(HTASK);
 void       WaitMessage(void);
 int        WaitSoundState(int);
 HANDLE     WinExec(LPSTR,WORD);