Release 941030

Sun Oct 30 13:01:18 1994  Alexandre Julliard  (julliard@lamisun.epfl.ch)

	* [controls/static.c]
	Bug fix for SS_ICON controls.

	* [if1632/Imakefile]
	Fixed call.o dependencies.

	* [objects/clipping.c] [objects/dc.c]
	Fixed visible region handling. hVisRgn is always non-null now.

	* [windows/dce.c]
	Bug fix in GetDCEx for CS_OWNDC windows.

	* [windows/nonclient.c] [windows/painting.c]
	Fixes to icon window drawing.

	* [windows/winpos.c]
	A few fixes in SetWindowPos().

Sun Oct 30 12:50:24 1994  Michael Patra  <micky@marie.physik.tu-berlin.de>

	* [objects/bitblt.c]
	BitBlt(): BitBlt is now able to handle any raster operation. If
	the request can't be passed to XWindows directly, it's quite
	slow, though.

	* [*/*.c]
	  [misc/main.c]
	Improvements of the system for handling debug messages. Options are
	now also loaded from /usr/lib/X11/app-defaults/Wine (insert
	*debugoptions: +xxx there if you want to have turn messages xxx on).

	* [controls/menu.c]
	DestroyMenu(): The whole window won't be destroyed as a sideeffect
	any longer.

	* [misc/file.c]
	OpenFile(): Fixed bug in searching in system/window-directory.

Sun Oct 30 12:25:53 1994  Jimmy Tirtawangsa <j0t2527@tam2000.tamu.edu>

	* [include/windows.h]
	Bug fix for window related structures.
	DCB and COMSTAT are affected. They must be packed.

	* [misc/comm.c]
	Bug fix for COM ports:
	Dial and dialog window in terminal.exe now works.
	Non sequential COM assignments in wine.conf should not break now.
	Baudrate can be specified in wine.conf to overcome baudrate limitation
	in mswindow. See sample wine.ini

	* [include/comm.h]
	add baudrate field to DosDeviceStructre

	* [object/font.c]
	Bug fix for font assignment.
	Use pairs of foundry and family fontnames in X11 to correspond with
	window's fonts.
	Put font assignment ini wine.ini.

	* [wine.ini]
	Adding optional baudrate after port name in "serialports" section
	Add new section, "fonts".
	"default" is special key in "fonts" to match any unmatch window font.

Oct 29, 94 (new address) wine@trgcorp.mksinfo.qc.ca (Martin Ayotte)

	* [if1632/relay.c]
	* [if1632/commdlg.spec] 	New file.
	* [misc/commdlg.c] 			New file.
	* [include/commdlg.h] 		New file.
	Begin of an emulated COMMDLG DLL, built-in for now.
	(BTW, if you want to switch between built-in & 16bits CommDlg, only 
	thing you need to do is to put the real/dummy name in file relay.c)

	* [controls/scroll.c]
	* [controls/combo.c]
	* [controls/listbox.c]
	Few bug fixes and/or cosmetic.

	* [misc/audio.c]
	* [misc/mmaux.c]
	bug fixes and flags returned to emulate SB16.

	* [misc/midi.c] 			New file.
	skeleton for 'Midi' MMSYSTEM & MCI driver.

	* [misc/mcianim.c] 			New file.
	skeleton for 'Animation1' MCI driver.

	* [windows/win.c]
	Add new stub for GetLastActiveWindow().

Tue Oct 25 09:17:25 1994  Olaf Flebbe  (flebbe@tat.physik.uni-tuebingen.de)

	* [if1632/call.S] [tools/build.c]
           Support for ELF format. (Not complete)

Sun Oct 23 00:51:50 1994  Paul Falstad  (pf@zoof)

	* [if1632/user.spec]
	Add stubs for ArrangeIconicWindows(), etc.

	* [if1632/kernel.spec]
	Add IsBad*Ptr() functions.

	* [loader/signal.c]
	Add test_memory(), for use with IsBad*Ptr().

	* [windows/winpos.c]
	Add stubs for TileChildWindows(), etc.

	* [windows/win.c]
	IsWindow() shouldn't crash if it's given a bad handle.
	Add stub for GetLastActivePopup().

	* [memory/global.c]
	Implement the IsBad*Ptr() functions.

	* [controls/listbox.c]
	Return the full longword of the item data in LB_GETITEMDATA.

	* [controls/edit.c]
	Don't let the user select an area past the end of the text.

	* [objects/text.c]
	In DrawText(), the code to delete crlfs also removed multiple
	consecutive newlines.  Also, using DT_CALCRECT didn't return
	the right height, and the width wasn't returned at all.
	This caused MessageBoxes to be missing much of their text.

	* [windows/scroll.c]
	ScrollWindow[Ex] didn't work right with null LPRECT arguments.

Fri Oct 21 21:47:19 1994  Paul Falstad  (pf@zoof.cts.com)

	* [miscemu/int21.c]
	Fixed int21 0x42 handler to properly assemble 32-bit seek ptr.

	* [misc/property.c]
	Fixed inverted logic in EnumProps(), and changed CallBack16()
	call to use new arg format.

	* [windows/win.c]
	Fixed CallBack16() call in Enum[Child]Windows to use new arg
	format; this fixes crashes in enum procedures.

Wed Oct 19 21:30:00 PDT 1994		martin@cs.csufresno.edu

	* [misc/clipboard.c]
	  [windows/event.c]
	  [windows/message.c]
	Added cut and paste between Wine and other X clients via
	the PRIMARY selection. Text only this time.

	* [controls/edit.c]
	EDIT_LineLength, EDIT_TextLine return 0 for lines after last one.

	* [windows/defwnd.c]
	Send WM_SYSCOMMAND to overlapped ancestor window, 
	not the receiver of WM_SYSKEYDOWN

Sat Oct 22 15:01:02 1994  Thomas Sandford <t.d.g.sandford@bradford.ac.uk>

        * [controls/edit.c]
	ClientWidth()/ClientHeight() macros: return 0 if size would
	be negative
	EDIT_StrLength(): takes unsigned char* instead of char*

	* [controls/listbox.c]
	ListBoxWndProc(): in "case WM_MOUSEMOVE" - set lphl at start of
	case instead of in each place required (it was omitted in
	some places causing problems!)

	* [controls/menu.c]
	MENU_CalcItemSize(): don't try to find size of a text item
	if the pointer is NULL

	* [include/heap.h]
	added definition of HEAP_LocalInit()

	* [include/msdos.h]
	removed buggy pointer() macro (use SAFEMAKEPTR() from segmem.h
	instead)

	* [loader/selector.c]
	IPCCopySelector(): added missing flags to shmget() call
	? does this break linux - I added these flags in a previous
	patch but they were missing in the corresponding release ?

	* [loader/signal.c]
	win_fault(): added missing definitions of i, dump for those
	not running NetBSD or linux

	* [misc/dos_fs.c]
	DOS_GetCurrentDir(): made temp[] static so it can be safely
	returned

	* [miscemu/int21.c,int25.c,int26.c]
	Changed all invocations of pointer() to SAFEMAKEPTR(). Included
	segmem.h where necessary.

	* [windows/dialog.c]
	CreateDialogIndirectParam(): Changed HEAP_Init() call to 
	HEAP_LocalInit(), removed redundant variables

Sat Oct 22 00:29:41 MET 1994		  Dag Asheim (dash@ifi.uio.no)

	* [loader/library.c] [loader/main.c] [loader/ne_image.c]
	  [misc/exec.c] [miscemu/int10.c] [miscemu/int21.c]
	  [objects/bitblt.c] [objects/metafile.c]
	Rewritten more printf's to use the new debugging system, and
	made wine less verbose per default. Use "-debugmsg +module"
	to get (almost) the same behavior as before.
diff --git a/include/combo.h b/include/combo.h
index 0162664..4b0d444 100644
--- a/include/combo.h
+++ b/include/combo.h
@@ -8,6 +8,9 @@
     DWORD	dwState;
     HWND	hWndEdit;
     HWND	hWndLBox;
+	short	LastSel;
+	RECT	RectEdit;
+	BOOL	bRedrawFlag;
 } HEADCOMBO;
 typedef HEADCOMBO FAR* LPHEADCOMBO;
 
diff --git a/include/comm.h b/include/comm.h
index 7f74685..785a7b7 100644
--- a/include/comm.h
+++ b/include/comm.h
@@ -16,6 +16,7 @@
     int suspended;
     int unget;
     int unget_byte;
+    int baudrate;
 };
 
 #endif  /* COMM_H */
diff --git a/include/commdlg.h b/include/commdlg.h
new file mode 100644
index 0000000..737e6e0
--- /dev/null
+++ b/include/commdlg.h
@@ -0,0 +1,298 @@
+/* 
+ * COMMDLG - Common Wine Dialog ... :-)
+ */
+
+#ifndef COMMDLG_H
+#define COMMDLG_H
+
+#define RT_CURSOR           MAKEINTRESOURCE(1)
+#define RT_BITMAP           MAKEINTRESOURCE(2)
+#define RT_ICON             MAKEINTRESOURCE(3)
+#define RT_MENU             MAKEINTRESOURCE(4)
+#define RT_DIALOG           MAKEINTRESOURCE(5)
+#define RT_STRING           MAKEINTRESOURCE(6)
+#define RT_FONTDIR          MAKEINTRESOURCE(7)
+#define RT_FONT             MAKEINTRESOURCE(8)
+#define RT_ACCELERATOR      MAKEINTRESOURCE(9)
+#define RT_RCDATA           MAKEINTRESOURCE(10)
+
+#define RT_GROUP_CURSOR     MAKEINTRESOURCE(12)
+#define RT_GROUP_ICON       MAKEINTRESOURCE(14)
+
+#ifndef HGLOBAL
+#define HGLOBAL     HANDLE
+#endif
+
+#define OFN_READONLY                 0x00000001
+#define OFN_OVERWRITEPROMPT          0x00000002
+#define OFN_HIDEREADONLY             0x00000004
+#define OFN_NOCHANGEDIR              0x00000008
+#define OFN_SHOWHELP                 0x00000010
+#define OFN_ENABLEHOOK               0x00000020
+#define OFN_ENABLETEMPLATE           0x00000040
+#define OFN_ENABLETEMPLATEHANDLE     0x00000080
+#define OFN_NOVALIDATE               0x00000100
+#define OFN_ALLOWMULTISELECT         0x00000200
+#define OFN_EXTENSIONDIFFERENT       0x00000400
+#define OFN_PATHMUSTEXIST            0x00000800
+#define OFN_FILEMUSTEXIST            0x00001000
+#define OFN_CREATEPROMPT             0x00002000
+#define OFN_SHAREAWARE               0x00004000
+#define OFN_NOREADONLYRETURN         0x00008000
+#define OFN_NOTESTFILECREATE         0x00010000
+
+#define OFN_SHAREFALLTHROUGH     2
+#define OFN_SHARENOWARN          1
+#define OFN_SHAREWARN            0
+
+
+typedef struct {
+	DWORD		lStructSize;
+	HWND		hwndOwner;
+	HINSTANCE	hInstance;
+	LPCSTR		lpstrFilter;
+	LPSTR		lpstrCustomFilter;
+	DWORD		nMaxCustFilter;
+	DWORD		nFilterIndex;
+	LPSTR		lpstrFile;
+	DWORD		nMaxFile;
+	LPSTR		lpstrFileTitle;
+	DWORD		nMaxFileTitle;
+	LPCSTR 		lpstrInitialDir;
+	LPCSTR 		lpstrTitle;
+	DWORD		Flags;
+	UINT		nFileOffset;
+	UINT		nFileExtension;
+	LPCSTR		lpstrDefExt;
+	LPARAM 		lCustData;
+	UINT 		(CALLBACK *lpfnHook)(HWND, UINT, WPARAM, LPARAM);
+	LPCSTR 		lpTemplateName;
+	}   OPENFILENAME;
+typedef OPENFILENAME * LPOPENFILENAME;
+
+
+typedef struct {
+	DWORD		lStructSize;
+	HWND		hwndOwner;
+	HWND		hInstance;
+	COLORREF	rgbResult;
+	COLORREF	FAR* lpCustColors;
+	DWORD 		Flags;
+	LPARAM		lCustData;
+	UINT		(CALLBACK* lpfnHook)(HWND, UINT, WPARAM, LPARAM);
+	LPCSTR 		lpTemplateName;
+	} CHOOSECOLOR;
+typedef CHOOSECOLOR *LPCHOOSECOLOR;
+
+#define CC_RGBINIT               0x00000001
+#define CC_FULLOPEN              0x00000002
+#define CC_PREVENTFULLOPEN       0x00000004
+#define CC_SHOWHELP              0x00000008
+#define CC_ENABLEHOOK            0x00000010
+#define CC_ENABLETEMPLATE        0x00000020
+#define CC_ENABLETEMPLATEHANDLE  0x00000040
+
+typedef struct {
+	DWORD		lStructSize; 			/* size of this struct 0x20 */
+	HWND		hwndOwner; 				/* handle to owner's window */
+	HINSTANCE	hInstance; 				/* instance handle of.EXE that  */
+										/*	contains cust. dlg. template */
+	DWORD		Flags;                  /* one or more of the FR_?? */
+	LPSTR		lpstrFindWhat;          /* ptr. to search string    */
+	LPSTR		lpstrReplaceWith;       /* ptr. to replace string   */
+	UINT		wFindWhatLen;           /* size of find buffer      */
+	UINT 		wReplaceWithLen;        /* size of replace buffer   */
+	LPARAM 		lCustData;              /* data passed to hook fn.  */
+	UINT		(CALLBACK* lpfnHook)(HWND, UINT, WPARAM, LPARAM);
+	LPCSTR 		lpTemplateName;         /* custom template name     */
+	} FINDREPLACE;
+typedef FINDREPLACE *LPFINDREPLACE;
+
+#define FR_DOWN                         0x00000001
+#define FR_WHOLEWORD                    0x00000002
+#define FR_MATCHCASE                    0x00000004
+#define FR_FINDNEXT                     0x00000008
+#define FR_REPLACE                      0x00000010
+#define FR_REPLACEALL                   0x00000020
+#define FR_DIALOGTERM                   0x00000040
+#define FR_SHOWHELP                     0x00000080
+#define FR_ENABLEHOOK                   0x00000100
+#define FR_ENABLETEMPLATE               0x00000200
+#define FR_NOUPDOWN                     0x00000400
+#define FR_NOMATCHCASE                  0x00000800
+#define FR_NOWHOLEWORD                  0x00001000
+#define FR_ENABLETEMPLATEHANDLE         0x00002000
+#define FR_HIDEUPDOWN                   0x00004000
+#define FR_HIDEMATCHCASE                0x00008000
+#define FR_HIDEWHOLEWORD                0x00010000
+
+
+typedef struct {
+	DWORD			lStructSize;
+	HWND			hwndOwner;          /* caller's window handle   */
+	HDC				hDC;                /* printer DC/IC or NULL    */
+	LOGFONT FAR*	lpLogFont;          /* ptr. to a LOGFONT struct */
+	short			iPointSize;         /* 10 * size in points of selected font */
+	DWORD			Flags;              /* enum. type flags         */
+	COLORREF		rgbColors;          /* returned text color      */
+	LPARAM			lCustData;          /* data passed to hook fn.  */
+	UINT (CALLBACK* lpfnHook)(HWND, UINT, WPARAM, LPARAM);
+	LPCSTR			lpTemplateName;     /* custom template name     */
+	HINSTANCE		hInstance;          /* instance handle of.EXE that   */
+										/* contains cust. dlg. template  */
+	LPSTR			lpszStyle;          /* return the style field here   */
+										/* must be LF_FACESIZE or bigger */
+	UINT			nFontType;          /* same value reported to the    */
+										/* EnumFonts callback with the   */
+										/* extra FONTTYPE_ bits added    */
+	short			nSizeMin;           /* minimum pt size allowed & */
+	short			nSizeMax;           /* max pt size allowed if    */
+										/* CF_LIMITSIZE is used      */
+	} CHOOSEFONT;
+typedef CHOOSEFONT *LPCHOOSEFONT;
+
+
+#define CF_SCREENFONTS               0x00000001
+#define CF_PRINTERFONTS              0x00000002
+#define CF_BOTH                      (CF_SCREENFONTS | CF_PRINTERFONTS)
+#define CF_SHOWHELP                  0x00000004L
+#define CF_ENABLEHOOK                0x00000008L
+#define CF_ENABLETEMPLATE            0x00000010L
+#define CF_ENABLETEMPLATEHANDLE      0x00000020L
+#define CF_INITTOLOGFONTSTRUCT       0x00000040L
+#define CF_USESTYLE                  0x00000080L
+#define CF_EFFECTS                   0x00000100L
+#define CF_APPLY                     0x00000200L
+#define CF_ANSIONLY                  0x00000400L
+#define CF_NOVECTORFONTS             0x00000800L
+#define CF_NOOEMFONTS                CF_NOVECTORFONTS
+#define CF_NOSIMULATIONS             0x00001000L
+#define CF_LIMITSIZE                 0x00002000L
+#define CF_FIXEDPITCHONLY            0x00004000L
+#define CF_WYSIWYG                   0x00008000L /* use with CF_SCREENFONTS & CF_PRINTERFONTS */
+#define CF_FORCEFONTEXIST            0x00010000L
+#define CF_SCALABLEONLY              0x00020000L
+#define CF_TTONLY                    0x00040000L
+#define CF_NOFACESEL                 0x00080000L
+#define CF_NOSTYLESEL                0x00100000L
+#define CF_NOSIZESEL                 0x00200000L
+
+#define SIMULATED_FONTTYPE      0x8000
+#define PRINTER_FONTTYPE        0x4000
+#define SCREEN_FONTTYPE         0x2000
+#define BOLD_FONTTYPE           0x0100
+#define ITALIC_FONTTYPE         0x0200
+#define REGULAR_FONTTYPE        0x0400
+
+#define WM_CHOOSEFONT_GETLOGFONT        (WM_USER + 1)
+
+#define LBSELCHSTRING  "commdlg_LBSelChangedNotify"
+#define SHAREVISTRING  "commdlg_ShareViolation"
+#define FILEOKSTRING   "commdlg_FileNameOK"
+#define COLOROKSTRING  "commdlg_ColorOK"
+#define SETRGBSTRING   "commdlg_SetRGBColor"
+#define FINDMSGSTRING  "commdlg_FindReplace"
+#define HELPMSGSTRING  "commdlg_help"
+
+#define CD_LBSELNOITEMS -1
+#define CD_LBSELCHANGE   0
+#define CD_LBSELSUB      1
+#define CD_LBSELADD      2
+
+typedef struct {
+	DWORD 		lStructSize;
+	HWND 		hwndOwner;
+	HGLOBAL		hDevMode;
+	HGLOBAL		hDevNames;
+	HDC			hDC;
+	DWORD 		Flags;
+	UINT		nFromPage;
+	UINT		nToPage;
+	UINT		nMinPage;
+	UINT		nMaxPage;
+	UINT		nCopies;
+	HINSTANCE 	hInstance;
+	LPARAM 		lCustData;
+	UINT		(CALLBACK* lpfnPrintHook)(HWND, UINT, WPARAM, LPARAM);
+	UINT		(CALLBACK* lpfnSetupHook)(HWND, UINT, WPARAM, LPARAM);
+	LPCSTR 		lpPrintTemplateName;
+	LPCSTR 		lpSetupTemplateName;
+	HGLOBAL 	hPrintTemplate;
+	HGLOBAL 	hSetupTemplate;
+	} PRINTDLG;
+typedef PRINTDLG * LPPRINTDLG;
+
+
+#define PD_ALLPAGES                  0x00000000
+#define PD_SELECTION                 0x00000001
+#define PD_PAGENUMS                  0x00000002
+#define PD_NOSELECTION               0x00000004
+#define PD_NOPAGENUMS                0x00000008
+#define PD_COLLATE                   0x00000010
+#define PD_PRINTTOFILE               0x00000020
+#define PD_PRINTSETUP                0x00000040
+#define PD_NOWARNING                 0x00000080
+#define PD_RETURNDC                  0x00000100
+#define PD_RETURNIC                  0x00000200
+#define PD_RETURNDEFAULT             0x00000400
+#define PD_SHOWHELP                  0x00000800
+#define PD_ENABLEPRINTHOOK           0x00001000
+#define PD_ENABLESETUPHOOK           0x00002000
+#define PD_ENABLEPRINTTEMPLATE       0x00004000
+#define PD_ENABLESETUPTEMPLATE       0x00008000
+#define PD_ENABLEPRINTTEMPLATEHANDLE 0x00010000
+#define PD_ENABLESETUPTEMPLATEHANDLE 0x00020000
+#define PD_USEDEVMODECOPIES          0x00040000
+#define PD_DISABLEPRINTTOFILE        0x00080000
+#define PD_HIDEPRINTTOFILE           0x00100000
+
+typedef struct {
+	UINT 	wDriverOffset;
+	UINT 	wDeviceOffset;
+	UINT 	wOutputOffset;
+	UINT 	wDefault;
+	} DEVNAMES;
+typedef DEVNAMES * LPDEVNAMES;
+
+#define DN_DEFAULTPRN      0x0001
+
+
+#define CDERR_DIALOGFAILURE   0xFFFF
+#define CDERR_GENERALCODES     0x0000
+#define CDERR_STRUCTSIZE       0x0001
+#define CDERR_INITIALIZATION   0x0002
+#define CDERR_NOTEMPLATE       0x0003
+#define CDERR_NOHINSTANCE      0x0004
+#define CDERR_LOADSTRFAILURE   0x0005
+#define CDERR_FINDRESFAILURE   0x0006
+#define CDERR_LOADRESFAILURE   0x0007
+#define CDERR_LOCKRESFAILURE   0x0008
+#define CDERR_MEMALLOCFAILURE  0x0009
+#define CDERR_MEMLOCKFAILURE   0x000A
+#define CDERR_NOHOOK           0x000B
+#define CDERR_REGISTERMSGFAIL  0x000C
+
+/************************************************************************
+*                 COMMDLG Resources placed in Wine SYSRES.DLL		    *
+************************************************************************/
+
+#define OBM_FOLDER			32520
+#define OBM_FOLDER2			32521
+#define OBM_FLOPPY			32522
+#define OBM_HDISK			32523
+#define OBM_CDROM			32524
+
+#define OPENFILEDLG				3
+#define SAVEFILEDLG				4
+#define PRINTDLG				5
+#define PRINTSETUPDLG			6
+#define FONTDLG					7
+#define COLORDLG				8
+#define FINDDLG					9
+#define REPLACEDLG				10
+
+
+
+#endif 		/* #ifdef COMMDLG_H */
+
+
diff --git a/include/debug.h b/include/debug.h
index ab06923..eb60565 100644
--- a/include/debug.h
+++ b/include/debug.h
@@ -9,7 +9,9 @@
 #ifdef DEBUG_NONE_EXT
 #undef DEBUG_ACCEL
 #undef DEBUG_BITMAP
+#undef DEBUG_CALLBACK
 #undef DEBUG_CARET
+#undef DEBUG_CATCH
 #undef DEBUG_CDAUDIO
 #undef DEBUG_CLASS
 #undef DEBUG_CLIPBOARD
@@ -33,36 +35,51 @@
 #undef DEBUG_GRAPHICS
 #undef DEBUG_HEAP
 #undef DEBUG_ICON
+#undef DEBUG_IF
 #undef DEBUG_INT
 #undef DEBUG_KEY
 #undef DEBUG_KEYBOARD
 #undef DEBUG_LDT
 #undef DEBUG_LISTBOX
+#undef DEBUG_MCI
+#undef DEBUG_MCIANIM
 #undef DEBUG_MCIWAVE
 #undef DEBUG_MDI
 #undef DEBUG_MENU
 #undef DEBUG_MENUCALC
 #undef DEBUG_MESSAGE
 #undef DEBUG_METAFILE
+#undef DEBUG_MMIO
+#undef DEBUG_MMTIME
 #undef DEBUG_MODULE
 #undef DEBUG_MSG
+#undef DEBUG_MSGBOX
 #undef DEBUG_NONCLIENT
 #undef DEBUG_PALETTE
+#undef DEBUG_PROFILE
+#undef DEBUG_PROP
+#undef DEBUG_REG
 #undef DEBUG_REGION
 #undef DEBUG_RESOURCE
 #undef DEBUG_SCROLL
+#undef DEBUG_SELECTORS
+#undef DEBUG_STRESS
 #undef DEBUG_SYSCOLOR
+#undef DEBUG_TASK
 #undef DEBUG_TEXT
 #undef DEBUG_TIMER
 #undef DEBUG_UTILITY
 #undef DEBUG_WIN
+#undef DEBUG_WINSOCK
 #endif
  
  
 #ifdef DEBUG_ALL_EXT
 #define DEBUG_ACCEL
 #define DEBUG_BITMAP
+#define DEBUG_CALLBACK
 #define DEBUG_CARET
+#define DEBUG_CATCH
 #define DEBUG_CDAUDIO
 #define DEBUG_CLASS
 #define DEBUG_CLIPBOARD
@@ -86,29 +103,42 @@
 #define DEBUG_GRAPHICS
 #define DEBUG_HEAP
 #define DEBUG_ICON
+#define DEBUG_IF
 #define DEBUG_INT
 #define DEBUG_KEY
 #define DEBUG_KEYBOARD
 #define DEBUG_LDT
 #define DEBUG_LISTBOX
+#define DEBUG_MCI
+#define DEBUG_MCIANIM
 #define DEBUG_MCIWAVE
 #define DEBUG_MDI
 #define DEBUG_MENU
 #define DEBUG_MENUCALC
 #define DEBUG_MESSAGE
 #define DEBUG_METAFILE
+#define DEBUG_MMIO
+#define DEBUG_MMTIME
 #define DEBUG_MODULE
 #define DEBUG_MSG
+#define DEBUG_MSGBOX
 #define DEBUG_NONCLIENT
 #define DEBUG_PALETTE
+#define DEBUG_PROFILE
+#define DEBUG_PROP
+#define DEBUG_REG
 #define DEBUG_REGION
 #define DEBUG_RESOURCE
 #define DEBUG_SCROLL
+#define DEBUG_SELECTORS
+#define DEBUG_STRESS
 #define DEBUG_SYSCOLOR
+#define DEBUG_TASK
 #define DEBUG_TEXT
 #define DEBUG_TIMER
 #define DEBUG_UTILITY
 #define DEBUG_WIN
+#define DEBUG_WINSOCK
 #endif
  
  
@@ -125,11 +155,21 @@
 #else
 0,
 #endif
+#ifdef DEBUG_CALLBACK
+1,
+#else
+0,
+#endif
 #ifdef DEBUG_CARET
 1,
 #else
 0,
 #endif
+#ifdef DEBUG_CATCH
+1,
+#else
+0,
+#endif
 #ifdef DEBUG_CDAUDIO
 1,
 #else
@@ -245,6 +285,11 @@
 #else
 0,
 #endif
+#ifdef DEBUG_IF
+1,
+#else
+0,
+#endif
 #ifdef DEBUG_INT
 1,
 #else
@@ -270,6 +315,16 @@
 #else
 0,
 #endif
+#ifdef DEBUG_MCI
+1,
+#else
+0,
+#endif
+#ifdef DEBUG_MCIANIM
+1,
+#else
+0,
+#endif
 #ifdef DEBUG_MCIWAVE
 1,
 #else
@@ -300,6 +355,16 @@
 #else
 0,
 #endif
+#ifdef DEBUG_MMIO
+1,
+#else
+0,
+#endif
+#ifdef DEBUG_MMTIME
+1,
+#else
+0,
+#endif
 #ifdef DEBUG_MODULE
 1,
 #else
@@ -310,6 +375,11 @@
 #else
 0,
 #endif
+#ifdef DEBUG_MSGBOX
+1,
+#else
+0,
+#endif
 #ifdef DEBUG_NONCLIENT
 1,
 #else
@@ -320,6 +390,21 @@
 #else
 0,
 #endif
+#ifdef DEBUG_PROFILE
+1,
+#else
+0,
+#endif
+#ifdef DEBUG_PROP
+1,
+#else
+0,
+#endif
+#ifdef DEBUG_REG
+1,
+#else
+0,
+#endif
 #ifdef DEBUG_REGION
 1,
 #else
@@ -335,11 +420,26 @@
 #else
 0,
 #endif
+#ifdef DEBUG_SELECTORS
+1,
+#else
+0,
+#endif
+#ifdef DEBUG_STRESS
+1,
+#else
+0,
+#endif
 #ifdef DEBUG_SYSCOLOR
 1,
 #else
 0,
 #endif
+#ifdef DEBUG_TASK
+1,
+#else
+0,
+#endif
 #ifdef DEBUG_TEXT
 1,
 #else
@@ -360,6 +460,11 @@
 #else
 0,
 #endif
+#ifdef DEBUG_WINSOCK
+1,
+#else
+0,
+#endif
 0};
 #else
 extern short debug_msg_enabled[];
