Release 970804
Sun Aug 3 14:03:43 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [documentation/Makefile.in]
Create links for files included from wine.texinfo.
* [wine.man]
Moved to documentation dir.
* [if1632/builtin.c]
Made SYSTEM.DLL always loaded by default.
* [loader/signal.c] [if1632/signal.c]
Split signal.c in generic/emulator-specific parts.
* [misc/system.c] [if1632/thunk.c]
Implemented system timer functions.
Fixed InquireSystem parameters.
* [msdos/ioports.c]
Defined inb/outb functions to avoid including asm/io.h.
Use the right instruction for word and dword direct access.
* [multimedia/mmsystem.c]
Fixed CallTo16 usage.
Sat Aug 2 13:05:23 1997 Andreas Mohr <100.30936@germany.net>
* [controls/edit.c]
When text is inserted into a newly created editline, the caret
is placed after the text. Should be placed before the text. Fixed.
* [files/file.c]
Removed O_TRUNC flag from OF_WRITE mode in _lopen32().
According to doc _lopen() never truncates files.
* [if1632/user.spec] [misc/comm.c]
Added stub for EnableCommNotification().
* [misc/ver.c]
Fixed problem with VerQueryValue*() running over end of name table
in rare cases.
* [msdos/int21.c]
Enhanced ioctlGetDeviceInfo() to correctly return the current drive.
* [multimedia/joystick.c] [windows/message.c]
Added joystick support !!!
Needs Linux >= 2.1.45 or joystick-0.8.0.tar.gz.
Fri Aug 1 18:02:09 1997 Morten Welinder <terra@diku.dk>
* [if1632/user32.spec]
Define DrawAnimatedRects32.
* [graphics/painting.c]
(DrawAnimatedRects32): Create stub.
* [misc/registry.c]
Cope with NULL class in RegQueryInfoKey32A.
* [if1632/user32.spec]
Add GetMenuItemInfo32[AW].
* [controls/menu.c]
(InsertMenu32A): Upgrade flags to 8 hex-digits.
(MENUEX_ParseResource): First shot at implementation.
(LoadMenuIndirect32A): Handle extended menus.
(GetMenuItemInfo32[AW]): First shot at implementation.
* [include/windows.h]
Define MFT_*, MFS_*, MIIM_* macros. Define MENUITEMINFO[AW]
structures and pointers.
* [Makefile.in]
(etags): Add TAGS as target.
* [if1632/comctl32.spec]
Use Windows 95's ordinals. Add a few missing stubs.
Thu Jul 31 14:01:13 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [objects/color.c]
Fix for 16 color mode of XFree.
* [if1632/kernel32.spec][win32/ordinals.c]
Moved/added some ordinal only exported functions from kernel32.dll
(mostly thunking preparation stuff).
Wed Jul 30 09:16:38 1997 John Harvey <john@division.co.uk>
* [graphics/win16drv/init.c] [include/win16drv.h]
Escape(SETABORTPROC) returns success to keep pbrush.exe happy.
Escape(NEXTBAND) implemented to make HP PCL printer driver work in
word. Stub for PATBLT added to start work on printing more than
text.
Mon Jul 28 13:14:28 1997 Victor Schneider <vischne@ibm.net>
* [libtest/expand.c]
New Winelib test program.
Wed Jul 23 09:37:13 1997 Adrian Harvey <adrian@select.com.au>
* [tools/build.c] [tools/build-spec.txt] [if1632/kernel.spec]
[if1632/user.spec]
Added ability to set filename wine considers the built-in DLLs
to be in to something other than name.DLL with new "file" key
in .spec files.
Made kernel filename KRNL386.EXE (some programs use this name
explicitly - ChemOffice install now starts up).
Made user filename USER.EXE (just to be tidy).
Sun Jul 20 23:51:02 1997 David A. Cuthbert <dacut@henry.ece.cmu.edu>
* [controls/menu.c] [misc/tweak.c] [include/tweak.h]
Fixed MENU_KeyLeft and MENU_KeyRight to handle multiple-column
menus. Misc menu drawing issues for Win95 tweaks fixed. Misc
warnings fixed.
* [loader/module.c]
Spaces are now permitted in file/path names on the command line.
If multiple matches can be made, the preferred match is the
path/file with fewer spaces.
Tue Jul 29 02:21:15 1997 Bruce Milner <Bruce.Milner@genetics.utah.edu>
* [misc/compobj.c]
Added CLSIDFromString and StringFromCLSID.
diff --git a/include/callback.h b/include/callback.h
index d1cb792..c2d1020 100644
--- a/include/callback.h
+++ b/include/callback.h
@@ -48,6 +48,8 @@
#define CallDriverProc( func, dwId, msg, hdrvr, lparam1, lparam2 ) \
CallTo16_long_lwwll( func, dwId, msg, hdrvr, lparam1, lparam2 )
+#define CallDriverCallback( func, hdev, msg, user, lparam1, lparam2 ) \
+ CallTo16_word_wwlll( func, hdev, msg, user, lparam1, lparam2 )
#define CallTimeFuncProc( func, id, msg, dwUser, dw1, dw2 ) \
CallTo16_word_wwlll( func, id, msg, dwUser, dw1, dw2 )
#define CallWindowsExitProc( func, nExitType ) \
@@ -78,6 +80,8 @@
#define CallDriverProc( func, dwId, msg, hdrvr, lparam1, lparam2 ) \
(*func)( dwId, msg, hdrvr, lparam1, lparam2 )
+#define CallDriverCallback( func, hdev, msg, user, lparam1, lparam2 ) \
+ (*func)( hdev, msg, user, lparam1, lparam2 )
#define CallTimeFuncProc( func, id, msg, dwUser, dw1, dw2 ) \
(*func)( id, msg, dwUser, dw1, dw2 )
#define CallWindowsExitProc( func, nExitType ) \
diff --git a/include/compobj.h b/include/compobj.h
new file mode 100644
index 0000000..baa348f
--- /dev/null
+++ b/include/compobj.h
@@ -0,0 +1,16 @@
+#if !defined(COMPOBJ_H)
+#define COMPOBJ_H
+
+struct tagCLSID {
+ DWORD Data1;
+ WORD Data2;
+ WORD Data3;
+ BYTE Data4[8];
+};
+
+typedef struct tagCLSID CLSID;
+
+OLESTATUS StringFromCLSID(const CLSID *id, LPSTR);
+OLESTATUS CLSIDFromString(const LPCSTR, CLSID *);
+
+#endif
diff --git a/include/miscemu.h b/include/miscemu.h
index dba7cff..4b5847b 100644
--- a/include/miscemu.h
+++ b/include/miscemu.h
@@ -10,7 +10,7 @@
#include <stdio.h>
#include "winnt.h"
- /* miscemu/dosmem.c */
+ /* msdos/dosmem.c */
extern HANDLE16 DOSMEM_BiosSeg;
extern DWORD DOSMEM_CollateTable;
@@ -24,9 +24,6 @@
extern LPVOID DOSMEM_MapDosToLinear(UINT32); /* linear DOS to Wine */
extern UINT32 DOSMEM_MapLinearToDos(LPVOID); /* linear Wine to DOS */
-/* miscemu/interrupts.c */
-extern BOOL32 INT_Init(void);
-
/* msdos/interrupts.c */
extern FARPROC16 INT_GetHandler( BYTE intnum );
extern void INT_SetHandler( BYTE intnum, FARPROC16 handler );
@@ -39,6 +36,14 @@
/* msdos/int1a.c */
extern DWORD INT1A_GetTicksSinceMidnight(void);
+/* loader/signal.c */
+extern BOOL32 SIGNAL_Init(void);
+extern void SIGNAL_SetHandler( int sig, void (*func)(), int flags );
+extern void SIGNAL_MaskAsyncEvents( BOOL32 flag );
+
+/* if1632/signal.c */
+extern BOOL32 SIGNAL_InitEmulator(void);
+
#define INT_BARF(context,num) \
fprintf( stderr, "int%x: unknown/not implemented parameters:\n" \
"int%x: AX %04x, BX %04x, CX %04x, DX %04x, " \
diff --git a/include/module.h b/include/module.h
index 872b498..563a2d8 100644
--- a/include/module.h
+++ b/include/module.h
@@ -126,6 +126,7 @@
extern BOOL16 MODULE_SetEntryPoint( HMODULE16 hModule, WORD ordinal,
WORD offset );
extern FARPROC16 MODULE_GetWndProcEntry16( const char *name );
+extern FARPROC16 WIN32_GetProcAddress16( HMODULE16 hmodule, LPSTR name );
/* builtin.c */
extern BOOL16 BUILTIN_Init(void);
diff --git a/include/tweak.h b/include/tweak.h
index d2dcbf6..02ac88a 100644
--- a/include/tweak.h
+++ b/include/tweak.h
@@ -15,7 +15,9 @@
int TWEAK_CheckConfiguration();
INT32 TWEAK_PartyMessageBox(LPCSTR, LPCSTR, DWORD);
void TWEAK_DrawReliefRect95(HDC32, RECT32 const *);
-void TWEAK_DrawMenuSeparator95(HDC32, UINT32, UINT32, UINT32);
+void TWEAK_DrawRevReliefRect95(HDC32, RECT32 const *);
+void TWEAK_DrawMenuSeparatorHoriz95(HDC32, UINT32, UINT32, UINT32);
+void TWEAK_DrawMenuSeparatorVert95(HDC32, UINT32, UINT32, UINT32);
extern int TWEAK_Win95Look;
extern int TWEAK_WineInitialized;
extern HPEN32 TWEAK_PenFF95;
diff --git a/include/win16drv.h b/include/win16drv.h
index f7d144c..88acb12 100644
--- a/include/win16drv.h
+++ b/include/win16drv.h
@@ -188,6 +188,8 @@
const RECT32 *lprect, LPCSTR str, UINT32 count,
const INT32 *lpDx );
extern HGDIOBJ32 WIN16DRV_SelectObject( DC *dc, HGDIOBJ32 handle );
+extern BOOL32 WIN16DRV_PatBlt( struct tagDC *dc, INT32 left, INT32 top,
+ INT32 width, INT32 height, DWORD rop );
diff --git a/include/windows.h b/include/windows.h
index 28dd31d..06814ac 100644
--- a/include/windows.h
+++ b/include/windows.h
@@ -2844,6 +2844,67 @@
#define MF_HELP 0x4000
#define MF_MOUSESELECT 0x8000
+/* Flags for extended menu item types. */
+#define MFT_STRING MF_STRING
+#define MFT_BITMAP MF_BITMAP
+#define MFT_MENUBARBREAK MF_MENUBARBREAK
+#define MFT_MENUBREAK MF_MENUBREAK
+#define MFT_OWNERDRAW MF_OWNERDRAW
+#define MFT_RADIOCHECK 0x00000200L
+#define MFT_SEPARATOR MF_SEPARATOR
+#define MFT_RIGHTORDER 0x00002000L
+#define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY
+
+/* Flags for extended menu item states. */
+#define MFS_GRAYED 0x00000003L
+#define MFS_DISABLED MFS_GRAYED
+#define MFS_CHECKED MF_CHECKED
+#define MFS_HILITE MF_HILITE
+#define MFS_ENABLED MF_ENABLED
+#define MFS_UNCHECKED MF_UNCHECKED
+#define MFS_UNHILITE MF_UNHILITE
+#define MFS_DEFAULT MF_DEFAULT
+
+typedef struct {
+ UINT32 cbSize;
+ UINT32 fMask;
+ UINT32 fType;
+ UINT32 fState;
+ UINT32 wID;
+ HMENU32 hSubMenu;
+ HBITMAP32 hbmpChecked;
+ HBITMAP32 hbmpUnchecked;
+ DWORD dwItemData;
+ LPSTR dwTypeData;
+ UINT32 cch;
+} MENUITEMINFO32A, *LPMENUITEMINFO32A;
+
+typedef struct {
+ UINT32 cbSize;
+ UINT32 fMask;
+ UINT32 fType;
+ UINT32 fState;
+ UINT32 wID;
+ HMENU32 hSubMenu;
+ HBITMAP32 hbmpChecked;
+ HBITMAP32 hbmpUnchecked;
+ DWORD dwItemData;
+ LPWSTR dwTypeData;
+ UINT32 cch;
+} MENUITEMINFO32W, *LPMENUITEMINFO32W;
+
+DECL_WINELIB_TYPE_AW(MENUITEMINFO);
+DECL_WINELIB_TYPE_AW(LPMENUITEMINFO);
+
+/* Field specifiers for MENUITEMINFO[AW] type. */
+#define MIIM_STATE 0x00000001
+#define MIIM_ID 0x00000002
+#define MIIM_SUBMENU 0x00000004
+#define MIIM_CHECKMARKS 0x00000008
+#define MIIM_TYPE 0x00000010
+#define MIIM_DATA 0x00000020
+
+
#ifndef NOWINOFFSETS
#define GCW_HBRBACKGROUND (-10)
#endif
@@ -5070,13 +5131,17 @@
WORD ChangeSelector(WORD,WORD);
INT16 CloseComm(INT16);
HGLOBAL16 CreateCursorIconIndirect(HINSTANCE16,CURSORICONINFO*,LPCVOID,LPCVOID);
+WORD CreateSystemTimer(WORD,FARPROC16);
BOOL16 DCHook(HDC16,WORD,DWORD,LPARAM);
VOID DirectedYield(HTASK16);
HGLOBAL16 DirectResAlloc(HINSTANCE16,WORD,UINT16);
+VOID DisableSystemTimers(void);
BOOL16 DlgDirSelect(HWND16,LPSTR,INT16);
BOOL16 DlgDirSelectComboBox(HWND16,LPSTR,INT16);
DWORD DumpIcon(SEGPTR,WORD*,SEGPTR*,SEGPTR*);
+BOOL16 EnableCommNotification(INT16,HWND16,INT16,INT16);
BOOL16 EnableHardwareInput(BOOL16);
+VOID EnableSystemTimers(void);
INT16 ExcludeVisRect(HDC16,INT16,INT16,INT16,INT16);
HANDLE16 FarGetOwner(HGLOBAL16);
VOID FarSetOwner(HGLOBAL16,HANDLE16);
@@ -5283,6 +5348,9 @@
#define GetFullPathName WINELIB_NAME_AW(GetFullPathName)
VOID GetLocalTime(LPSYSTEMTIME);
DWORD GetLogicalDrives(void);
+BOOL32 GetMenuItemInfo32A(HMENU32,UINT32,BOOL32,MENUITEMINFO32A*);
+BOOL32 GetMenuItemInfo32W(HMENU32,UINT32,BOOL32,MENUITEMINFO32W*);
+#define GetMenuItemInfo WINELIB_NAME_AW(GetMenuItemInfo)
UINT32 GetOEMCP(void);
DWORD GetPriorityClass(HANDLE32);
HANDLE32 GetProcessHeap(void);