Release 960611
Tue Jun 11 15:20:43 1996 Alexandre Julliard <julliard@lrc.epfl.ch>
* [debugger/break.c] [loader/signal.c]
Fixed breakpoints in 32-bit code.
* [include/windows.h]
Added many more Win32 versions of standard structures.
* [include/winreg.h] [misc/registry.c]
Moved private types into registry.c.
* [memory/string.c] (New file)
Moved most string functions from misc/lstr.c; added Win32 version
of all functions.
* [misc/wsprintf.c]
Implemented Win32 wsprintf functions.
* [objects/bitmap.c]
Implemented Win32 bitmap functions.
* [windows/dialog.c]
Don't set dialog procedure before the controls are created. This
avoids a crash in Winhelp.
Tue Jun 11 14:10:06 1996 Martin von Loewis <loewis@informatik.hu-berlin.de>
* [controls/menu.c] [if1632/user.spec] [windows/message.c]
Replace PeekMessage with PeekMessage16.
* [if1632/kernel32.spec][misc/main.c]
GetVersion32,GetVersionEx32A,GetVersionEx32W: new functions.
MAIN_ParseVersion: new function, new command line option -winver.
GetVersion: modified to take command line argument into account.
* [if1632/kernel32.spec] [win32/process.c]
FreeLibrary32: new function.
TlsAlloc: initialize Tls to zero.
InterlockedIncrement,InterlockedDecrement,InterlockedExchange: new
functions.
* [if1632/kernel32.spec]
SetErrorMode,GetActiveWindow: new relays to existing functions.
* [if1632/kernel32.spec][win32/user32.c]
PeekMessage32A,PeekMessage32W: new functions.
* [include/struct32.h][include/windows.h]
Moved MSG32 to windows.h.
Renamed MSG to MSG16.
Modified prototypes to use MSG16
* [include/winbase.h]
OSVERSIONINFO32A,OSVERSIONINFO32W: new structures.
Sun Jun 9 20:53:30 1996 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [if1632/Makefile.in] [loader/builtin.c]
version.dll,lz32.dll added.
* [include/lzexpand.h] [if1632/lz32.spec] [if1632/lzexpand.spec]
[misc/lzexpand.c]
lz32.dll added.
Modified to new function naming standard.
* [include/ver.h] [if1632/ver.spec] [if1632/version.spec] [misc/ver.c]
version.dll added (win32 version of ver.dll).
Modified to new function naming standard.
Use registry to look up a LOCALE langids too.
(VerInstallFile,VerFindFile still stubs)
Fri Jun 7 20:40:20 1996 Albrecht Kleine <kleine@ak.sax.de>
* [files/file.c]
Added a warning if GetTempFileName() gets a bad drive parameter.
* [misc/commdlg.c]
Changed file listbox color to gray in SaveFile dialog
(just like Windows does this).
diff --git a/windows/dialog.c b/windows/dialog.c
index 4e010bc..8d4c82b 100644
--- a/windows/dialog.c
+++ b/windows/dialog.c
@@ -65,7 +65,7 @@
*/
BOOL DIALOG_Init()
{
- TEXTMETRIC tm;
+ TEXTMETRIC16 tm;
HDC hdc;
/* Calculate the dialog base units */
@@ -154,7 +154,7 @@
dprintf_dialog(stddeb,"'%s'", info->windowName );
}
- info->data = (LPVOID)(*p ? p + 1 : NULL); /* FIXME: is this right? */
+ info->data = (LPVOID)(*p ? p + 1 : NULL); /* FIXME: should be a segptr */
p += *p + 1;
dprintf_dialog( stddeb," %d, %d, %d, %d, %d, %08lx, %08lx\n",
@@ -200,7 +200,7 @@
else
{
info->className = (LPCSTR)p;
- p += STRING32_lstrlenW( (LPCWSTR)p ) + 1;
+ p += lstrlen32W( (LPCWSTR)p ) + 1;
}
dprintf_dialog(stddeb, " %p ", info->className );
@@ -213,7 +213,7 @@
else
{
info->windowName = (LPCSTR)p;
- p += STRING32_lstrlenW( (LPCWSTR)p ) + 1;
+ p += lstrlen32W( (LPCWSTR)p ) + 1;
dprintf_dialog(stddeb,"'%p'", info->windowName );
}
@@ -427,7 +427,7 @@
default:
result->menuName = (LPCSTR)p;
dprintf_dialog( stddeb, " MENU '%p'\n", p );
- p += STRING32_lstrlenW( (LPCWSTR)p ) + 1;
+ p += lstrlen32W( (LPCWSTR)p ) + 1;
break;
}
@@ -447,14 +447,14 @@
default:
result->className = (LPCSTR)p;
dprintf_dialog( stddeb, " CLASS '%p'\n", p );
- p += STRING32_lstrlenW( (LPCWSTR)p ) + 1;
+ p += lstrlen32W( (LPCWSTR)p ) + 1;
break;
}
/* Get the window caption */
result->caption = (LPCSTR)p;
- p += STRING32_lstrlenW( (LPCWSTR)p ) + 1;
+ p += lstrlen32W( (LPCWSTR)p ) + 1;
dprintf_dialog( stddeb, " CAPTION '%p'\n", result->caption );
/* Get the font name */
@@ -464,7 +464,7 @@
result->pointSize = GET_WORD(p);
p++;
result->faceName = (LPCSTR)p;
- p += STRING32_lstrlenW( (LPCWSTR)p ) + 1;
+ p += lstrlen32W( (LPCWSTR)p ) + 1;
dprintf_dialog( stddeb, " FONT %d,'%p'\n",
result->pointSize, result->faceName );
}
@@ -517,7 +517,7 @@
template.faceName ); /* FIXME: win32 */
if (hFont)
{
- TEXTMETRIC tm;
+ TEXTMETRIC16 tm;
HFONT oldFont;
HDC hdc;
@@ -577,7 +577,6 @@
/* Initialise dialog extra data */
dlgInfo = (DIALOGINFO *)wndPtr->wExtra;
- dlgInfo->dlgProc = dlgProc;
dlgInfo->hUserFont = hFont;
dlgInfo->hMenu = hMenu;
dlgInfo->xBaseUnit = xUnit;
@@ -596,6 +595,7 @@
/* Send initialisation messages and set focus */
+ dlgInfo->dlgProc = dlgProc;
dlgInfo->hwndFocus = DIALOG_GetFirstTabItem( hwnd );
if (dlgInfo->hUserFont)
SendMessage32A( hwnd, WM_SETFONT, (WPARAM)dlgInfo->hUserFont, 0 );
@@ -610,7 +610,7 @@
* CreateDialog16 (USER.89)
*/
HWND16 CreateDialog16( HINSTANCE16 hInst, SEGPTR dlgTemplate,
- HWND16 owner, DLGPROC dlgProc )
+ HWND16 owner, DLGPROC16 dlgProc )
{
return CreateDialogParam16( hInst, dlgTemplate, owner, dlgProc, 0 );
}
@@ -620,7 +620,7 @@
* CreateDialogParam16 (USER.241)
*/
HWND16 CreateDialogParam16( HINSTANCE16 hInst, SEGPTR dlgTemplate,
- HWND16 owner, DLGPROC dlgProc, LPARAM param )
+ HWND16 owner, DLGPROC16 dlgProc, LPARAM param )
{
HWND16 hwnd = 0;
HRSRC hRsrc;
@@ -644,7 +644,7 @@
* CreateDialogParam32A (USER32.72)
*/
HWND32 CreateDialogParam32A( HINSTANCE32 hInst, LPCSTR name,
- HWND32 owner, DLGPROC dlgProc, LPARAM param )
+ HWND32 owner, DLGPROC32 dlgProc, LPARAM param )
{
if (HIWORD(name))
{
@@ -661,7 +661,7 @@
* CreateDialogParam32W (USER32.73)
*/
HWND32 CreateDialogParam32W( HINSTANCE32 hInst, LPCWSTR name,
- HWND32 owner, DLGPROC dlgProc, LPARAM param )
+ HWND32 owner, DLGPROC32 dlgProc, LPARAM param )
{
HANDLE32 hrsrc = FindResource32( hInst, name, (LPWSTR)RT_DIALOG );
if (!hrsrc) return 0;
@@ -674,7 +674,7 @@
* CreateDialogIndirect16 (USER.219)
*/
HWND16 CreateDialogIndirect16( HINSTANCE16 hInst, LPCVOID dlgTemplate,
- HWND16 owner, DLGPROC dlgProc )
+ HWND16 owner, DLGPROC16 dlgProc )
{
return CreateDialogIndirectParam16( hInst, dlgTemplate, owner, dlgProc, 0);
}
@@ -684,7 +684,7 @@
* CreateDialogIndirectParam16 (USER.242)
*/
HWND16 CreateDialogIndirectParam16( HINSTANCE16 hInst, LPCVOID dlgTemplate,
- HWND16 owner, DLGPROC dlgProc,
+ HWND16 owner, DLGPROC16 dlgProc,
LPARAM param )
{
HANDLE32 proc = WINPROC_AllocWinProc( (UINT32)dlgProc, WIN_PROC_16 );
@@ -697,7 +697,7 @@
* CreateDialogIndirectParam32A (USER32.69)
*/
HWND32 CreateDialogIndirectParam32A( HINSTANCE32 hInst, LPCVOID dlgTemplate,
- HWND32 owner, DLGPROC dlgProc,
+ HWND32 owner, DLGPROC32 dlgProc,
LPARAM param )
{
HANDLE32 proc = WINPROC_AllocWinProc( (UINT32)dlgProc, WIN_PROC_32A );
@@ -710,7 +710,7 @@
* CreateDialogIndirectParam32W (USER32.71)
*/
HWND32 CreateDialogIndirectParam32W( HINSTANCE32 hInst, LPCVOID dlgTemplate,
- HWND32 owner, DLGPROC dlgProc,
+ HWND32 owner, DLGPROC32 dlgProc,
LPARAM param )
{
HANDLE32 proc = WINPROC_AllocWinProc( (UINT32)dlgProc, WIN_PROC_32W );
@@ -727,14 +727,14 @@
WND * wndPtr;
DIALOGINFO * dlgInfo;
HANDLE msgHandle;
- MSG* lpmsg;
+ MSG16* lpmsg;
INT32 retval;
/* Owner must be a top-level window */
owner = WIN_GetTopParent( owner );
if (!(wndPtr = WIN_FindWndPtr( hwnd ))) return -1;
- if (!(msgHandle = USER_HEAP_ALLOC( sizeof(MSG) ))) return -1;
- lpmsg = (MSG *) USER_HEAP_LIN_ADDR( msgHandle );
+ if (!(msgHandle = USER_HEAP_ALLOC( sizeof(MSG16) ))) return -1;
+ lpmsg = (MSG16 *) USER_HEAP_LIN_ADDR( msgHandle );
dlgInfo = (DIALOGINFO *)wndPtr->wExtra;
EnableWindow( owner, FALSE );
ShowWindow( hwnd, SW_SHOW );
@@ -762,7 +762,7 @@
* DialogBox16 (USER.87)
*/
INT16 DialogBox16( HINSTANCE16 hInst, SEGPTR dlgTemplate,
- HWND16 owner, DLGPROC dlgProc )
+ HWND16 owner, DLGPROC16 dlgProc )
{
return DialogBoxParam16( hInst, dlgTemplate, owner, dlgProc, 0 );
}
@@ -772,7 +772,7 @@
* DialogBoxParam16 (USER.239)
*/
INT16 DialogBoxParam16( HINSTANCE16 hInst, SEGPTR template,
- HWND16 owner, DLGPROC dlgProc, LPARAM param )
+ HWND16 owner, DLGPROC16 dlgProc, LPARAM param )
{
HWND16 hwnd = CreateDialogParam16( hInst, template, owner, dlgProc, param);
if (hwnd) return (INT16)DIALOG_DoDialogBox( hwnd, owner );
@@ -784,7 +784,7 @@
* DialogBoxParam32A (USER32.138)
*/
INT32 DialogBoxParam32A( HINSTANCE32 hInst, LPCSTR name,
- HWND32 owner, DLGPROC dlgProc, LPARAM param )
+ HWND32 owner, DLGPROC32 dlgProc, LPARAM param )
{
HWND32 hwnd = CreateDialogParam32A( hInst, name, owner, dlgProc, param );
if (hwnd) return DIALOG_DoDialogBox( hwnd, owner );
@@ -796,7 +796,7 @@
* DialogBoxParam32W (USER32.139)
*/
INT32 DialogBoxParam32W( HINSTANCE32 hInst, LPCWSTR name,
- HWND32 owner, DLGPROC dlgProc, LPARAM param )
+ HWND32 owner, DLGPROC32 dlgProc, LPARAM param )
{
HWND32 hwnd = CreateDialogParam32W( hInst, name, owner, dlgProc, param );
if (hwnd) return DIALOG_DoDialogBox( hwnd, owner );
@@ -808,7 +808,7 @@
* DialogBoxIndirect16 (USER.218)
*/
INT16 DialogBoxIndirect16( HINSTANCE16 hInst, HANDLE16 dlgTemplate,
- HWND16 owner, DLGPROC dlgProc )
+ HWND16 owner, DLGPROC16 dlgProc )
{
return DialogBoxIndirectParam16( hInst, dlgTemplate, owner, dlgProc, 0 );
}
@@ -818,7 +818,7 @@
* DialogBoxIndirectParam16 (USER.240)
*/
INT16 DialogBoxIndirectParam16( HINSTANCE16 hInst, HANDLE16 dlgTemplate,
- HWND16 owner, DLGPROC dlgProc, LPARAM param )
+ HWND16 owner, DLGPROC16 dlgProc, LPARAM param )
{
HWND16 hwnd;
LPCVOID ptr;
@@ -835,7 +835,7 @@
* DialogBoxIndirectParam32A (USER32.135)
*/
INT32 DialogBoxIndirectParam32A( HINSTANCE32 hInstance, LPCVOID template,
- HWND32 owner, DLGPROC dlgProc ,LPARAM param )
+ HWND32 owner, DLGPROC32 dlgProc ,LPARAM param)
{
HWND32 hwnd = CreateDialogIndirectParam32A( hInstance, template,
owner, dlgProc, param );
@@ -848,7 +848,7 @@
* DialogBoxIndirectParam32W (USER32.137)
*/
INT32 DialogBoxIndirectParam32W( HINSTANCE32 hInstance, LPCVOID template,
- HWND32 owner, DLGPROC dlgProc ,LPARAM param )
+ HWND32 owner, DLGPROC32 dlgProc ,LPARAM param)
{
HWND32 hwnd = CreateDialogIndirectParam32W( hInstance, template,
owner, dlgProc, param );
@@ -874,7 +874,7 @@
/***********************************************************************
* IsDialogMessage (USER.90)
*/
-BOOL IsDialogMessage( HWND hwndDlg, LPMSG msg )
+BOOL IsDialogMessage( HWND hwndDlg, LPMSG16 msg )
{
WND * wndPtr;
int dlgCode;