@@ -388,7 +493,17 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_caret if(debug_msg_enabled[2]) fprintf
+#define dprintf_callback if(debug_msg_enabled[2]) fprintf
+#else
+#ifdef DEBUG_CALLBACK
+#define dprintf_callback fprintf
+#else
+#define dprintf_callback
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_caret if(debug_msg_enabled[3]) fprintf
 #else
 #ifdef DEBUG_CARET
 #define dprintf_caret fprintf
@@ -398,7 +513,17 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_cdaudio if(debug_msg_enabled[3]) fprintf
+#define dprintf_catch if(debug_msg_enabled[4]) fprintf
+#else
+#ifdef DEBUG_CATCH
+#define dprintf_catch fprintf
+#else
+#define dprintf_catch
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_cdaudio if(debug_msg_enabled[5]) fprintf
 #else
 #ifdef DEBUG_CDAUDIO
 #define dprintf_cdaudio fprintf
@@ -408,7 +533,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_class if(debug_msg_enabled[4]) fprintf
+#define dprintf_class if(debug_msg_enabled[6]) fprintf
 #else
 #ifdef DEBUG_CLASS
 #define dprintf_class fprintf
@@ -418,7 +543,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_clipboard if(debug_msg_enabled[5]) fprintf
+#define dprintf_clipboard if(debug_msg_enabled[7]) fprintf
 #else
 #ifdef DEBUG_CLIPBOARD
 #define dprintf_clipboard fprintf
