Release 970629

Thu Jun 26 02:14:03 1997  Slaven Rezic  <eserte@cs.tu-berlin.de>

	* [Makefile.in]
	New target install_includes.

	* [rc/parser.h] [rc/parser.y] [rc/winerc.c]
	Some bug fixes.

Wed Jun 25 14:43:41 1997  Victor Schneider <vischne@ibm.net>

	* [controls/edit.c]
	Fixed WM_GETTEXT return value.

Tue Jun 24 23:46:04 1997  Michiel van Loon <mfvl@xs4all.nl>

	* [multimedia/*.c] [include/mmsystem.h]
	Added more callback code, including (I hope) function callback.
	Changed some linear pointers into segmented.

	* [multimedia/audio.c]
	Removed some bugs.

Sat Jun 28 11:37:56 1997  Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>

	* [if1632/commdlg.spec][if1632/comdlg32.spec][misc/commdlg.c]
	  [include/commdlg.h]
	Implemented parts of comdlg32: GetOpenFileName32*,
	GetSaveFileName32*, GetFileTitle32* using the 16 bit equivalents.

	* [windows/event.c]
	EVENT_QueryZOrder: check for children !=NULL (happens when
	using -managed).

	* [BUGS][DEVELOPER-HINTS]
	Updated.

	* [objects/text.c]
	Added GetTextCharset... (stub mostly).

Sat Jun 21 08:47:58 1997  Philippe De Muyter  <phdm@info.ucl.ac.be>

	* [if1632/kernel.spec] [if1632/gdi.spec] [include/windows.h]
	  [loader/resource.c] [graphics/x11drv/xfont.c]
	SetResourceHandler & RemoveFontResource prototypes fixed.

	* [if1632/relay.c] [if1632/kernel.spec] [if1632/user.spec]
	  [if1632/olesvr.spec] [if1632/commdlg.spec] [if1632/ddeml.spec]
	  [if1632/gdi.spec] [if1632/lzexpand.spec] [if1632/shell.spec]
	  [include/windows.h] [memory/string.c] [tools/build.c]
	New type of parameter allowed in .spec files : str, printed
	as a string with -debugmsg +relay. .spec files updated.

	* [objects/dc.c]
	In DC_SetupGCForPen, call BlackPixelOfScreen, not BlackPixel.
	Likewise for WhitePixel.

	* [objects/gdiobj.c] [graphics/x11drv/brush.c]
	Use BS_HATCHED with an added entry in HatchBrushes for DkGrayBrush,
 	instead of BS_SOLID.

Fri May 30 17:58:00 1997  Chris Faherty <chrisf@america.com>

	* [windows/keyboard.c]
	Added vkey to scancode translation table.
	This was primarily to fix Citrix WinFrame client which
	always needs scancodes in WM_KEYDOWN.
	Tested with Exceed 5.1.0.1 & XFree86 3.1.2.
diff --git a/include/commdlg.h b/include/commdlg.h
index 4e85561..61ac06f 100644
--- a/include/commdlg.h
+++ b/include/commdlg.h
@@ -43,6 +43,9 @@
 #define OFN_NOREADONLYRETURN         0x00008000
 #define OFN_NOTESTFILECREATE         0x00010000
 
+#define OFN_UNICODE		     0x40000000	/*to differ between 32W/A hook*/
+#define OFN_WINE32		     0x80000000	/* comdlg32 */
+
 #define OFN_SHAREFALLTHROUGH     2
 #define OFN_SHARENOWARN          1
 #define OFN_SHAREWARN            0
@@ -68,9 +71,56 @@
 	LPARAM 		lCustData;
         WNDPROC16       lpfnHook;
 	SEGPTR 		lpTemplateName;
-	}   OPENFILENAME;
-typedef OPENFILENAME * LPOPENFILENAME;
+}   OPENFILENAME16,*LPOPENFILENAME16;
 