@@ -428,7 +553,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_clipping if(debug_msg_enabled[6]) fprintf
+#define dprintf_clipping if(debug_msg_enabled[8]) fprintf
 #else
 #ifdef DEBUG_CLIPPING
 #define dprintf_clipping fprintf
@@ -438,7 +563,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_combo if(debug_msg_enabled[7]) fprintf
+#define dprintf_combo if(debug_msg_enabled[9]) fprintf
 #else
 #ifdef DEBUG_COMBO
 #define dprintf_combo fprintf
@@ -448,7 +573,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_comm if(debug_msg_enabled[8]) fprintf
+#define dprintf_comm if(debug_msg_enabled[10]) fprintf
 #else
 #ifdef DEBUG_COMM
 #define dprintf_comm fprintf
@@ -458,7 +583,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_cursor if(debug_msg_enabled[9]) fprintf
+#define dprintf_cursor if(debug_msg_enabled[11]) fprintf
 #else
 #ifdef DEBUG_CURSOR
 #define dprintf_cursor fprintf
@@ -468,7 +593,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_dc if(debug_msg_enabled[10]) fprintf
+#define dprintf_dc if(debug_msg_enabled[12]) fprintf
 #else
 #ifdef DEBUG_DC
 #define dprintf_dc fprintf
@@ -478,7 +603,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_dialog if(debug_msg_enabled[11]) fprintf
+#define dprintf_dialog if(debug_msg_enabled[13]) fprintf
 #else
 #ifdef DEBUG_DIALOG
 #define dprintf_dialog fprintf
@@ -488,7 +613,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_dll if(debug_msg_enabled[12]) fprintf
+#define dprintf_dll if(debug_msg_enabled[14]) fprintf
 #else
 #ifdef DEBUG_DLL
 #define dprintf_dll fprintf
@@ -498,7 +623,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_dosfs if(debug_msg_enabled[13]) fprintf
+#define dprintf_dosfs if(debug_msg_enabled[15]) fprintf
 #else
 #ifdef DEBUG_DOSFS
 #define dprintf_dosfs fprintf
@@ -508,7 +633,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_driver if(debug_msg_enabled[14]) fprintf
+#define dprintf_driver if(debug_msg_enabled[16]) fprintf
 #else
 #ifdef DEBUG_DRIVER
 #define dprintf_driver fprintf
@@ -518,7 +643,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_edit if(debug_msg_enabled[15]) fprintf
+#define dprintf_edit if(debug_msg_enabled[17]) fprintf
 #else
 #ifdef DEBUG_EDIT
 #define dprintf_edit fprintf
@@ -528,7 +653,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_enum if(debug_msg_enabled[16]) fprintf
+#define dprintf_enum if(debug_msg_enabled[18]) fprintf
 #else
 #ifdef DEBUG_ENUM
 #define dprintf_enum fprintf