+typedef struct {
+	DWORD		lStructSize;
+	HWND32		hwndOwner;
+	HINSTANCE32	hInstance;
+	LPCSTR		lpstrFilter;
+	LPSTR		lpstrCustomFilter;
+	DWORD		nMaxCustFilter;
+	DWORD		nFilterIndex;
+	LPSTR		lpstrFile;
+	DWORD		nMaxFile;
+	LPSTR		lpstrFileTitle;
+	DWORD		nMaxFileTitle;
+	LPCSTR		lpstrInitialDir;
+	LPCSTR		lpstrTitle;
+	DWORD		Flags;
+	WORD		nFileOffset;
+	WORD		nFileExtension;
+	LPCSTR		lpstrDefExt;
+	LPARAM		lCustData;
+	WNDPROC32	lpfnHook;
+	LPCSTR		lpTemplateName;
+} OPENFILENAME32A,*LPOPENFILENAME32A;
+
+typedef struct {
+	DWORD		lStructSize;
+	HWND32		hwndOwner;
+	HINSTANCE32	hInstance;
+	LPCWSTR		lpstrFilter;
+	LPWSTR		lpstrCustomFilter;
+	DWORD		nMaxCustFilter;
+	DWORD		nFilterIndex;
+	LPWSTR		lpstrFile;
+	DWORD		nMaxFile;
+	LPWSTR		lpstrFileTitle;
+	DWORD		nMaxFileTitle;
+	LPCWSTR		lpstrInitialDir;
+	LPCWSTR		lpstrTitle;
+	DWORD		Flags;
+	WORD		nFileOffset;
+	WORD		nFileExtension;
+	LPCWSTR		lpstrDefExt;
+	LPARAM		lCustData;
+	WNDPROC32	lpfnHook;
+	LPCWSTR		lpTemplateName;
+} OPENFILENAME32W,*LPOPENFILENAME32W;
+
+DECL_WINELIB_TYPE_AW(OPENFILENAME);
+DECL_WINELIB_TYPE_AW(LPOPENFILENAME);
 
 typedef struct {
 	DWORD		lStructSize;
@@ -82,7 +132,7 @@
 	LPARAM		lCustData;
         WNDPROC16       lpfnHook;
 	SEGPTR 		lpTemplateName;
-	} CHOOSECOLOR;
+} CHOOSECOLOR;
 typedef CHOOSECOLOR *LPCHOOSECOLOR;
 
 #define CC_RGBINIT               0x00000001
@@ -278,9 +328,18 @@
 BOOL16  ChooseColor(LPCHOOSECOLOR lpChCol);
 DWORD CommDlgExtendedError(void);
 HWND16 FindText( SEGPTR find);
-short GetFileTitle(LPCSTR lpFile, LPSTR lpTitle, UINT16 cbBuf);
-BOOL16  GetOpenFileName(SEGPTR ofn);
-BOOL16  GetSaveFileName(SEGPTR ofn);
+INT16 GetFileTitle16(LPCSTR lpFile, LPSTR lpTitle, UINT16 cbBuf);
+INT16 GetFileTitle32A(LPCSTR lpFile, LPSTR lpTitle, UINT32 cbBuf);
+INT16 GetFileTitle32W(LPCWSTR lpFile, LPWSTR lpTitle, UINT32 cbBuf);
+#define GetFileTitle WINELIB_NAME_AW(GetFileTitle)
+BOOL16  GetOpenFileName16(SEGPTR ofn);
+BOOL32  GetOpenFileName32A(LPOPENFILENAME32A ofn);
+BOOL32  GetOpenFileName32W(LPOPENFILENAME32W ofn);
+#define GetOpenFileName WINELIB_NAME_AW(GetOpenFileName)
+BOOL16  GetSaveFileName16(SEGPTR ofn);
+BOOL32  GetSaveFileName32A(LPOPENFILENAME32A ofn);
+BOOL32  GetSaveFileName32W(LPOPENFILENAME32W ofn);
+#define GetSaveFileName WINELIB_NAME_AW(GetSaveFileName)
 BOOL16  PrintDlg( SEGPTR print);
 HWND16 ReplaceText( SEGPTR find);
 BOOL16  ChooseFont(LPCHOOSEFONT lpChFont);