@@ -538,7 +663,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_event if(debug_msg_enabled[17]) fprintf
+#define dprintf_event if(debug_msg_enabled[19]) fprintf
 #else
 #ifdef DEBUG_EVENT
 #define dprintf_event fprintf
@@ -548,7 +673,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_exec if(debug_msg_enabled[18]) fprintf
+#define dprintf_exec if(debug_msg_enabled[20]) fprintf
 #else
 #ifdef DEBUG_EXEC
 #define dprintf_exec fprintf
@@ -558,7 +683,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_file if(debug_msg_enabled[19]) fprintf
+#define dprintf_file if(debug_msg_enabled[21]) fprintf
 #else
 #ifdef DEBUG_FILE
 #define dprintf_file fprintf
@@ -568,7 +693,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_fixup if(debug_msg_enabled[20]) fprintf
+#define dprintf_fixup if(debug_msg_enabled[22]) fprintf
 #else
 #ifdef DEBUG_FIXUP
 #define dprintf_fixup fprintf
@@ -578,7 +703,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_font if(debug_msg_enabled[21]) fprintf
+#define dprintf_font if(debug_msg_enabled[23]) fprintf
 #else
 #ifdef DEBUG_FONT
 #define dprintf_font fprintf
@@ -588,7 +713,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_gdi if(debug_msg_enabled[22]) fprintf
+#define dprintf_gdi if(debug_msg_enabled[24]) fprintf
 #else
 #ifdef DEBUG_GDI
 #define dprintf_gdi fprintf
@@ -598,7 +723,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_graphics if(debug_msg_enabled[23]) fprintf
+#define dprintf_graphics if(debug_msg_enabled[25]) fprintf
 #else
 #ifdef DEBUG_GRAPHICS
 #define dprintf_graphics fprintf
@@ -608,7 +733,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_heap if(debug_msg_enabled[24]) fprintf
+#define dprintf_heap if(debug_msg_enabled[26]) fprintf
 #else
 #ifdef DEBUG_HEAP
 #define dprintf_heap fprintf
@@ -618,7 +743,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_icon if(debug_msg_enabled[25]) fprintf
+#define dprintf_icon if(debug_msg_enabled[27]) fprintf
 #else
 #ifdef DEBUG_ICON
 #define dprintf_icon fprintf
@@ -628,7 +753,17 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_int if(debug_msg_enabled[26]) fprintf
+#define dprintf_if if(debug_msg_enabled[28]) fprintf
+#else
+#ifdef DEBUG_IF
+#define dprintf_if fprintf
+#else
+#define dprintf_if
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_int if(debug_msg_enabled[29]) fprintf
 #else
 #ifdef DEBUG_INT
 #define dprintf_int fprintf
@@ -638,7 +773,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_key if(debug_msg_enabled[27]) fprintf
+#define dprintf_key if(debug_msg_enabled[30]) fprintf
 #else
 #ifdef DEBUG_KEY
 #define dprintf_key fprintf
@@ -648,7 +783,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_keyboard if(debug_msg_enabled[28]) fprintf
+#define dprintf_keyboard if(debug_msg_enabled[31]) fprintf
 #else
 #ifdef DEBUG_KEYBOARD
 #define dprintf_keyboard fprintf
@@ -658,7 +793,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_ldt if(debug_msg_enabled[29]) fprintf
+#define dprintf_ldt if(debug_msg_enabled[32]) fprintf
 #else
 #ifdef DEBUG_LDT
 #define dprintf_ldt fprintf
@@ -668,7 +803,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_listbox if(debug_msg_enabled[30]) fprintf
+#define dprintf_listbox if(debug_msg_enabled[33]) fprintf
 #else
 #ifdef DEBUG_LISTBOX
 #define dprintf_listbox fprintf
@@ -678,7 +813,27 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_mciwave if(debug_msg_enabled[31]) fprintf
+#define dprintf_mci if(debug_msg_enabled[34]) fprintf
+#else
+#ifdef DEBUG_MCI
+#define dprintf_mci fprintf
+#else
+#define dprintf_mci
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_mcianim if(debug_msg_enabled[35]) fprintf
+#else
+#ifdef DEBUG_MCIANIM
+#define dprintf_mcianim fprintf
+#else
+#define dprintf_mcianim
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_mciwave if(debug_msg_enabled[36]) fprintf
 #else
 #ifdef DEBUG_MCIWAVE
 #define dprintf_mciwave fprintf
@@ -688,7 +843,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_mdi if(debug_msg_enabled[32]) fprintf
+#define dprintf_mdi if(debug_msg_enabled[37]) fprintf
 #else
 #ifdef DEBUG_MDI
 #define dprintf_mdi fprintf
@@ -698,7 +853,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_menu if(debug_msg_enabled[33]) fprintf
+#define dprintf_menu if(debug_msg_enabled[38]) fprintf
 #else
 #ifdef DEBUG_MENU
 #define dprintf_menu fprintf
@@ -708,7 +863,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_menucalc if(debug_msg_enabled[34]) fprintf
+#define dprintf_menucalc if(debug_msg_enabled[39]) fprintf
 #else
 #ifdef DEBUG_MENUCALC
 #define dprintf_menucalc fprintf
@@ -718,7 +873,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_message if(debug_msg_enabled[35]) fprintf
+#define dprintf_message if(debug_msg_enabled[40]) fprintf
 #else
 #ifdef DEBUG_MESSAGE
 #define dprintf_message fprintf
@@ -728,7 +883,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_metafile if(debug_msg_enabled[36]) fprintf
+#define dprintf_metafile if(debug_msg_enabled[41]) fprintf
 #else
 #ifdef DEBUG_METAFILE
 #define dprintf_metafile fprintf
@@ -738,7 +893,27 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_module if(debug_msg_enabled[37]) fprintf
+#define dprintf_mmio if(debug_msg_enabled[42]) fprintf
+#else
+#ifdef DEBUG_MMIO
+#define dprintf_mmio fprintf
+#else
+#define dprintf_mmio
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_mmtime if(debug_msg_enabled[43]) fprintf
+#else
+#ifdef DEBUG_MMTIME
+#define dprintf_mmtime fprintf
+#else
+#define dprintf_mmtime
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_module if(debug_msg_enabled[44]) fprintf
 #else
 #ifdef DEBUG_MODULE
 #define dprintf_module fprintf
@@ -748,7 +923,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_msg if(debug_msg_enabled[38]) fprintf
+#define dprintf_msg if(debug_msg_enabled[45]) fprintf
 #else
 #ifdef DEBUG_MSG
 #define dprintf_msg fprintf
@@ -758,7 +933,17 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_nonclient if(debug_msg_enabled[39]) fprintf
+#define dprintf_msgbox if(debug_msg_enabled[46]) fprintf
+#else
+#ifdef DEBUG_MSGBOX
+#define dprintf_msgbox fprintf
+#else
+#define dprintf_msgbox
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_nonclient if(debug_msg_enabled[47]) fprintf
 #else
 #ifdef DEBUG_NONCLIENT
 #define dprintf_nonclient fprintf
@@ -768,7 +953,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_palette if(debug_msg_enabled[40]) fprintf
+#define dprintf_palette if(debug_msg_enabled[48]) fprintf
 #else
 #ifdef DEBUG_PALETTE
 #define dprintf_palette fprintf
@@ -778,7 +963,37 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_region if(debug_msg_enabled[41]) fprintf
+#define dprintf_profile if(debug_msg_enabled[49]) fprintf
+#else
+#ifdef DEBUG_PROFILE
+#define dprintf_profile fprintf
+#else
+#define dprintf_profile
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_prop if(debug_msg_enabled[50]) fprintf
+#else
+#ifdef DEBUG_PROP
+#define dprintf_prop fprintf
+#else
+#define dprintf_prop
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_reg if(debug_msg_enabled[51]) fprintf
+#else
+#ifdef DEBUG_REG
+#define dprintf_reg fprintf
+#else
+#define dprintf_reg
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_region if(debug_msg_enabled[52]) fprintf
 #else
 #ifdef DEBUG_REGION
 #define dprintf_region fprintf
@@ -788,7 +1003,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_resource if(debug_msg_enabled[42]) fprintf
+#define dprintf_resource if(debug_msg_enabled[53]) fprintf
 #else
 #ifdef DEBUG_RESOURCE
 #define dprintf_resource fprintf
@@ -798,7 +1013,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_scroll if(debug_msg_enabled[43]) fprintf
+#define dprintf_scroll if(debug_msg_enabled[54]) fprintf
 #else
 #ifdef DEBUG_SCROLL
 #define dprintf_scroll fprintf
@@ -808,7 +1023,27 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_syscolor if(debug_msg_enabled[44]) fprintf
+#define dprintf_selectors if(debug_msg_enabled[55]) fprintf
+#else
+#ifdef DEBUG_SELECTORS
+#define dprintf_selectors fprintf
+#else
+#define dprintf_selectors
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_stress if(debug_msg_enabled[56]) fprintf
+#else
+#ifdef DEBUG_STRESS
+#define dprintf_stress fprintf
+#else
+#define dprintf_stress
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_syscolor if(debug_msg_enabled[57]) fprintf
 #else
 #ifdef DEBUG_SYSCOLOR
 #define dprintf_syscolor fprintf
@@ -818,7 +1053,17 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_text if(debug_msg_enabled[45]) fprintf
+#define dprintf_task if(debug_msg_enabled[58]) fprintf
+#else
+#ifdef DEBUG_TASK
+#define dprintf_task fprintf
+#else
+#define dprintf_task
+#endif
+#endif
+ 
+#ifdef DEBUG_RUNTIME
+#define dprintf_text if(debug_msg_enabled[59]) fprintf
 #else
 #ifdef DEBUG_TEXT
 #define dprintf_text fprintf
@@ -828,7 +1073,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_timer if(debug_msg_enabled[46]) fprintf
+#define dprintf_timer if(debug_msg_enabled[60]) fprintf
 #else
 #ifdef DEBUG_TIMER
 #define dprintf_timer fprintf
@@ -838,7 +1083,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_utility if(debug_msg_enabled[47]) fprintf
+#define dprintf_utility if(debug_msg_enabled[61]) fprintf
 #else
 #ifdef DEBUG_UTILITY
 #define dprintf_utility fprintf
@@ -848,7 +1093,7 @@
 #endif
  
 #ifdef DEBUG_RUNTIME
-#define dprintf_win if(debug_msg_enabled[48]) fprintf
+#define dprintf_win if(debug_msg_enabled[62]) fprintf
 #else
 #ifdef DEBUG_WIN
 #define dprintf_win fprintf
@@ -857,6 +1102,16 @@
 #endif
 #endif
  
+#ifdef DEBUG_RUNTIME
+#define dprintf_winsock if(debug_msg_enabled[63]) fprintf
+#else
+#ifdef DEBUG_WINSOCK
+#define dprintf_winsock fprintf
+#else
+#define dprintf_winsock
+#endif
+#endif
+ 
  
  
 #ifdef DEBUG_RUNTIME
@@ -864,7 +1119,9 @@
 static char *debug_msg_name[] = {
 "accel",
 "bitmap",
+"callback",
 "caret",
+"catch",
 "cdaudio",
 "class",
 "clipboard",
@@ -888,29 +1145,42 @@
 "graphics",
 "heap",
 "icon",
+"if",
 "int",
 "key",
 "keyboard",
 "ldt",
 "listbox",
+"mci",
+"mcianim",
 "mciwave",
 "mdi",
 "menu",
 "menucalc",
 "message",
 "metafile",
+"mmio",
+"mmtime",
 "module",
 "msg",
+"msgbox",
 "nonclient",
 "palette",
+"profile",
+"prop",
+"reg",
 "region",
 "resource",
 "scroll",
+"selectors",
+"stress",
 "syscolor",
+"task",
 "text",
 "timer",
 "utility",
 "win",
+"winsock",
 ""};
 #endif
 #endif
diff --git a/include/dlgs.h b/include/dlgs.h
new file mode 100644
index 0000000..f7116ac
--- /dev/null
+++ b/include/dlgs.h
@@ -0,0 +1,186 @@
+/******************************************************************************
+* dlgs.h -      Common dialog's dialog control ID numbers                     *
+******************************************************************************/
+
+#ifndef DLGS_H
+#define DLGS_H
+
+#define ctlFirst    0x0400
+#define ctlLast     0x04ff
+    /* Push buttons */
+#define psh1        0x0400
+#define psh2        0x0401
+#define psh3        0x0402
+#define psh4        0x0403
+#define psh5        0x0404
+#define psh6        0x0405
+#define psh7        0x0406
+#define psh8        0x0407
+#define psh9        0x0408
+#define psh10       0x0409
+#define psh11       0x040a
+#define psh12       0x040b
+#define psh13       0x040c
+#define psh14       0x040d
+#define psh15       0x040e
+#define pshHelp     psh15
+#define psh16       0x040f
+    /* Checkboxes */
+#define chx1        0x0410
+#define chx2        0x0411
+#define chx3        0x0412
+#define chx4        0x0413
+#define chx5        0x0414
+#define chx6        0x0415
+#define chx7        0x0416
+#define chx8        0x0417
+#define chx9        0x0418
+#define chx10       0x0419
+#define chx11       0x041a
+#define chx12       0x041b
+#define chx13       0x041c
+#define chx14       0x041d
+#define chx15       0x041e
+#define chx16       0x041f
+    /* Radio buttons */
+#define rad1        0x0420
+#define rad2        0x0421
+#define rad3        0x0422
+#define rad4        0x0423
+#define rad5        0x0424
+#define rad6        0x0425
+#define rad7        0x0426
+#define rad8        0x0427
+#define rad9        0x0428
+#define rad10       0x0429
+#define rad11       0x042a
+#define rad12       0x042b
+#define rad13       0x042c
+#define rad14       0x042d
+#define rad15       0x042e
+#define rad16       0x042f
+    /* Groups, frames, rectangles, and icons */
+#define grp1        0x0430
+#define grp2        0x0431
+#define grp3        0x0432
+#define grp4        0x0433
+#define frm1        0x0434
+#define frm2        0x0435
+#define frm3        0x0436
+#define frm4        0x0437
+#define rct1        0x0438
+#define rct2        0x0439
+#define rct3        0x043a
+#define rct4        0x043b
+#define ico1        0x043c
+#define ico2        0x043d
+#define ico3        0x043e
+#define ico4        0x043f
+    /* Static text */
+#define stc1        0x0440
+#define stc2        0x0441
+#define stc3        0x0442
+#define stc4        0x0443
+#define stc5        0x0444
+#define stc6        0x0445
+#define stc7        0x0446
+#define stc8        0x0447
+#define stc9        0x0448
+#define stc10       0x0449
+#define stc11       0x044a
+#define stc12       0x044b
+#define stc13       0x044c
+#define stc14       0x044d
+#define stc15       0x044e
+#define stc16       0x044f
+#define stc17       0x0450
+#define stc18       0x0451
+#define stc19       0x0452
+#define stc20       0x0453
+#define stc21       0x0454
+#define stc22       0x0455
+#define stc23       0x0456
+#define stc24       0x0457
+#define stc25       0x0458
+#define stc26       0x0459
+#define stc27       0x045a
+#define stc28       0x045b
+#define stc29       0x045c
+#define stc30       0x045d
+#define stc31       0x045e
+#define stc32       0x045f
+    /* Listboxes */
+#define lst1        0x0460
+#define lst2        0x0461
+#define lst3        0x0462
+#define lst4        0x0463
+#define lst5        0x0464
+#define lst6        0x0465
+#define lst7        0x0466
+#define lst8        0x0467
+#define lst9        0x0468
+#define lst10       0x0469
+#define lst11       0x046a
+#define lst12       0x046b
+#define lst13       0x046c
+#define lst14       0x046d
+#define lst15       0x046e
+#define lst16       0x046f
+    /* Combo boxes */
+#define cmb1        0x0470
+#define cmb2        0x0471
+#define cmb3        0x0472
+#define cmb4        0x0473
+#define cmb5        0x0474
+#define cmb6        0x0475
+#define cmb7        0x0476
+#define cmb8        0x0477
+#define cmb9        0x0478
+#define cmb10       0x0479
+#define cmb11       0x047a
+#define cmb12       0x047b
+#define cmb13       0x047c
+#define cmb14       0x047d
+#define cmb15       0x047e
+#define cmb16       0x047f
+    /* Edit controls */
+#define edt1        0x0480
+#define edt2        0x0481
+#define edt3        0x0482
+#define edt4        0x0483
+#define edt5        0x0484
+#define edt6        0x0485
+#define edt7        0x0486
+#define edt8        0x0487
+#define edt9        0x0488
+#define edt10       0x0489
+#define edt11       0x048a
+#define edt12       0x048b
+#define edt13       0x048c
+#define edt14       0x048d
+#define edt15       0x048e
+#define edt16       0x048f
+    /* Scroll bars */
+#define scr1        0x0490
+#define scr2        0x0491
+#define scr3        0x0492
+#define scr4        0x0493
+#define scr5        0x0494
+#define scr6        0x0495
+#define scr7        0x0496
+#define scr8        0x0497
+
+/* These dialog resource ordinals really start at 0x0600, but the
+ * RC Compiler can't handle hex for resource IDs, hence the decimal.
+ */
+#define FILEOPENORD      1536
+#define MULTIFILEOPENORD 1537
+#define PRINTDLGORD      1538
+#define PRNSETUPDLGORD   1539
+#define FINDDLGORD       1540
+#define REPLACEDLGORD    1541
+#define FONTDLGORD       1542
+#define FORMATDLGORD31   1543
+#define FORMATDLGORD30   1544
+
+#endif  /* #ifdef DLGS_H */
diff --git a/include/dlls.h b/include/dlls.h
index 5a5cdf6..b4a3fc0 100644
--- a/include/dlls.h
+++ b/include/dlls.h
@@ -112,7 +112,8 @@
 extern struct dll_table_entry_s SYSTEM_table[];
 extern struct dll_table_entry_s TOOLHELP_table[];
 extern struct dll_table_entry_s MOUSE_table[];
+extern struct dll_table_entry_s COMMDLG_table[];
 
-#define N_BUILTINS	14
+#define N_BUILTINS	15
 
 #endif /* DLLS_H */
diff --git a/include/gdi.h b/include/gdi.h
index 9198f21..bc553df 100644
--- a/include/gdi.h
+++ b/include/gdi.h
@@ -124,8 +124,8 @@
     DeviceCaps   *devCaps;
 
     HANDLE        hMetaFile;
-    HRGN          hClipRgn;     /* Clip region */
-    HRGN          hVisRgn;      /* Visible region */
+    HRGN          hClipRgn;     /* Clip region (may be 0) */
+    HRGN          hVisRgn;      /* Visible region (must never be 0) */
     HRGN          hGCClipRgn;   /* GC clip region (ClipRgn AND VisRgn) */
     HPEN          hPen;
     HBRUSH        hBrush;
@@ -158,8 +158,6 @@
     WORD          MapMode;
     short         DCOrgX;            /* DC origin */
     short         DCOrgY;
-    short         DCSizeX;           /* DC dimensions */
-    short         DCSizeY;
     short         CursPosX;          /* Current position */
     short         CursPosY;
     short         WndOrgX;
diff --git a/include/heap.h b/include/heap.h
index 7ff97a0..ff4321a 100644
--- a/include/heap.h
+++ b/include/heap.h
@@ -37,6 +37,7 @@
 			  int new_size, unsigned int flags);
 extern LHEAP *HEAP_LocalFindHeap(unsigned short owner);
 extern unsigned int HEAP_LocalSize(MDESC **free_list, unsigned int handle);
+extern void HEAP_LocalInit(unsigned short owner, void *start, int length);
 
 #define HEAP_OWNER	(Segments[Stack16Frame[11] >> 3].owner)
 #define LOCALHEAP()	(&HEAP_LocalFindHeap(HEAP_OWNER)->free_list)
diff --git a/include/listbox.h b/include/listbox.h
index 22148ec..e244781 100644
--- a/include/listbox.h
+++ b/include/listbox.h
@@ -4,30 +4,32 @@
 
 
 typedef struct tagLISTSTRUCT {
-    DRAWITEMSTRUCT 	dis;
-    HANDLE		hMem;
-    HANDLE		hData;
-    char                *itemText;
-    void		*lpNext;
+	DRAWITEMSTRUCT 	dis;
+	HANDLE		hMem;
+	HANDLE		hData;
+	char		*itemText;
+	void		*lpNext;
 } LISTSTRUCT;
 typedef LISTSTRUCT FAR* LPLISTSTRUCT;
 
 
 typedef struct tagHEADLIST {
-    short	FirstVisible;
-    short	ItemsCount;
-    short	ItemsVisible;
-    short	ColumnsVisible;
-    short	ItemsPerColumn;
-    short	ItemFocused;
-    short	PrevFocused;
-    short 	StdItemHeight;
-    short	ColumnsWidth;
-    short	DrawCtlType;
-    void	*lpFirst; 
-    DWORD	dwStyle;
-    HWND	hWndLogicParent;
-    HFONT	hFont;
+	short	FirstVisible;
+	short	ItemsCount;
+	short	ItemsVisible;
+	short	ColumnsVisible;
+	short	ItemsPerColumn;
+	short	ItemFocused;
+	short	PrevFocused;
+	short	SelCount;
+	short 	StdItemHeight;
+	short	ColumnsWidth;
+	short	DrawCtlType;
+	void	*lpFirst; 
+	DWORD	dwStyle;
+	HWND	hWndLogicParent;
+	HFONT	hFont;
+	BOOL	bRedrawFlag;
 } HEADLIST;
 typedef HEADLIST FAR* LPHEADLIST;
 
diff --git a/include/msdos.h b/include/msdos.h
index 0578218..0529883 100644
--- a/include/msdos.h
+++ b/include/msdos.h
@@ -30,25 +30,24 @@
 #define DOSVERSION 0x0330;
 #define MAX_DOS_DRIVES	26
 
-#define pointer(a,b) 	(BYTE*)(((WORD) a << 16) | b)
-#define segment(a) 	((DWORD)a >> 16)
-#define offset(a)	((DWORD)a & 0xffff)
+#define segment(a) 	((DWORD)(a) >> 16)
+#define offset(a)	((DWORD)(a) & 0xffff)
 
-#define setword(a,b)	*(BYTE*)(a)	= b & 0xff; \
-			*((BYTE*)(a + 1)) = (b>>8) & 0xff;
+#define setword(a,b)	*(BYTE*)(a)	  = (b) & 0xff; \
+			*((BYTE*)((a)+1)) = ((b)>>8) & 0xff;
 			
-#define setdword(a,b)	*(BYTE*)a	= b & 0xff; \
-			*((BYTE*)a + 1) = (b>>8) & 0xff; \
-			*((BYTE*)a + 2) = (b>>16) & 0xff; \
-			*((BYTE*)a + 3) = (b>>24) & 0xff;
+#define setdword(a,b)	*(BYTE*)(a)	= (b) & 0xff; \
+			*((BYTE*)(a)+1) = ((b)>>8) & 0xff; \
+			*((BYTE*)(a)+2) = ((b)>>16) & 0xff; \
+			*((BYTE*)(a)+3) = ((b)>>24) & 0xff;
 
-#define getword(a)	(WORD) *(BYTE*)a + \
-			(*((BYTE*)a + 1) << 8)
+#define getword(a)	(WORD) *(BYTE*)(a) + \
+			(*((BYTE*)(a) + 1) << 8)
 
-#define getdword(a)	(DWORD) (*(BYTE*)a + \
-			(*((BYTE*)a + 1) << 8) + \
-			(*((BYTE*)a + 2) << 16) + \
-			(*((BYTE*)a + 3) << 24))
+#define getdword(a)	(DWORD) (*(BYTE*)(a) + \
+			(*((BYTE*)(a) + 1) << 8) + \
+			(*((BYTE*)(a) + 2) << 16) + \
+			(*((BYTE*)(a) + 3) << 24))
 
 /* dos file attributes */
 
diff --git a/include/scroll.h b/include/scroll.h
index 02ce9d1..96a6be9 100644
--- a/include/scroll.h
+++ b/include/scroll.h
@@ -4,22 +4,23 @@
 
 
 typedef struct tagHEADSSCROLL {
-    short	CurVal;
-    short	MinVal;
-    short	MaxVal;
-    short	MaxPix;
-    short	CurPix;
-    short      ThumbVal;
-    RECT	rect;
-    RECT	rectUp;
-    RECT	rectDown;
-    BOOL	ThumbActive;
-    BOOL	TimerPending;
-    WORD	ButtonDown;
-    WORD	Direction;
-    DWORD	dwStyle;
-    HWND	hWndOwner;
-} HEADSCROLL;
+	short	CurVal;
+	short	MinVal;
+	short	MaxVal;
+	short	MaxPix;
+	short	CurPix;
+	short	ThumbVal;
+	RECT	rect;
+	RECT	rectUp;
+	RECT	rectDown;
+	BOOL	ThumbActive;
+	BOOL	TimerPending;
+	WORD	ButtonDown;
+	WORD	Direction;
+	DWORD	dwStyle;
+	HWND	hWndOwner;
+	BOOL	bRedrawFlag;
+	} HEADSCROLL;
 typedef HEADSCROLL FAR* LPHEADSCROLL;
 
 
diff --git a/include/stddebug.h b/include/stddebug.h
index cda6a2e..465bd25 100644
--- a/include/stddebug.h
+++ b/include/stddebug.h
@@ -68,6 +68,8 @@
 /* #define DEBUG_WIN       */
 /* #define DEBUG_ENUM      */
 /* #define DEBUG_DLL       */
+/* #define DEBUG_MSGBOX    */
+/* #define DEBUG_CATCH     */
  
 
 # /* Do not remove this line or change anything below this line */
@@ -75,7 +77,9 @@
 #ifdef DEBUG_NONE
 #undef DEBUG_ACCEL
 #undef DEBUG_BITMAP
+#undef DEBUG_CALLBACK
 #undef DEBUG_CARET
+#undef DEBUG_CATCH
 #undef DEBUG_CDAUDIO
 #undef DEBUG_CLASS
 #undef DEBUG_CLIPBOARD
@@ -99,36 +103,51 @@
 #undef DEBUG_GRAPHICS
 #undef DEBUG_HEAP
 #undef DEBUG_ICON
+#undef DEBUG_IF
 #undef DEBUG_INT
 #undef DEBUG_KEY
 #undef DEBUG_KEYBOARD
 #undef DEBUG_LDT
 #undef DEBUG_LISTBOX
+#undef DEBUG_MCI
+#undef DEBUG_MCIANIM
 #undef DEBUG_MCIWAVE
 #undef DEBUG_MDI
 #undef DEBUG_MENU
 #undef DEBUG_MENUCALC
 #undef DEBUG_MESSAGE
 #undef DEBUG_METAFILE
+#undef DEBUG_MMIO
+#undef DEBUG_MMTIME
 #undef DEBUG_MODULE
 #undef DEBUG_MSG
+#undef DEBUG_MSGBOX
 #undef DEBUG_NONCLIENT
 #undef DEBUG_PALETTE
+#undef DEBUG_PROFILE
+#undef DEBUG_PROP
+#undef DEBUG_REG
 #undef DEBUG_REGION
 #undef DEBUG_RESOURCE
 #undef DEBUG_SCROLL
+#undef DEBUG_SELECTORS
+#undef DEBUG_STRESS
 #undef DEBUG_SYSCOLOR
+#undef DEBUG_TASK
 #undef DEBUG_TEXT
 #undef DEBUG_TIMER
 #undef DEBUG_UTILITY
 #undef DEBUG_WIN
+#undef DEBUG_WINSOCK
 #endif
  
  
 #ifdef DEBUG_ALL
 #define DEBUG_ACCEL
 #define DEBUG_BITMAP
+#define DEBUG_CALLBACK
 #define DEBUG_CARET
+#define DEBUG_CATCH
 #define DEBUG_CDAUDIO
 #define DEBUG_CLASS
 #define DEBUG_CLIPBOARD
@@ -152,27 +171,40 @@
 #define DEBUG_GRAPHICS
 #define DEBUG_HEAP
 #define DEBUG_ICON
+#define DEBUG_IF
 #define DEBUG_INT
 #define DEBUG_KEY
 #define DEBUG_KEYBOARD
 #define DEBUG_LDT
 #define DEBUG_LISTBOX
+#define DEBUG_MCI
+#define DEBUG_MCIANIM
 #define DEBUG_MCIWAVE
 #define DEBUG_MDI
 #define DEBUG_MENU
 #define DEBUG_MENUCALC
 #define DEBUG_MESSAGE
 #define DEBUG_METAFILE
+#define DEBUG_MMIO
+#define DEBUG_MMTIME
 #define DEBUG_MODULE
 #define DEBUG_MSG
+#define DEBUG_MSGBOX
 #define DEBUG_NONCLIENT
 #define DEBUG_PALETTE
+#define DEBUG_PROFILE
+#define DEBUG_PROP
+#define DEBUG_REG
 #define DEBUG_REGION
 #define DEBUG_RESOURCE
 #define DEBUG_SCROLL
+#define DEBUG_SELECTORS
+#define DEBUG_STRESS
 #define DEBUG_SYSCOLOR
+#define DEBUG_TASK
 #define DEBUG_TEXT
 #define DEBUG_TIMER
 #define DEBUG_UTILITY
 #define DEBUG_WIN
+#define DEBUG_WINSOCK
 #endif
diff --git a/include/windows.h b/include/windows.h
index ee8fc6f..96d80ea 100644
--- a/include/windows.h
+++ b/include/windows.h
@@ -1195,7 +1195,7 @@
 typedef struct tagDCB
 {
     BYTE Id;
-    UINT BaudRate;
+    UINT BaudRate WINE_PACKED;
     BYTE ByteSize;
     BYTE Parity;
     BYTE StopBits;
@@ -1227,15 +1227,15 @@
     char PeChar;
     char EofChar;
     char EvtChar;
-    UINT TxDelay;
+    UINT TxDelay WINE_PACKED;
 } DCB;
 typedef DCB FAR* LPDCB;
 
 typedef struct tagCOMSTAT
 {
     BYTE status;
-    UINT cbInQue;
-    UINT cbOutQue;
+    UINT cbInQue WINE_PACKED;
+    UINT cbOutQue WINE_PACKED;
 } COMSTAT;
 
 #define CSTF_CTSHOLD	0x01
@@ -2655,6 +2655,7 @@
 Fb(BOOL,InvertRgn,HDC,a,HRGN,b)
 Fb(BOOL,IsChild,HWND,a,HWND,b)
 Fb(BOOL,IsDialogMessage,HWND,a,LPMSG,b)
+Fb(BOOL,KillSystemTimer,HWND,a,WORD,b)
 Fb(BOOL,KillTimer,HWND,a,WORD,b)
 Fb(BOOL,OemToAnsi,LPSTR,a,LPSTR,b)
 Fb(BOOL,PaintRgn,HDC,a,HRGN,b)
@@ -2916,6 +2917,7 @@
 Fd(WORD,GetPrivateProfileInt,LPSTR,a,LPSTR,b,short,c,LPSTR,d)
 Fd(WORD,GetSystemPaletteEntries,HDC,a,WORD,b,WORD,c,LPPALETTEENTRY,d)
 Fd(WORD,SetPaletteEntries,HPALETTE,a,WORD,b,WORD,c,LPPALETTEENTRY,d)
+Fd(WORD,SetSystemTimer,HWND,a,WORD,d,WORD,b,FARPROC,c)
 Fd(WORD,SetTimer,HWND,a,WORD,d,WORD,b,FARPROC,c)
 Fd(BOOL,SetViewportExtEx,HDC,a,short,b,short,c,LPSIZE,d)
 Fd(BOOL,SetViewportOrgEx,HDC,a,short,b,short,c,LPPOINT,d)
diff --git a/include/winpos.h b/include/winpos.h
index 1353f92..837a5b3 100644
--- a/include/winpos.h
+++ b/include/winpos.h
@@ -15,6 +15,7 @@
     WORD        suggestedCount;
     WORD        valid;
     WORD        wMagic;
+    HWND        hwndParent;
     WINDOWPOS   winPos[1];
 } DWP;