/* $Id: ChangeLog-1999,v 1.1 2000-07-09 22:27:49 phaller Exp $ */ 1999-12-31: Przemyslaw Dobrowolski - WINMM: Implemented waveOutGet/SetVolume - KERNEL32: Fixed bugs in iccio.asm (OFFSET FLAT:devname) 1999-12-31: Edgar Buerkle - KERNEL32: Started with implementation of debug apis & support for debugging win32 apps (mostly for additional logging) 1999-12-30: Christoph Bratschi - USER32: ported menu control from WINE (not yet activated) ported icontitle control from WINE added winswitch control (stub) fixed Win32BaseWindow::hasWindowName 1999-12-30: Sander van Leeuwen - KERNEL32: Added stubs for Load/FreeLibrary16 & GetProcAddress16 (ordinals 35,36 & 37) Added support for SEC_COMMIT memory map flag Don't fail for unknown handles in (Msg)WaitForMultipleObject; they could be thread or process handles (which we don't translate) - USER32: Load bitmaps file completely in LoadBitmapA. Creating a file mapping with reserved memory has little use as the entire file will be read completely anyway. Added some useful logging for DDE apis. Fixed problem with combo boxes refusing to expand if it the edit control doesn't have the focus. - GDI32: Fixed GetObject for DIB sections - COMCTL32: Increased default height of rebar band from 20 to 36 (temporary hack for AbiWord) 1999-12-30: Bart van Leeuwen - USER32: Implemented accelerator support 1999-12-30: Patrick Haller - SHELL32: Add: StrChrIA, StrChrIW, StrStrIA, StrStrIW - SHLWAPI: Add: see above, SHRegGetBoolUSValueA/W 1999-12-29: Christoph Bratschi - USER32: rewrote coordinate mapping (map*) and fixed some 1 pixel bugs pro memoria: point: newY = windowH-1-oldY rectangle: newTop = windowH-oldTop fixed some wrong window handles Win32BaseWindow: added getClientHeight/Width, getWindowHeight returns now the window height 1999-12-29: Patrick Haller - INCLUDE: ODINWRAP: new macros to save FS register for callback registration - WINMM: removed memory leak for win32 tib fs selectors in DartWaveOut::callback 1999-12-29: Sander van Leeuwen - WINMM: Created wrappers for mci* apis (to save/restore FS) NOTE: You must include os2mewrap.h instead of os2me.h - USER32: Fixed PostThreadMessage (RealPlayer G2 install almost works) Fixed memory leak in PostMessage (structures of posted messages that aren't dispatched were never freed) (InterVideo WinDVD 2.0 install almost works; tries to overwrite msvcrt.dll (which fails as the install program uses that dll)) Fixed version resource (based on NT 4 SP3) - KERNEL32: Removed logging from icon & cursor (group) conversion (compile with DEBUGALL=1 to enable it) Added version resource (based on NT 4 SP3) - GDI32: Added version resource (based on NT 4 SP3) - MSVCRT/20/40: Added version information based on NT 4 SP3 msvcrt dlls 1999-12-28: Vit Timchishin - USER32: Listbox fix; Commented out 'if (index == oldsel) return LB_OKAY;' in LISTBOX_SetSelection as this may prevent the control from sending a notification after a change with notify disabled. (i.e. MoveCarret) 1999-12-28: Sander van Leeuwen - WININET: Created stub dll - KERNEL32: Create Software\Microsoft\Windows NT\CurrentVersion registry key + necessary values Put all version information in include\versionos2.h Faked GetSystemPowerStatus (always returns online status for desktop system) - SHELL32: Implemented PathBuildRootW, PathRemoveBackslashW, PathFileExistsW, StrChrA & StrRChrW - SHLWAPI: Created more forwarders to shell32 apis 1999-12-28: Jens Wiessner - avifil32, comdlg32, crtdll, ddraw, dinput, dplay, dplayx, imagehlp, mpr, msvcrt(20/40), msvfw32, olecli32, oledlg, olesvr32, psapi, rasapi32, version: Added commented-out exports and changed ordinals to match with the dlls from Windows NT 4.0 ServicePack 6 or Windows 98SE NOTE: Requires recompile of all Odin dlls & any Odin32 apps. 1999-12-27: Jens Wiessner - WINSPOOL: Added stubs - ADVAPI32: Added crypto stubs 1999-12-27: Vit Timchishin - KERNEL32: Implemented preliminary codepage support - USER32: Added code to init for codepage support Fixed combo box bugs (COMBO_Command; use lParam for hwnd compares) 1999-12-27: Christoph Bratschi - USER32: fixed SetWindowPos 1999-12-27: Sander van Leeuwen - USER32: Fixed GetActiveWindow (also fixes problem with mouse messages in FreeCell) Fixed PeekMessageW (used old way of calling OSLibWinPeekMsg) Changed translation of message filters (still not 100% correct) Fixed bugs in OSLibPeekMessage - KERNEL32: Enable write access for code sections which have this flag set in the PE image (fixes crash in WinDVD) 1999-12-26: Christoph Bratschi - USER32: implemented WM_NCHITTEST, added WM_SYSCOMMAND handling ported DIALOG_IsAccelerator implemented Get/SetMessageExtraInfo extended DefWindowProcA handling several other bug fixes - COMCTL32: changed non-client handling 1999-12-24: Sander van Leeuwen - USER32: Fixed bug in OSLibWinQueryQueueStatus (uninitialized local variable) Changed message handling. Messages are translated in Get/PeekMessage now. (or in the PM window handler, if it was sent directly) TranslateMessage now translates WM_(SYS)KEYDOWN/UP to WM_(SYS)(DEAD)CHAR Fixed ChildWindowFromPointEx - CRTDLL: Removed excessive logging (compile with DEBUGALL=1 to enable it) - SRC\MAKEFILE: Included dplayx 1999-12-24: Markus Montkowski - dplayx: compiles and links now 1999-12-22: Christoph Bratschi - USER32: fixed WinGetKeyState in WM_MOUSEMOVE (WinAmp's equalizer works now fine) 1999-12-21: Jens Wiessner - MSVCRT: Updated msvcrt20 & msvcrt40 def files 1999-12-21: Christoph Bratschi - USER32: merged controls with WINE 991212 fixed listbox WM_SETREDRAW bug 1999-12-21: Markus Montkowski - ddraw: Some cleanup in surface handling more colorconversion code: 8bit to all hicolormodes(16,24,32) and between the highcolormodes Do Colorfills for the above modes. Removed inhertiance from IBASE in DDRectangle 1999-12-21: Sander van Leeuwen - ADVAPI32: Fixed some bugs in service.cpp; implemented some service apis - INCLUDE\WIN: Added winsvc.h; removed service definitions from winbase.h & winreg.h - NTDLL/CRTDLL: Moved all CRT functions into CRTDLL CRTDLL should contain all shared RTL functions (in addition to those present in the win32 version); this is more consistent than putting half the rtl functions in NTDLL and the rest in CRTDLL. - CRTDLL: Fixed memory allocation bug (CRTDLL_calloc called calloc, while free calls HeapFree; everything uses private CRTDLL heap now) - MSVCRT: Removed all forwarders from def file. Link with CRTDLL instead. NOTE: Non-existant forwarders don't generate errors when loading this dll!!! Linking with a lib makes sure the import really exists. - KERNEL32: Moved memmove to NTDLL (forwarded to CRTDLL) - ODINCRT: Added wrappers for file io functions (to prevent FS corruption) 1999-12-20: Rene Pronk - WINMM: Bugfixes in waveOutOpen (flags) for winamp 1999-12-20 Markus Montkowski - USER32: Fixed Coordinate conversion in WM_HITTEST (don't use handles as a coordinates) 1999-12-20: Christoph Bratschi - USER32: changed icon title font size in SystemParametersInfo to 12 fixed DrawIcon/DrawIconEx fixed GetIconInfo (still bugs in load/create code) 1999-12-20: Sander van Leeuwen - CRTDLL: Added bsearch from EMX - MSVCRT: Copy dlls into bin directory. Most apps seem to work (Notes, solitaire, winhlp32) - NTDLL: Added qsort, ftol, CIpow, ltoa, ultoa (ftol fixes black Notes toolbars) 1999-12-20: Jens Wiessner - MSVCRT: Added stubs 1999-12-19: Christoph Bratschi - USER32: fixed child positioning removed CS_SIZEREDRAW, do it manually if window really needs it handled in WM_CALCVALIDRECTS, PM aligns windows top-left -> much faster, Calc: radiobuttons are at the right place RegEdit: treeview redraw problems fixed 1999-12-19: Sander van Leeuwen - ADVAPI32/NTDLL: Forward sid apis to ntdll (need to check return type of some Rtl SID apis (bool or status dword?)) Moved Service apis into separate sourcefile Implemented some service apis (not completely) - KERNEL32: Fix for loading images (RSRC_LOAD) Implemented FindResourceExA/W CreateProcessW bugfix (string conversion) FormatMessageA/W bugfix (wrong calling convention for WVSPRINTFAPROC type (should be WIN32API!) -> fixes crash in regedit - USER32: SendMessageW bugfix 1999-12-18: Achim Hasenmueller - COMCTL32: Merged with latest WINE 991212 code 1999-12-18: Edgar Buerkle - KERNEL32: Partially implemented GetThreadContext, Read/WriteProcessMemory 1999-12-18: Christoph Bratschi - USER32: added MDI menu window switching fixed ChildWindowFromPointEx fixed WM_MDIDESTROY 1999-12-18: Sander van Leeuwen - MSACM32: Compile fixes (internal.cpp) - USER32: WindowFromPoint fix (return 0 if no windows found, not the desktop wnd handle) SetMenuItemInfoA bugfix (for novamatic) (still not completely implemented though) - AVIFIL32: updated with the latest code from Wine 991212. - KERNEL32: Partly implemented GetCurrencyFormatA/W (not correct, but to make apps happy) Added handlemanager class for tokens and HMHandleGetUserData export to query the userdata dword of a handle. - NTDLL: Partially implemented some Token & SID apis in order to get MS Office 2000 install to work. 1999-12-18: Jens Wiessner - MSACM32: Updated with latest Wine code (991212) - CRTDLL: Removed the ERRNO Defs from CRTINC.H and included ERRNO.H 1999-12-17: Christoph Bratschi - USER32: WM_NOTIFYPARENT: map cursor pos implemented MDI cascade/tile 1999-12-17: Sander van Leeuwen - KERNEL32: Delete thread's THDB structure when it quits - USER32: Hook removal bugfix 1999-12-17: Edgar Buerkle - INCLUDE\winconst.h/wintypes.h/win\winbase.h: Added definitions - KERNEL32: Set DEBUG_PROCESS flag for DEBUG_ONLY_THIS_PROCESS flag in CreateProcess (open32 doesn't support the latter flag) 1999-12-16: Christoph Bratschi - USER32: fixed 'dancing characters' in edit control ported GrayString from WINE desktop: terminate string in WM_GETTEXT free timers after WM_DESTROY - GDI32: several bug fixes for text output functions implemented PolyTextOutA/W 1999-12-14: Sander van Leeuwen - USER32: Tasklist fix Rewrote SendMessage handling; Uses WinSendMsg now if window is created by a different process/thread. Started with port of Wine hook code ShowWindowAsync calls ShowWindow now (not correct, but better than nothing) - KERNEL32: Added GetTHDBFromThreadId (used in USER32) & link THDB structures during creation Put back old interlocked code (Wine port + InterlockedExchange fix) - GDI32: Extra logging for Create*Rgn apis 1999-12-13: Edgar Buerkle - KERNEL32: Added null pointer checks in lstrcatA/W - USER32: Removed unicode to ascii translation during MDI child creation (message translation code already takes care of this) 1999-12-13: Sander van Leeuwen - KERNEL32: Fixed performance problem in mmap.cpp Report correct dll when exe loading fails Fixed command line bug in CreateProcess (if app & cmd line are specified, skip exe name in cmd line) - INCLUDE\WIN\winnt.h: Header fixes - Porting.txt: Fixed sample makefile (you need to add -D__i386__ as compiler option) - USER32: NotifyParent bugfix (use id & handle of 1st child window) Added WM_INITMENU message support Experimental CS_PARENTDC support (disabled for now) 1999-12-12: Sander van Leeuwen - KERNEL32: Fixes for on-demand page loader; currently disabled by default because it interferes with debugging (too many exceptions are generated) To enable it undefine COMMIT_ALL in kernel32\winimagepeldr.cpp. Dll unload fix for PE loader (fixes crash when Notes quits) - PE2LX: Don't link with odincrt -> 'Not enough storage to complete initialization' error. Reason unknown. - INCLUDE\string.h: Use original strncpy for PE2LX 1999-12-12: Sander van Leeuwen - KERNEL32: Changed logging in winimagepeldr.cpp Uses private log with dprintfs instead of file streams. Added support for private dll logs (see comments in misc.h) //To use private dll logging, define PRIVATE_LOGGING and //add Open/ClosePrivateLogFiles (see below) functions to the dll //to open close the private logfile. The logfile handle should //be stored in the _privateLogFile variable //dprintf can be called like this: //dprintf((LOG, "PE file : %s", szFileName)); 1999-12-11: Jens Wiessner - CRTDLL: Fix for GetMainArgs (fixes windiff) - MSVCRT: Fix for GetMainArgs 1999-12-10: Sander van Leeuwen - KERNEL32: Fix for CreateFileMapping; return old handle if trying to open existing mapping commitPage: Commit page by page, not entire range (could leave holes if VirtualQueryMem range != nrpages) 1999-12-09: Christoph Bratschi - GDI32: fixed TextOut and ExtTextOut bugs 1999-12-09: Sander van Leeuwen - KERNEL32: Fixes in lstrcpynWtoA Added code heap. Ported ExpandEnvironmentStringsA/W (Wine: 991114) Create HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows key and necessary subkeys (including CSD version) Corrected return value of Read/WriteFile (must be boolean, not an error code) - USER32: Major changes for window procedures Now identical to Wine. Window is unicode only if it's window procedure comes from a unicode class. Add thunk code for procedures to store type. - ODINCRT: Replaced strncpy with one that stops at terminating 0 - INCLUDE\string.h: VAC version + minor change for strncpy - WIN32K\PE2LX: Link with odincrt.lib for rtl functions 1999-12-08: David Raison - OLEAUT32: Typelib handling: Parsing of typelib improved - Several incorrect pointer problems fixed esp. start addr. of var table. Use EnumResourceNames to locate embedded TYPELIB resources. Bugfixes. 1999-12-07: Achim Hasenmueller - WSOCK32: Moved old implementation to wsock32/old and promoted wsock32/new (based on PMWSOCK.DLL) as the default implementation 1999-12-07: Sander van Leeuwen - KERNEL32: Fixed string resource load bug (last character of string resource set to 0) - KERNEL32: Always commit memory for page memory maps - KERNEL32: Fixed bug in InterlockedExchange (parameters reversed) - USER32: Do not call selectClientArea during BeginPaint -> creates painting problems for i.e. memory SDK sample & AbiWord Disabled CS_OWNDC support for now -> otherwise certain windows never receive a WM_ERASEBKGND message. (memory SDK sample) Fix for Abiword & memory.exe -> extra check for owndc in Begin/EndPaint 1999-12-06: Sander van Leeuwen - KERNEL32/OLEAUT32: Renamed OLEAUT32 to OLAUTOS2 to avoid conflicts with Lotus SmartSuite (again..) - KERNEL32: Fixed memory map bugs 1999-12-06: Przemyslaw Dobrowolski - WINMM: Ported MMIO from Wine (now SoundRecorder can open wave files) 1999-12-06: Edgar Buerkle - KERNEL32: Temporary hack in GetFullPathNameA to replace forward slashes by backslashes (needed for WinZip 7.0) Fixed dprintf in lstrcmpW 1999-12-06: Daniela Engert - ODINCRT: change debug *allocs to return zeroed memory (instead of filled with 0xAA). Some applications expect it this way. 1999-12-06: Patrick Haller - KERNEL32: Reimplemented InterlockedXXX-APIs to be NT4 compatible 1999-12-05: Christoph Bratschi - KERNEL32: Only convert the string and not everything in UnicodeToAsciiStringN 1999-12-05: Edgar Buerkle - KERNEL32: Better logging for CreateProcessA - DDRAW: io_init1 -> PUSH OFFSET FLAT:devname 1999-12-05: Sander van Leeuwen - GDI32: Changed DEFAULT_GUI_FONT to WarpSans.9 - USER32:InSendMessage,GetMessagePos,GetMessageTime & ReplyMessage implemented using PM apis. Update client rectangle in WM_WINDOWPOSCHANGED handler in pmwindow.cpp. (client can change without affecting the frame window's size/position; previously we never sent an update) -> fixes wrong button position in RealPlayer Changed FCF_TITLEBAR selection. Removes some, but not all, unwanted windows from the tasklist. - INCLUDE\heapstring.h: Changed definition of lstrcpy(n)AtoW/WtoA - KERNEL32: CHanged lstrcpy(n)AtoW/WtoA Fixed bug in InterlockedExchange (ret 4 should be ret 8) -> fixes crashes in Mozilla viewer & WinAmp (2.5e) - LZ32: Removed prototype of lstrcpyAtoW 1999-12-04 Achim Hasenmueller - WSOCK32\NEW: Fixed bugs with incorrect relay window invocation Improved debugging messages, better error handling Works very well now, VP Buddy does not crash anymore Please test well, then it can be promoted 1999-12-04 Markus Montkowski - GDI32: Implemented DEFAULT_GUI_FONT for GetStockObject DIBSecttion now get the DC Palette on creation and updated if DC Pal changes. 1999-12-03: Sander van Leeuwen - USER32: Experimental WM_ERASEBACKGND change Ignore PM WM_ERASEBACKGROUND (return 1), always send one in BeginPaint and call BeginPaint/EndPaint in the default window handler for WM_(ICON)PAINT 1999-12-03: Christoph Bratschi - USER32: removed WS_* check in scrollbar code - GDI32: moved line API's to line.cpp 1999-12-03: Edgar Buerkle - GDI32: Fixes for CreateDCW & CreateICW - COMCTL32: Fixed PROPSHEET_CollectSheetInfo 1999-12-03: Jens Wiessner - OLE32: Corrected CoSetState Stub. - OLEAUT32: Changed return value (CreateDispTypeInfo) from S_OK to E_OUTOFMEMORY - NTDLL: Changed dprintfs for strcpy/strcat 1999-12-02: Patrick Haller - WSOCK32\NEW: Improvements. - INCLUDE: Some macro fixes in misc.h and odinwrap.h 1999-12-02: Sander van Leeuwen - USER32: Rewrote EnumThreadWindows/EnumWindows Fixed GetParent 1999-12-02 Markus Montkowski - GDI32: Implemented: CombineTransform, CreateDIBPatternBrush, CreateDCW, CreateEnhMetaFileW, CreateICW Fixed memory leak in GetTextFaceW (didn't free ASCII buffer) Enhanced StretchBlt to support DIBSections 1999-12-02: Achim Hasenmueller - WSOCK32\NEW: Not really working :( Fixed WSAAsyncGetHostByName, added request data to table 1999-12-01: Patrick Haller - WSOCK32\NEW: Working now :) 1999-12-01: Edgar Buerkle - KERNEL32: Removed check in CreateFileMapping (hFile == -1 && (protect & SEC_COMMIT)) - USER32: Added check for valid parent if window is child in ::SetWindowPos - SHELL32: SHGetFileInfoA: set pidlLast to NULL) 1999-12-01: Sander van Leeuwen - ODINCRT: Wrappers for allocation/free functions to prevent them from trashing FS. (happens when called from a thread ( that is not the main thread)) Also wrappers for new/delete calls. (for the same reason) - KERNEL32: Increase max nr of open files when DosOpen fails with ERROR_TOO_MANY_OPEN_FILES (OSLibDosOpen) Don't translate strings if api fails (FindFirstFileW/FindNextFileW) GetProcessTimes (TODO: Doesn't use RtlExtendedIntegerMultiply correctly!) - ADVAPI32: Fix for RegQueryInfoKeyW (return size = 0) - GDI32: Ported GetTextCharset & GetTextCharsetInfo (Wine: 991031) Ported Set/GetSystemPaletteUse 1999-11-30: Patrick Haller - WSOCK32\NEW: Experimental rewrite using PMWSOCK successful. One problem regarding ODIN message translation remains, TELNET works fine under debugger. 1999-11-30: Sander van Leeuwen - KERNEL32: Ported Wine process apis (not done) (kernel32\process.cpp) Unitialized data section bugfix. - NTDLL: Fixed exports (missing ordinals) and created correct library - ADVAPI32: Call security apis in ntdll (security.cpp; Wine 991031) 1999-11-30: Jens Wiessner - CRTDLL: Completed GetMainArgs Implemented several functions. - MSVCRT: Made some changes and implemented new functions. Now builds msvcrt, msvcrt20 & msvcrt40 dlls. 1999-11-30: Vitali E. Pelenyov - KERNEL32: Another VirtualProtect bugfix 1999-11-30: Daniela Engert - USER32: eliminate superfluous background erases (part 1) 1999-11-29: Sander van Leeuwen - KERNEL32: Added EnumResourceTypesA/W (not tested) - USER32: Get/SetActiveWindow bugfixes (don't return OS/2 wnd handles) 1999-11-29: knut st. osmundsen - ODINCRT: Added experimental console hack in initterm.cpp. - PE2LX: Kernel32.dll is the first entry import module name table. This makes kernel32.dll init first. - KERNEL32: Odincrt.lib is the first library to be included during linking. This hopefully will make odincrt init first. - KERNEL32: Implemented EnumResourceNamesA/W. Added a test skeleton for Kernel32 in the src\kernel32\test directory. 1999-11-28: Jens Wiessner - CRTDLL: Implemented several functions that used to be stubs. 1999-11-28: Sander van Leeuwen - COMDLG32: Merged with latest wine code (CVS tree dated 991126) 1999-11-27: Jens Wiessner - MSVCRT: Added stubs 1999-11-27: Christoph Bratschi - USER32: fixed edit bugs ported WINE monitor code and implemented PM driver 1999-11-26: Sander van Leeuwen - USER32: Implemented GetInputState and GetQueueStatus Rewrote MsgWaitForMultipleObjects for waiting on 0 objects (== waiting for messages) - KERNEL32: TLS bugfix (callback == 0) 1999-11-25: Vitali E. Pelenyov - USER32: Extended key fix (for cursor keys in Quake 2/Hexen 2 etc) 1999-11-26: Christoph Bratschi - USER32: fixed rect mapping -> edit scroll redraw bug fixed WM_ERASEBKGND: brush or system color 1999-11-25: Sander van Leeuwen - KERNEL32: Removed hardcoded dependency on ADVAPI32 (cpu.cpp); fixes logging of multiple apps. TLS bugfix (exception arrived too early; print info later on) Continue during OSLibDosAliasMem if size != range (needs to be fixed) Allow executables to export functions (MS Word) - USER32: PUT BACK GetWindowContextHelpId & SetWindowContextHelpId - USER32: Win32BaseWindow::SetParent bugfix (setparent(0)) Changed broadcasting of messages. Check all valid window handles. (TODO: Not efficient) SetWindowLong (GWL_STYLE) fix; don't allow WS_VISIBLE or WS_CHILD bit changes. (Wine does this and Pinball & Wordpad crash if it is allowed) Changed WM_SETREDRAW default handler to directly change style (not call SetWindowLongA) Fixed bugs in GetWindow. - INCLUDE\OS2WRAP.H: Wrong macro fixed (GpiCreatePS didn't have any renaming -> FS corruption) 1999-11-25: Edgar Buerkle - KERNEL32: MultiByteToWideChar & WideCharToMultiByte Wine port (991031) 1999-11-24: Sander van Leeuwen - USER32: Fixed desktop window handle (shouldn't be 0) Added support for broadcasting messages (in post/sendmessage) (Note: might not be complete correct to use WinBroadcastMsg) Changed Post(Thread)MessageA/W; now packs message info in shared memory buffer and posts it using a specific PM message. - KERNEL32: Return kernel32path\win in GetWindowsDirectoryA if neither the env variable or odin.ini key is present. (also create this dir) Fixed incorrect dll & exe renaming. 1999-11-24: Christoph Bratschi - USER32: added missing button styles and messages several bug fixes 1999-11-23: David Raison - OLE32: Fixed buffer size error in StringFromGUID2. - OLEAUT32: Rearranged iPicture 1999-11-23: Sander van Leeuwen - USER32: Added stubs for ChangeDisplaySettingsExA/W Ported Wine EnumDisplaySettingsA/W (991031) Query display color depth during init. - KERNEL32: Ported and adapted Wine GetSystemInfo (now creates both cpu & fpu registry keys) Added code for SMP machines (GetSystemInfo) Added IsProcessorFeaturePresent 1999-11-23: Vitali E. Pelenyov - USER32: ChangeDisplaySettingsA bugfix - WSOCK32: Compile fix (include two more headers) 1999-11-22: Patrick Haller - WSOCK32\NEW: Experimental rewrite using PMWSOCK, incomplete yet 1999-11-22: Edgar Buerkle - KERNEL32: Workaround in HMWaitForSingleObject for Open32 handles (i.e. process handles) - USER32: Extra checks in wvsnprintfA/W Check if InfoPtr == NULL in STATIC_SetBitmap - GDI32: SetDIBits support for DIB sections 1999-11-22: Sander van Leeuwen - KERNEL32: Add default renaming profile keys (ole32 & netapi32) to odin.ini if they're not already there. (during init) DosAliasMem fix; removed ReadFile hack. - KERNEL32: Rewrote pe loader for on-demand loading of sections Currently all sections are preloaded because of problems with page faults in dprints. - USER32: Removed GetIconInfo hack. Causes problems for other apps. TODO: Double height reported by Open32 for color icon masks! 1999-11-22: Vitali E. Pelenyov - KERNEL32: VirtualProtect bugfix 1999-11-21: Christoph Bratschi - KERNEL32: Fixed trailing newline bug in LoadMessageA/W, updated to WINE 991031 level - USER32: fixed window text handling added static WM_GETTEXT for SS_ICON style 1999-11-21: Achim Hasenmueller - USER32: send WM_SETTEXT for edit and static text controls in SetWindowTextA/W Fixes for original Windows colors (still not accurate though) - COMCTL32: stubbed ImageList_Read and ImageList_Write - implementation missing because OLE stream support required 1999-11-19: Christoph Bratschi - USER32: fixed listbox scrolling 1999-11-14: Achim Hasenmueller - COMCTL32: Merged with WINE 991114 1999-11-18: knut st. osmundsen - KERNEL32: Win32Pe2LxImage didn't issue the setFullPath(szFileName) call during construction. Added a invalid pointer test in OS2Heap::Free which checks that lpMem is within the user address space. (Fixes WinZip 7.0 crash.) 1999-11-17: Christoph Bratschi - USER32/COMCTL32: Fixed cursor handling *****************************Official Alpha 5 version********************************* 1999-11-14 Markus Montkowski - DDRAW: Code cleanup and some fixes in handling blts in the virtuel buffers. Set IOPL =3 for all DXgames needed for RA (Red Alert). - DSOUND: Implemented a fake soundcard so that the bufferpos does advance. Needed for RA. ToDO: Use better calulation for HiresTimers 1999-11-14: David Raison - OLEAUT32: Tidy up IPicture implentation - now handles fOwn. 1999-11-14: Achim Hasenmueller - COMCTL32: Fixed strdupAtoW/WtoA calls Implemented missing undocumented string functions 1999-11-14: Sander van Leeuwen - USER32: Implemented GetMenuItemRect Fixed SetParent bug (use frame (not client) handle) Fixed createControls for dialogs (set windowname for ids) Ported LookupIconIdFromDirectory(Ex) (Wine, 991031) Fixed OSLibWinEnableWindow (need to enable/disable both frame and client) Partly ported Wine CopyImage for cursors & icons (disabled because it doesn't work correctly) Workaround for double height of icon masks -> doesn't work 100% correctly and IS A DIRTY HACK. (Open32 bug) 1999-11-14: Edgar Buerkle - USER32: Fixed WindowFromPoint 1999-11-14: David Raison - OLEAUT32: Added beginnings of IPicture interface for VB6 support. Mostly stubs, but enough to get a simple VB6 app started. ICreatePictureIndirect updated. 1999-11-13: Christoph Bratschi - USER32: fixed more edit bugs merged controls with wine-991031 1999-11-13: Sander van Leeuwen - KERNEL32: Fixed problem with ReadFile & aliased memory (DosRead doesn't like writing to memory addresses returned by DosAliasMem -> search for original memory mapped pointer and use that one) -> fixes problems in Lotus Notes 5.0 Also commit these pages before calling DosRead as exceptions in the kernel can't be handled by us. - KERNEL32\PELDR: Better error reporting - COMDLG32: Fixed bug in strlen: first check if pointer != NULL (FILEDLG95_InitUI) Bugfix: ofn->lpTemplateName can be string id, so don't always treat it as a string Check pointer returned by CBGetItemDataPtr, if != -1, then it's a string. (FILEDLG95_OnOpen) 1999-11-12: Christoph Bratschi - USER32: fixed several edit bugs 1999-11-12: Sander van Leeuwen - GDI32: Changes + fixes in DIBSection bitblt (fixes Quake 2) - KERNEL32: Added handlemanager class for device drivers Put devio.cpp in device driver class. (NOT TESTED) 1999-11-12: Edgar Buerkle - KERNEL32: Wrote file io replacement apis (preliminary version) (not enabled) 1999-11-12: Jens Wiessner - IMAGEHLP,IMM32,OLECLI32,OLEDLG,OLESVR32,PSAPI,RASAPI32 Updates - MSVCRT: Added stubs 1999-11-11: Sander van Leeuwen - USER32: Implemented GetWindowContextHelpId & SetWindowContextHelpId Implemented GetKeyboardState (NOT TESTED) Ported SwitchToThisWindow, GetKeyboardLayout, TranslateCharsetInfo GetKeyboardLayoutNameA/W (991031) Fixed Win32Dialog::SetWindowLongA for dlg proc. - GDI32: Implemented EnumFontsA/W. Fixed bugs in EnumFontFamiliesW (NEWTEXTMETRICW is different from NEWTEXTMETRICA) - KERNEL32: Turn off debugging by default when compiling the nodebuginfo build (can be enabled by setting the env. variable WIN32LOG_ENABLED) Fixes for GetVersionSize/Struct for images that aren't loaded. Fixed heap corruption in GetEnvironmentVariableW. 1999-11-10: Christoph Bratschi - USER32: ShowScrollBar: create not existing scrollbars 1999-11-10: Sander van Leeuwen - KERNEL32: Rewrote OSLibDosAllocMem to only return addresses aligned at 64kb boundaries (that's what NT's VirtualAlloc does and it fixes problems with MS Word & StarCraft) Fixed wrong dprintf in GetProcAddress. Added code to VirtualAlloc for committing pages of memory mapped files. (Word needs this) - USER32: Implemented WindowFromDC Call WinWaitMsg from WaitMessage instead of calling Open32 api. Added wvsnprintfA export (required for NTDLL) - NTDLL: Link with user32.lib, don't import by name directly (needs to be done for the kernel32 forwards too) - GDI32: Removed flipping of bitmaps in dibsection (no longer necessary) 1999-11-10: Patrick Haller - COMDLG32: Fix: erroneous filter data for GetOpenFileName now tolerated Open32 keeps to close to the docs :) - SHELL32: Add: update to WINE19991108 - GDI32: Add: Font remapping via ODIN.INI (MS Sans Serif -> WarpSans) 1999-11-10: knut.st.osmundsen - PE2LX: Added OLE32 to the lie list. New Base class. - WIN32K: Disabled Yield - this solves problems running win32k at SMP kernels and logging problems on all kernels. Added some parameters. 1999-11-09: Rene Pronk - USER32: Added support for control mnemonics (Alt-key sends BM_CLICK to buttons if key == mnemonic for that control) 1999-11-09: Christoph Bratschi - GDI32: fixed line functions -> don't draw end pixel - COMCTL32/USER32: removed some old workarounds - USER32: fixed system resource handling 1999-11-09: Sander van Leeuwen - OLE32: Renamed dll to OLE32OS2 to avoid conflicts with Lotus SmartSuite's OLE32.dll - OLE32/OLEAUT32/AVIFIL32: compilation fixes - KERNEL32: Fixed lstrcpynAtoW & lstrcpynWtoA, OS/2 unicode api translated up to maxlen characters -> heap corruption in Solitaire. Translate upto min(stringlength+1, maxlen). Also, terminate at strlen(strlength), not maxbuf-1 (lstrcpynWtoA) - KERNEL32: Added code for renaming dlls (i.e. OLE32 <-> OLE32OS2) Odin.ini in bin directory needs to be present for PE loader (includes renaming entries for OLE32 & NETAPI32) NOTE: Dll name in ole32.lib has changed, so a complete recompilation is required! NOTE 2: We might need to add some code to the file io apis in case dirty apps try to read directly from system dlls. - KERNEL32: No need to export private apis by name & ordinal (ord is enough) - INCLUDE\odinwrap.h added wrappers that don't print dbg messages (regardless of whether DEBUG is defined or not) - INCLUDE\misc.h: Added dprintf2 function for extensive logging - KERNEL32,USER32, replaced commented out dprintf calls with dprintf2 Changed makefiles to enable dprintf2 (DEBUGALL) - KERNEL32: Wrapper heap apis with ODIN* macros. -> fixes FS corruption - USER32: Fixed LoadMenuIndirectW (didn't call new code) 1999-11-09: Patrick Haller - NTDLL: Add: various new functions added (DbgXXX) 1999-11-08: Markus Montkowski - WING32: Added first implementation of this old 32bit DLL. 1999-11-08: Edgar Buerkle - KERNEL32: SetCurrentDirectory, CreateDirectory, RemoveDirectory bugfixes. (remove terminating backslash if present) 1999-11-08: Patrick Haller - COMCTL32: Fix: EDIT: if obtaining font information fails, prevent division by zero - NTDLL: Add: numerous integer arithmetic functions added 1999-11-08: Sander van Leeuwen - KERNEL32: Fixed bug in thread handler (exception handler set at wrong moment) Ported Wine critical section code (991031), Open32 doesn't correctly fill in the CRITICAL_SECTION structure. Limit size of memory mapped files. - USER32: PostThreadMessageA/W fix 1999-11-06: Sander van Leeuwen - DINPUT: Ported Wine code (991031) (not tested yet) - USER32: Added code for sending mouse events to dinput.dll Added PM <-> win32 key translation (used in dinput.dll) 1999-11-06: Edgar Buerkle - USER32: GetMenuStringW fix 1999-11-05: Achim Hasenmueller - COMCTL32: Source code cleanup, remove warnings, corrected typecasts Added logging, warnings for stub functions - KERNEL32: Source code cleanup, fix warnings - USER32: Source code cleanup, fix warnings 1999-11-05: Patrick Haller - COMCTL32: Fix: TREEVIEW_Edit_Subclass is called with freed infoPtr This only cures the symptoms, not the origin! 1999-11-05: Sander van Leeuwen - USER32: Fixed InsertMenuA Message translation fix for WM_USER+n messages (GetMessage) Extra translation. Rewrote/Ported LoadStringA/W (similar to Wine now) - KERNEL32: Changed FindResource, string id translation should be done in LoadStringA/W (done that way in Wine) Fixed GetModuleHandleA 1999-11-05: Jens Wiessner - MSVFW32: Updated to Wine level 991031 - IMM32: Replaced some FIXME entries with dprintf; - KERNEL32: Added _wsnprintfA to .DEF file for export (MSACM32 needs this) - INCLUDE: New MSACM.H from Wine991031 (MSACM32 needs this) - MSACM32: New MSACM32.DLL (Ported from Wine9910131) 1999-11-05: Edgar Buerkle - GDI32: Fixes for StretchDIBits & GetDIBColorTable - USER32: Fixes for ArrangeIconicWindows & ShowOwnedPopups NULL pointer checks in hasWindowName/hasClassName/FindClass Message translation fix for WM_USER+n messages - OLE32: Always create OLE window class - KERNEL32: Null pointer check in lstrcmpiA - SHELL32: Corrected export of Shell_GetCachedImageIndex 1999-11-04: Sander van Leeuwen - SHLWAPI: Fixed makefile - USER32: Put back Dani's dialog fix (WS_CLIPSIBLINGS bit for dialog controls) (fixes winhlp32 & comboboxes) 1999-11-04: Patrick Haller - WNETAP32: Add: numerous undocumented functions stubbed - ADVAPI32: Add: LsaXXX-functions stubbed - USER32: Fix: wvsprintfA/W fixed (buffer overwrite) - KERNEL32: Fix: unnamed kernel objects (events, mutexes, semaphores) 1999-11-03: knut st. osmundsen - Makefiles: Changes to build the libraries first 1999-11-03: Sander van Leeuwen - COMDLG32: Import from shlwapi as the original Wine code does - SHELLL32: Added exports - SHLWAPI: Link with shell32.lib for forwarders + added exports - USER32: Fixed mouseactivate for subclassed OS/2 windows (scrollbars) Fixed CreateIconIndirect (Wine file dialog now shows button icons correctly) Don't clear WS_CLIPSIBLINGS bit in OSSetWindowStyle. Removed fix in PMFRAME WM_ADJUSTWINDOWPOS: Previous fix breaks a lot of apps (button.exe/style.exe/header4.exe) (fix = call default frame handler when receiving this msg when the window hasn't been 'created' yet) 1999-11-03: Christoph Bratschi - USER32: fixed modal dialogs added WM_CONTEXTMENU - COMCTL32: implemented statusbar size grip 1999-11-03: Patrick Haller - KERNEL32: Fix: undocumented behaviour in SearchPathA and bugfix in SearchPathW - USER32: Fix: TrackPopupMenuEx lpPM can be NULL Fix LoadBitmapA checked for incorrect return value 1999-11-02 Markus Montkowski - DDRAW: Changed debug output to DDRAW: ... Copied Framebuffer if in colorconversion mode for Normal Blits to the primary surface. => Map Editor of Red Alert works. 00-11-02: Achim Hasenmueller - COMCTL32: Incorporated latest WINE 991031 updates Note: listview doesn't paint properly now. Will be fixed later. 1999-11-02: Markus Montkowski - DDRAW: Changed interface handling of Surfaces=> Quake 2 runs again! 1999-11-02: Patrick Haller - SHELL32: Up to current WINE level - SHLWAPI: Created (in WINE it mostly links to SHELL32) 1999-11-02: Sander van Leeuwen - INCLUDE\odinwrap.h: fixed wrong define (_ODINWARP instead of _ODINWRAP) Only check the heap for consistency when DEBUG_ODINHEAP is defined. - USER32: Uncommented EDIT_NOTIFY_PARENT call in EDIT_WM_SetFocus (yesterday's showwindow fix makes sure no WM_SETFOCUS msgs arrive before the dialog received it's WM_INITDIALOG msg) Fixed more FS corruption in dc.cpp. - SHELL32: Added extra exports for comdlg32 - COMDLG32: Ported Wine file & find common dialogs (991031) Find & Replace dialogs enabled, Wine code called for file dialogs if the app supplies a dialog template. NOTE: Disabled for now. Comctl32 isn't stable enough for the Win95 style Wine comdlg dialogs. Fixed check for find/replace dialog. Notepad uses 32 byte buffer, so why does the wine code fail for < 80 bytes? Fixed display of find/replace dialog -> if not hooked show dialog! - makefiles: Added debugsmp/nodebuginfosmp/releasesmp options to start two nmake process to build everything on two cpus. 1999-11-01: Sander van Leeuwen - USER32: Delete all process windows & classes in exitlist handler Set hwndInsertBehind to HWND_BOTTOM for group boxes (fixes problems when groupbox control is defined after controls inside it in dialog template) Mouse activate fix. Don't activate child windows in ShowWindow. - WINMM: Return failure for waveOutGetDevCapsA/W when there's no audio hardware present. 1999-11-01: Daniela Engert - USER32: add WS_CLIPSIBLINGS to not-WS_GROUP style STATIC controls (fixes missing text in WELCOME) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! This is a hack! Dialog controls which contain/surround other controls *need* to be created with the WS_CLIPSIBLINGS style. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1999-10-31: Christoph Bratschi - KERNEL32: Ported Wine time apis 1999-10-31: Daniela Engert - USER32: add WS_CLIPSIBLINGS to BS_GROUPBOX style controls (fixes missing buttons in SOL) 1999-10-31: Sander van Leeuwen - USER32: Remove CS_SYNCPAINT class flag -> fixes VPBuddy resize + paint Put back methods that belong in the Win32Dialog class. (MapDialogRect, DIALOG_Init, several x & y unit helpers) -> fixes calc window controls. 1999-10-30: Christoph Bratschi - USER32: added button control text justification GetNextDlgTabItem/GetNextDlgGroupItem must work with all windows -> radiobuttons fixed scrollbar timer handling pmframe: fixed WM_ACTIVATE bug 1999-10-29 Markus Montkowski - GDI32: Fixed bug in CreateDIBSection, only copy ptr when ptr. var not NULL. Added DIBSections to GetObject_A, so programms can query a DIBSECTION for the obj. 1999-10-30: Daniela Engert - USER32: Fixed missing repaints for transparent windows (VPBuddy!) 1999-10-30: Sander van Leeuwen - USER32: Ported Wine MapDialogRect -> fixes Calc dialogs 1999-10-30: Edgar Buerkle - USER32: Port Wine ascii <-> unicode message conversion for user32 controls (Wine controls only support ascii msgs) 1999-10-30: Jens Wiessner - MSVCRT: Fixed .def file 1999-10-29: Christoph Bratschi - USER32: rewrote scrollbar code added static styles 1999-10-29: Sander van Leeuwen - USER32: Changed font size multiply factor, negated it and fixed default dialog unit bug. Fixed MDI destroy bug WM_SETICON bugfix. 1999-10-29: Sander van Leeuwen Rene Pronk - USER32: Focus fixes. Activate a window when it receives a button click message. 1999-10-29 Markus Montkowski - DDRAW: Changed logging, loginfo now in odin32_x.log for the first time... 1999-10-28: Edgar Buerkle - USER32: LoadBitmapW fix ModifyMenuW/InsertMenuW fixes. Call CallWindowProcA/W in Send(Internal)MessageA/W (in preparation of Wine unicode msg translation port) Always call default window handler for WM_PAINT. Apparently there are apps that return 0, but don't call BeginPaint. Added extra messages for msg translation. 1999-10-28: Sander van Leeuwen - ADVAPI32: Fixed dprintf bugs in OpenSCManagerA/W (%s instead of %d) - makefiles: Added nodebuginfo build option to build debug binaries without debug information. (for upcoming alpha release) - KERNEL32: GetVersion fix. Low byte = major version, high byte = minor version Destroyed shared heap on dll unload (refcount == 0) Shared heap fixes. GetWindowsDirectory & GetSystemDirectory return string that don't end with a backslash. Fixed loading of dlls without .dll extension. Fixed OSLibStripPath. - USER32: Fixed style conversion (use dwStyle, not cs->style, same for dwExStyle) -> title bar in prof. minesweeper Fixed bug in pmframe WM_WINDOWPOSCHANGED handler (didn't restore OS/2 selector before returning) Don't delete global window classes. Removed shared heap, use the one in kernel32 instead. Fixed OSLibSetStyle & SetWindowLong for GWL_STYLE (wrong style used) Fixed win32 to OS/2 style conversion (DLG frame) Fix for timer messages in apps that use PeekMessage/DispatchMessage instead of GetMessage/DispatchMessage. Translation of extra messages. 1999-10-28: Jens Wiessner - MSVCRT: Added stubs 1999-10-27: Patrick Haller - KERNEL32: Fix: console (unicode) updates, NT4'S CMD.EXE works. WARNING! lstrcpynAtoW has been modified, PLEASE VERIFY! 1999-10-27: knut st. osmundsen - WIN32K: It's working! At least on my testmachine running the WSeB astrict UNI kernel and the Warp 4 astrict kernel. 1999-10-27: Sander van Leeuwen - KERNEL32: If dll can't be found, look in directory of kernel32 (PE loader) Fixed iLoadLibrary (added .dll if it couldn't find this string in the module name; now only does that if it can't find a '.') Implemented WinExec using CreateProcessA. Fixed file mapping view lookup bug. Views are now again stored in per-process data segment. Delete process memory maps in exitlist too. - KERNEL32: Fixed bug in icon conversion (rgb only for <= 8bpp) Added support for color cursors (needs more testing but seems to work) - USER32: Added support for color cursors Fix for class lookup in CreateWindowExA/W 1999-10-26: Sander van Leeuwen - USER32: Fixed bugs in menu apis (Append/InsertMenuA/W) Fixed InsertMenuItemA/W. Finished up Patrick's work -> regedit menus now correct In winmenu call only ODIN_* menu apis; decreases amount of logging and increases speed. - KERNEL32: Removed menu resource + non-used resource methods Fixed FS selector corruption in GetLocaleInfoA/W (use ODINFUNCTION wrapper as it calls a OS/2 unicode api that has no FS wrapper) - PELDR: Increased stack from 192k to 640k (Quake 2 ran out of stack) - DSOUND/DDRAW: Fixed FS selector corruption in logging procedures ---> Quake 2 works again (Yeah! :) ) NOTE: Quake 2 3.20 only starts the first time. Seems to change something in the config.cfg file that crashes it the next time you run it. (workaround: save original config.sys and restore it afterwards) 1999-10-26: Patrick Haller - USER32: Add: Ported Wine menu(ex) parser and integrated it into menu code - WINMM: Fix: invalid callback check in dwaveout.cpp (Q2 makes noise again) 1999-10-25: Sander van Leeuwen - USER32: Removed SetFocus call in Edit control (WM_LBUTTONDOWN) Virtual key translation table change (VK_RETURN (PM) -> 0x0A VK_ENTER (PM_ -> 0x0A (VK_RETURN)) (fixes problems in edit control, but might not be a good fix) Never call default window handler (PM) after WM_CHAR -> PM sends the WM_CHAR to the owner window -> focus changes in notepad. - USER32: (menus) Rewrote LoadMenuIndirectA/W to use OS/2 apis Implemented GetMenuInfo & SetMenuInfo (just store new info; nothing else done) Implemented GetMenuContextHelpId/SetMenuContextHelpId (based on Wine build 990815) Partially implemented GetMenuItemInfo. NOTE: Needs a complete rewrite. - INCLUDE\win\commctrl.h: Changed back calling convention of callback handlers to CALLBACK. -> fixes crashes in SHELL32 (DPASearch calls) 1999-10-25: Achim Hasenmueller - KERNEL32: Added ReinitializeCriticalSection, ported WINE code for this function and UninitializeCriticalSection 1999-10-25: Patrick Haller - ODINWRAP: Fix: Bugfix + Heap Check embracing every wrapper function - NTDLL: Add: functions by Jens Wiesner - KERNEL32: Fix: enable WIN32.DEBUGBREAK environment variable for DebugBreak() API - WSOCK32: Fix: invalid structure alignment for asynchronous operations 1999-10-25: Markus Montkowski - DDRAW: Fixed bug in Color conversion of surfaces DDEX1.EXE now works, Get/ReleaseDC functions are working, but problem with Bitmap orientation DDRAW surfaces are TopDown DCs Bmps are BottomUp this neeeds to be solved (any way to create a TopDown DC Bmp?) 1999-10-24: Sander van Leeuwen - USER32: MDI window fixes (mdi children correctly activated; menus inserted) Bugfix in WM_GETTEXT of Edit control (wrong string length) Only create global classes when CS_GLOBALCLASS flag specified Create system classes only every first time user32 is loaded and only unregister them when the last win32 app quits. Converted all OS/2 bitmaps to windows format and put them in user32.rc (deleted all bmp files) - USER32, COMCTL32, SHELL32: Don't check if control atom already exists, always register control. NOTE: Global classes have a global atom, but the class objects are NOT shared! (so you must recreate them for every app) - KERNEL32: Implemented shared memory mapped files (SDK memory sample works for shared memory; haven't tested files and it requires more testing!) Added shared heap code for memory mapped objects 1999-10-24: Daniela Engert - KERNEL32: Fixed cursor in VPBuddy (invalid size) 1999-10-23: Christoph Bratschi - USER32: added more metrics for GetSystemMetrics added WM_SYSTIMER support several scrollbar bug fixes 1999-10-23: Sander van Leeuwen - USER32: Put back WM_ADJUSTWINDOWPOS/WINDOWPOSCHANGED into pmwindow.cpp Put message logging procedure in wndmsg.cpp. Don't log WM_KICKIDLE & WM_NCHITTEST messages. (sent too often) Don't set capture to listbox window in comboboxes (after lbuttonup) Use wrc to compile USER32 resources + added version resource Fixed PMFRAME window position handlers and put them back. (comboboxes now displayed properly) - KERNEL32: Write logfiles to directory of kernel32 if executable is on readonly device. Fixed CreateProcess. Added support for GetVersionSize/GetVersionStruct for images that aren't loaded. (LX or PE; PE not tested!) - DSOUND: Made it compile again. (always pretends there's no soundcard in the system) - SHELL32/COMCTL32: Changed file description in version resource 1999-10-22: Daniela Engert - KERNEL32: fixed bad icon masks 1999-10-22: Sander van Leeuwen - WINMM: Fixes for waveout playback (don't use callback when there were errors when opening the device; return the correct number of devices present) (Pinball no longer crashes when there's no soundcard (driver) in OS/2) Disabled logging of timeGetTime - KERNEL32: Disabled logging for _lread (calls ReadFile which does it's own logging) Return XCPT_CONTINUE_SEARCH for unhandled exceptions if an OS/2 app uses the Odin32 api. (instead of killing the app) - COMCTL32: Fixed tab width bug. (GetTextExtentPoint32A used for unicode strings) Use Wine resource compiled with wrc. Removed all Native* resource loading. Added version resource. - USER32: Fixed corruption of OS/2 exception chain in dc.cpp & caret.cpp (fixes dll loading after the exe has started; i.e. after clicking on the Find tab in winhlp32's Search dialog) Do not send WM_COMMAND messages to the window handler before it has receive it's WM_CREATE msg. Winhlp32 crashes when that's done before WM_INITDIALOG, but VPBuddy no longer responds to buttons when you refuse to send messages before WM_INITDIALOG. (TODO) Send WM_WINDOWPOSCHANGING/CHANGED messages from frame handler. Fixed MapWindowPoints. - INCLUDE\os2wrap.h: Fixed infinite recursion in GpiDestroyPS 1999-10-22: Edgar Buerkle - USER32: TrackPopupMenu(Ex) fixes (window handle translation) - KERNEL32: HeapReAlloc bugfix (copy min(oldsize, newsize) bytes) 1999-10-21: Sander van Leeuwen - KERNEL32: Increase reference count for LX dlls. (RegisterLxDll) Set memory protection flags to READONLY for PAGE_NOACCESS - USER32: Added support for SWP_NOSIZECHANGING to SetWindowPos Fixed WM_ADJUSTWINDOWPOS (when position/size changed by app) Combobox fixes (simple combobox works, more complex don't) Don't check instance handle if handle == handle of exe for class lookup. - GDI32: Fixed bug in DIBSection ctor (next ptr not initialized) 1999-10-20: Edgar Buerkle - GDI32: Implemented EnumFontFamiliesA/W 1999-10-20: Sander van Leeuwen - USER32: Added support for WM_WINDOWPOSCHANGING in default window handler (ported from Wine 990815) Convert back windowpos structure in WM_ADJUSTWINDOWPOS (NOT DONE) Bugfixes for PM WM_WINDOWPOSCHANGED handling & OSLibMapSWPtoWINDOWPOS. (Win32 WM_WINDOWPOSCHANGED now also sends window coordinates, not client) Rewrote MapWindowPoints. (NOTE: Needs to be tested!) Combobox bugfix (resizing listbox using old rectangle -> get current one) 1999-10-20: Patrick Haller - WSOCK32: Partial rewrite of WSA async sockets completed. 1999-10-20: Christoph Bratschi - KERNEL32: Ini file for Odin settings (i.e. windows & system dir) Added Odin.ini.txt 1999-10-19: Sander van Leeuwen - KERNEL32: FindResource bugfix: "DIB" type is the same as "BITMAP" (VPBuddy fix) NOTE: Currently disabled. VPBuddy expects something other than a pointer to the raw resource data for such bitmaps. (TODO) - USER32: Windows without a parent have the desktop window as parent. MDI additions. Combobox bugfixes. GetWindowTextA/W bugfixes (return 0 if there's no window name) 1999-10-19: Yuri Dario - USER32: Initialize MDI client variables before calling Win32BaseWindow constructor 1999-10-19: Jens Wiessner - RASAPI32: Added stubs 1999-10-19: Daniela Engert - USER32: excessive background erases tamed 1999-10-18: Sander van Leeuwen - USER32: Set/clear WS_VISIBLE flag in ShowWindow Fix for scrollbar redraw Put back original Wine code for LISTBOX_UpdateScroll. Rewrote EnumChildWindows (winzip works quite well now!) 1999-10-18: Edgar Buerkle - COMDLG32: Disable comdlg hooks for now. They don't work anyway. 1999-10-17: Sander van Leeuwen - USER32: Ported AdjustWindowRectEx from Wine (990815) Changed GetClientRect to return rectangle stored in window object. Ported (Begin/End)DeferWindowPos from Wine (990815) Ported GetWindow from Wine (990815) Fixed dialog control creation bug (create ascii controls when parent window is ascii) Implemented SetWindowPlacement (not complete done) Fixed GetWindowPlacement (handle translation), still needs to be implemented though. Don't change PM window style in WM_DESTROY handler -> crash in PMMERGE Bugfixes for Enum(Thread/Child)Window (wrong call to get object ptr) Fixed FindWindowEx method to map frame window to object ptr. Fixed WM_WINDOWPOSCHANGED handler for scrollbars (set window & client rectangle) Fixed WM_MOUSEMOVE handler for scrollbars (return 1 to let PM change the mouse cursor back to the default) Fixed GetDlgItem. According to SDK docs this api should work for any parent-child pair. (behaviour seen in VPBuddy) Added MFC message support for message printfs 1999-10-17: Christoph Bratschi - USER32: replaced OS/2 scrollbars by WINE scrollbars BUG: SCROLL_RefreshScrollBar doesn't work GetDC returns a wrong DC, BeginPaint works as it should Send as few WM_ENTERIDLE messages as possible -> low CPU usage pmframe: removed WinFillRect implemented: DrawIcon/DrawIconEx fixed static icon size pmframe: added PSF_CLIPSIBLINGS 1999-10-17: knut st. osmundsen - KERNEL32: Removed exception throwing from Pe2Lx classes. Implemented TLS support in Pe2Lx classes. 1999-10-16: Yuri Dario - USER32: Button bugfix (BUTTON_CheckAutoRadioButton) Win32dlg.cpp: cosmetic changes - include\os2wrap.h: define inline as _inline in C mode - include\win\winsock.h: Added prototypes - src\makefile: shell32 depends on ole32 & version, build it after those two dlls - SHELL32: Replaced full path with CPPMAIN for wrc parameters - win32k/makefile: replaced full path with macros - WSOCK32: Build export library (impdef to create correct .def) 1999-10-16: Sander van Leeuwen - USER32: Don't process size messages before sending WM_NCCREATE message when creating a window. (can mess up our window and client rectangle) Erase background for buttons. (fixes groupbox redraw problems) isFrameWindow bugfix + MDI creation & WM_NCCALCSIZE bugfix 1999-10-15: Sander van Leeuwen - USER32: CBT Hook bugfix. Only respond to WM_NCCREATE msg to send HCBT_CREATEWND. Scrollbar bugfix. Pass all msgs we don't use to default window handler. (used to do this only for > WM_USER --> return value of 0 for WM_NCCREATE cancels window creation) GetWindow bugfix. (related window can be frame window) Fixed window & child destruction process. - KERNEL32: Fixed VirtualQuery bug. 1999-10-15: Edgar Buerkle - USER32: Basic message translation to fix problems in win apps that wait for a specific message. (NOT COMPLETE) 1999-10-14: Sander van Leeuwen - USER32: Fixed WM_WINDOWPOSCHANGED (frame window rectangle) Partly implemented CopyImage (only simple copies of icons and cursors; FAR FROM COMPLETE!) Removed FillRect during WM_PAINT in subclassed frame handler. (still some redraw problems with i.e. button.exe; a little worse than before) 1999-10-14: Patrick Haller - KERNEL32: Fix: threads might need more memory in debug mode (thread.cpp) Fix: a little cleanup (virtual.cpp) Fix: lstrcpyAW taking NULL parameters (broken WINE controls?) (heapstring.cpp) - ADVAPI32: Fix: RegConnectRegistryA slightly improved 1999-10-14: knut st. osmundsen - PE2LX: New implementation in src\win32k\pe2lx. No resource conversion. I have tested it, but do expect to find some bugs. And when you find, please give me a hint. The new Pe2Lx uses much support code,(heap, printf..) from win32k. It also uses the sub-system CRT library (as win32k does). This way more of the win32k code will be tested in Ring 3, so there'll simply be less bugs to track down in Ring 0 and kernel debugger/ICAT. - KERNEL32: Win32???Pe2Lx classes is updated to match the new Pe2lX. Note that TLS is not implemented yet - it's in the line. Fix: Made a temporary fix in atom.cpp for some of the W functions. The string isn't allways a string... I do a permanent fix some other day. - WIN32K: Compiles and links. But Not Tested! 1999-10-14: Edgar Buerkle - USER32: lstrcmpW: check for null pointers RemovePropA SetPropA bugfixes (wrong wnd handle) 1999-10-14: Sander van Leeuwen - USER32: Fixed shrinking listbox in shell about dialog. (add border size to size during window creation & SetWindowPos) Support for WM_NCCALCSIZE. Not completely working yet. Fixed crash in Winhlp32 (annotate creates multiline edit control that received PM messages too early -> divide by 0) -> Don't allow WM_WINDOWPOSCHANGED messages until after WM_NCCREATE. Removed previous OSLibMapWINDOWPOStoSWP bugfix. Default dialog xBaseUnit = 10, yBaseUnit = 20. Only set FCF_TASKLIST bit when parent == desktop & window has titlebar. (too many Opera windows in tasklist) Clear unsupported frame styles (i.e. no titlebar & minimize/maximize button) Fixed MapOS2ToWin32Rectl & GetWindowRect. Removed code that adds bordersize during SetWindowPos & window creation. Fixed listbox code instead. (use window rectangle for SetWindowPos call, not client rectangle) - USER32: Rewrote window creation. All Odin windows are OS/2 frames. 2nd half of window/dialog creation carried out during OS/2 WM_CREATE message. Don't call default frame handler during WM_ADJUSTWINDOWPOS for child windows. Fixes incorrect position. Probably needs to be fixed again. NOTE: NOT WORKING CORRECTLY JUST YET!! - COMCTL32: Check infoPtr in toolbar during WM_ERASEBKGND - KERNEL32: Added wprocess.cpp dependency for include\win\thread.h Bugfix for loading dlls in pe loader -> increase reference count In iLoadLibrary first check if the dll has already been loaded. Fixed console initalization for pe loader apps. Fixed SetWin32TIB. Return current FS selector for Odin32 apps. Removed generic.exe fix in OS2UnsetExceptionHandler. (creates problems when loading multiple PE dlls with pe loader and generic.exe still works fine now) - SHELL32: use wrc from tools directory 1999-10-13: Patrick Haller - KERNEL32: Fix: XCPT_GUARD_PAGE_VIOLATION are now supported. (helps PROGMAN.EXE) - USER32: Fix: parameter checking in RedrawWindow Fix: temp fix for MsgWaitForMultipleObjects 1999-10-12: Sander van Leeuwen - USER32: DrawMenuBar & DrawCaptionTempA bugfix (window handle translation) Added Win32ToOS2FrameHandle method Set default mouse pointer back if app doesn't process WM_MOUSEMOVE message. Bugfix in button control -> return non-zero if WM_MOUSEMOVE message doesn't change the cursor. Same fix in edit & listbox control. Looks like the same bug is in the scrollbar code. Preliminary listbox fixes (scrollbar related) Don't show scrollbars when window is created. - USER32: Added support for extra messages in default window handler. Partial support for WM_SYSCOMMAND in default window handler. MDI child bugfix (window now displayed correctly) Only subclass frame when it has a 3d border OR *only* the WS_BORDER borderstyle. Fixed y mapping bug in OSLibMapWINDOWPOStoSWP (converted twice (win32 -> os2 -> win32)) - USER32: Set focus to edit control when receiving WM_LBUTTONDOWN - USER32: Don't send WM_COMMAND during WM_SETFOCUS in edit control when dialog hasn't been completely created. (crashes VPBuddy; can't find dialog control that hasn't been created yet) NOTE: EXPERIMENTAL FIX. NEEDS TO BE CHANGED. 1999-10-11: Christoph Bratschi - USER32: pmframe finished 1999-10-11: Sander van Leeuwen - USER32: Disabling the desktop window is a very bad idea. (desktop no longer responds to mouse clicks) Enable method in desktop window class that does nothing. Added support for extra messages in msg printf code Ported almost all Wine code for CTLCOLOR messages. Return -1 in DefWindowProc for WM_VKEYTOITEM & WM_CHARTOITEM Fix for MDI child window. They're now displayed, but it's still not right. - SHELL32: Fixed Shell32 about dialog. Compile Wine resource with WRC and link with dll. Added version resource Call Wine dll entrypoint in initterm.cpp. - INCLUDE: Only include stdlib.h when wrc is not active Extra definitions for compiling win32 apps in OS/2 1999-10-11: Edgar Buerkle - GDI32: GetTextFaceW bugfix - USER32: Init ownDC to 0 Create empty dialog in CreateWindowExA/W if class == dialog Support for class atoms in CreateWindowExA/W Win32Dialog::getNextDlgGroupItem() bugfix 1999-10-11: Christoph Bratschi - GDI32: Bugfix for Pie Open32 api 1999-10-10: Christoph Bratschi - USER32: fixed radio buttons, disabled text output 1999-10-10: Sander van Leeuwen - USER32: Ported GetNextDlgGroupItem & GetDlgItemInt from Wine Window handle translation fix for MessageBoxW Don't create frame windows for windows with a 3d border. (fixes crash in VPBuddy; don't know why) - COMDLG32: Fix for most unicode functions (window handle translation missing as reported by Edgar Buerkle) 1999-10-10: Edgar Buerkle - KERNEL32: Bugfix for GetFullPathNameW (NULL ptr check) 1999-10-09: Sander van Leeuwen - USER32: Clipboard fixes (window handle translation) Fixed button redraw when receiving a WM_ENABLE msg Use the supported Open32 system colors and only use those from Wine for the new (9x) colors - SHELL32: Moved old to current, current to old dir - KERNEL32: Don't switch FS selectors for Odin32 OS/2 apps (win32 apps compiled in OS/2). Fixed reversed stack top & bottom in TEB structure. - KERNEL32 Added code to dispatch OS exceptions to win32 apps. Doesn't seem to be necessary though, so it's inactive for now. - USER32: Fixed resizing in winhlp32. Doesn't seem to break anything else. (needs more testing though) Only increase y position of window if it's initial y <> 0. Fixed desktop window lookup (GetWindowFromHandle) Set dummy desktop window handler; Mdi client bugfix (reported by Yuri Dario) 1999-10-09: Jens Wiessner - CRTDLL: Implemented functions; only 62 stubs left 1999-10-09: Edgar Buerkle - USER32: Enabled accelerator WM_COMMANDs - COMDLG32: Fix for GetOpenFileNameW (owner hwnd translation) 1999-10-08: Daniela Engert - USER32: fix: miscoloured bitmaps 1999-10-08: Christoph Bratschi - USER32: added WM_STYLECHANGING/WM_STYLECHANGED. button,combo: bitmap fix. added frame to children with WS_* border flags subclass frame windows SendDlgItemMessageA/W fixed CheckRadioButton fixed merged controls with WINE 990923 1999-10-08: Edgar Buerkle - KERNEL32: Accelerator conversion fixes + changes 1999-10-08: Sander van Leeuwen - USER32: Bugfix for SetWindowPos; take frame size into account Removed WM_MOVE notification class flag for Odin PM windows Removed SetWindowPos frame size bugfix Removed WM_WINDOWPOSCHANGED cy bugfix Set WS_DISABLED window style bit when receiving PM WM_ENABLE GetClassInfoA bugfix Window property bugfixes (no handle translation) Set last error when window creation fails. In DefDlgProcA/W, call DefWindowProcA/W if window is not a dialog. Fixed problems in VPBuddy. Unknown if that's a bug in the app or something else goes wrong. - KERNEL32: Bugfix for loading winspool Ported latest Wine exception code (RtlRaiseException/RtlUnwind) 1999-10-07: Christoph Bratschi - USER32: GetCaretPos() fix 1999-10-07: Achim Hasenmueller - USER32: Corrected pageup/pagedown behavior 1999-10-07: Rene Pronk - USER32: Fixed WM_WINDOWPOSCHANGED behavior so that client windows are properly resized. This fixes the Winhlp32 history resize problem 1999-10-07: Edgar Buerkle - USER32: Set window PM id for Odin windows. Bugfix for WM_QUERYWINDOWPARAMS handler Case insensitive string compare in CreateWindowExA/W for mdi client class check. Create ascii or unicode mdi child window based on mdi client window type. 1999-10-07: Jens Wiessner - CRTDLL: Includes all functions (added stubs and fully implemented functions) 1999-10-07: Sander van Leeuwen - USER32: Only display scrollbars when they need to be shown. (also fixes redraw problems with inactive scrollbars) Resize bugfix. Winhlp32 can now be resized without problems. Whether this fix is correct is another matter. 1999-10-06: Daniela Engert - USER32: fix: adjust caret position if window height changes. 1999-10-06: Sander van Leeuwen - USER32: Fixed memory leaks in SetWindowTextA/W window class methods - KERNEL32: Put back my changes (10/04/99) in winimgres.cpp 1999-10-06: Patrick Haller - KERNEL32: Fix: DLLs without Resource Segment (pResDir == NULL) Fix: VirtualFree not freeing memory fixed, WINHLP32 looks healthier :) 1999-10-05: Christoph Bratschi - USER32: rewrote color management 1999-10-05: Sander van Leeuwen - KERNEL32: Set fs:0 to -1 in OS2UnsetExceptionHandler. Prevents crash due to corrupted handler chain (see comments in that function) - ODIN32API: Remove exception handler set & unset. Not necessary as it's also done in the start method of an exe image. 1999-10-04: Patrick Haller - SHELL32\NEW: Compilation fix (indirectly included win32type.h) - KERNEL32: Support for DisableThreadLibraryCalls 1999-10-04: Edgar Buerkle - USER32: Fixes for window style update, mouse button messages, WS_CAPTION style and apps with a dialog as their main window. (set owner to desktop) - KERNEL32: Extra checks for valid heap pointers 1999-10-04: Sander van Leeuwen - USER32: Deleted dialog.cpp Set last error to 0 if dialog creation succeeds. Added flag to distinguish between messages sent by PM and those sent by apps Handle WM_SETTEXT messages passed to default window handler (only if not sent by PM) - VERSION: Fix for string compares in VersionInfo32_FindChild (has to be a lstrcmpniW) - SHELL32: Removed nameid.h include in she.cpp & sh.cpp. Fixed makefile addition for export library (extra ".." for tool path) - DPLAY, MSACM32: Compilation fix (indirectly included win32type.h) - KERNEL32: Fixed getVersionStruct for PE & LX images (didn't copy version data before) Fixed module name lookup for win32 images executed by the PE loader. (can't use OSLibQueryModuleHandle for those) Added lstrcmpniW function Set full path for LX images Support for retrieving the first resource of a certain type (version ids no longer hardcoded as id 1; just get the first one present) 1999-10-04: Jens Wiessner - CRTDLL: Implemented functions + added stubs - MSVCRT: More stubs + crtdll forwarders 1999-10-04: Yuri Dario - ddeml.h: new macros - mmsystem.h: changed sndPlaySound and mciCommand prototypes (as in MS sdk) - shlobh.h: added ifdef for direct inclusion - winbase.h: added UnlockResource macro - windef.h: changed return type (maybe also other functions are wrong) - windows.h: included ddeml.h - windowsx.h: added macros - wingdi.h: added win95 bitmap structures - winuser.h: few macros and changed DLGTEMPLATE prototypes as in MS sdk - crtdll.cpp: now includes libc/locale.h, so toolkit headers are included also for VA36 - shell32/makefile: added code for library export. - shell32/new/makefile: added code for library export. - dialog.cpp: DLGTEMPLATE changes - windlg.cpp: DLGTEMPLATE changes. - win32k/makefile: corrected paths - win32k/include/pe2lx.h: this section should be included for VA36 1999-10-03: Daniela Engert - USER32: WM_MOUSEMOVE bugfix (removed check for captured mouse) 1999-10-03: Sander van Leeuwen - USER32: Updated window class with isMDIClient method Fixed DrawTextExA/W compile errors (different parameter types) 1999-10-02: Christoph Bratschi - USER32: DrawTextExA/W: implemented DT_END_ELLIPSIS added DrawTextExA/W to header files 1999-10-02: Edgar Buerkle - VERSION: Allocation bugfix in VerQueryValueA - USER32: Added style changes for PM windows + don't clear WS_VISIBLE flag when converting window styles. (fixes buttons in winhlp32) 1999-10-01: Sander van Leeuwen - DDRAW: ifdef'ed out code that causes crash (OS2Surface destructor) Free original translation buffer, not the one aligned to qword boundary. - USER32: Create frame window for windows with desktop as parent (i.e. WS_POPUP) This makes sure WM_ACTIVATE messages are sent. Scrollbar changes. Call DestroyWindow when DefWndProc receives WM_CLOSE msg. - KERNEL32: Allocate memory from heap when HeapReAlloc is called with a NULL memory pointer (WINE listbox control depends on this) - AVIFIL32: Compilation fix 1999-10-01: Edgar Buerkle - KERNEL32: Skip spaces in command line string - USER32: Fix for MessageBoxA (window handle conversion) Fixes for combobox (handles null pointers) - GDI32: Added OSLibSetDIBitsToDevice 1999-10-01: Jens Wiessner - CRTDLL: Implemented functions + added stubs - MSVCRT: More stubs + crtdll forwarders 1999-09-29: Daniela Engert - USER32: improved timer handling for caret blinking. recreate carets on focus change if needed. 1999-09-29: Sander van Leeuwen - USER32: Almost completed standard window scrollbars. Fixed WM_ACTIVATE message, generate WM_ACTIVATEAPP message when WM_ACTIVATE is received. (instead of WM_SETFOCUS) NOTE: Still not working correctly. Too many WM_ACTIVATEAPP msgs generated. Always send Odin window handles from pmwindow.cpp to win32wbase.cpp. Send WM_CHILDACTIVATE msg to MDI child windows. 1999-09-28: Christoph Bratschi - USER32: Mouse input functions: SetCapture() fixed SystemParametersInfo(): fonts fixed GetSystemMetrics(): changed icon size to 32x32 Sorting and fixing user32.cpp 1999-09-28: David Raison - KERNEL32: Fixed GetComputerNameA 1999-09-28: Jens Wiessner - CRTDLL: Updated _except_handler2 + added Wine source changes - MSVCRT: Created. Forwards most apis to CRTDLL or NTDLL. 1999-09-28: Sander van Leeuwen - USER32: Only generate WM_CHAR when TranslateMessage is called for WM_KEYDOWN. (TODO: WM_SYSCHAR) 1999-09-28: Daniela Engert - USER32: Caret functions implemented ScrollDC implemented ScrollWindowEx implemented 1999-09-28: Patrick Haller - KERNEL32: Add: debug info for missing API imports (WinImagePeLdr) Fix: source cleanup, introduction of WIN32.DIR.SYSTEM and WIN32.DIR.WINDOWS as overrides over the STUPID Open32 result. I don't want to have Win32 apps messing up x:\OS2 .... 1999-09-26: Daniela Engert - USER32: SetTimer/KillTimer work now. 1999-09-26: Achim Hasenmueller - COMCTL32: Merged with WINE 990923 changes (propsheet.c not fully done) 1999-09-26: Sander van Leeuwen - USER32: Started with standard window scrollbar implementation Rewrote ScrollWindow (seems to work ok) Set text bugfix (crash in about dialog box of generic.exe) Send WM_INITDLG after creation of dialog controls. Set last error to 0 at end of BeginPaint/EndPaint. Set last error when window not found (window.cpp/windlg.cpp) WM_(SYS)KEYUP/DOWN bugfix (repeat cnt & scancode reversed) Generate WM_CHAR message when TranslateMessage is called for WM_CHAR (PM) message. (sent after WM_(SYS)KEYUP/DOWN) 1999-09-25: Christoph Bratschi - USER32: WS_EX_* 3D frame support for child windows - USER32: Double click handling changed 1999-09-25: Sander van Leeuwen - USER32: Cursor fixes. Cursor shown correctly in winhlp32. Don't call WinDefWindowProc for WM_MOUSEMOVE (resets cursor to system default) RedrawWindow: set window pointer to desktop window when hwnd == NULL - KERNEL32: Cursor & cursorgroup fixes Fixes for thread local memory allocation (only done for thread 0) Create TEB selector + memory for threads we don't create. (i.e. DART threads in WINMM) NOTE: Not tested. - USER32\OLD, KERNEL32\OLD: Fixed makefiles + changes to make them work with new dlls. 1999-09-25: Daniela Engert - USER32: ClientToScreen and ScreenToClient didn't work -> fixed. 1999-09-24: David Raison - OLE32: Ported remaining files pertaining to OLE32 from WINE - OLEAUT32: Patched OaBuildVersion to level 0x1E... 1999-09-24: Sander van Leeuwen - USER32: Rewrote menu code to use Open32 (==PM) menu handles Note: Uses mostly Open32 apis; they work fine, but maybe we should write our own someday. Cursor fixes. Not working in winhlp32 yet though. - KERNEL32: Cursor & cursorgroup fixes 1999-09-23: Patrick Haller - KERNEL32: Fix: WinImgRes:findResourceW erroneously tried to free numerical resource IDs instead of translated Unicode strings. - USER32: Fix: in USER32:HeapShared:getmoreShared() Fix: in USER32:WIN32WMDIClient:childActivate() Fix: in USER32:WinMenu:GetSubMenu now returns Win32MenuRes object instead of PM handle Fix: in USER32:WinMenu:GetSystemMenu now returns Win32MenuRes object instead of PM handle Fix: in USER32:Char:CharPrevW intermixed arguments 1999-09-23: Jens Wiessner - CRTDLL: Added stubs, implemented some stubs - IMAGEHLP, IMM32, MSACM32, MSVFW32, OLEDLG, OLECLI32, OLESVR32, PSAPI, RASPI32 Added dprintfs. 1999-09-23: Sander van Leeuwen - WINMM: Changed WinPostMsg calls into PostMessageA as win32 window handles are not the same as PM handles anymore. - USER32: Adding desktop window class. When user32 is loaded, a desktop window object is created. GetDesktopWindow returns handle of this window. Winhlp32 no longer crashes immediately, but briefly shows it's window before quitting. Create windows always with HWND_TOP. The if statement (hwndLinkAfter) in the CreateWindowExA method of Win32BaseWindow class messes up the Z-order of dialog controls (i.e. buttons in a group box) - COMDLG32: Fixed all common dialogs. (translate our handle to real PM handle) 1999-09-22: David Raison - KERNEL32: Return "Service Pack 3" as CSD string in GetVersionExA/W 1999-09-22: Yuri Dario - MISC: Fixed WINELIB macro's in wingdi.h, added fixes to headers for VAC 3.6.5 - ODINCRT: Also link with SOMLIB (VAC 3.6.5) - CRTDLL: Compilation fix for VAC 3.6.5 - TOOLS\COMMON: Minor change to makefile - TOOLS\IMPDEF: Minor change to makefile - TOOLS\WRC: Makefile fixes 1999-09-22: Rene Pronk - USER32: Changed WM_CHAR PM handling to generate WM_(SYS)KEYUP/DOWN messages. Note: Not complete as TranslateMessage doesn't translate ascii keys to WM_CHAR messages. 1999-09-22: Sander van Leeuwen - USER32: Removed GetDesktopWindow fix Ported getNextDlgTabItem & getDlgItem 1999-09-21: Daniela Engert - USER32: background erasing/painting stuff hopefully finished. 1999-09-21: Patrick Haller - KERNEL32: Add: GetFileAttributesExA/W implemented (ugly) 1999-09-21: Sander van Leeuwen - KERNEL32: Fixed cursor group conversion - PELDR: Committed my latest sources. (rewrite for new kernel32 image classes) 1999-09-21: Edgar Buerkle <100566.557@compuserve.com> - USER32: Fixed GetDesktopWindow, added message handling for WM_TIMER added code to choose best icon from icon group. (in OSLibWinCreateIcon) - KERNEL32: Fix for converting icons & icon groups 1999-09-19: David Raison - OLE32: Added AntiMoniker, Updated regsvr32 to use RegisterLxExe 1999-09-20: Sander van Leeuwen - USER32: Fix background of button, group & static text NOTE: Changed default behaviour of WM_CTLCOLOR* handling. Don't know if this is correct, but it fixes problems in dialogs (text with white instead of gray background) 1999-09-20: Markus Montkowski - WNASPI32: full implementation via ASPIROUT$ device driver. 1999-09-19: Sander van Leeuwen - USER32: Increased font pointsize for dialog (multiplied by two) (probably not the right way to do things, but it works for the dialogs in Solitaire) Activated MsgEraseBackground method again (pmwindow.cpp) Dialogs don't receive those otherwise. (may need to be changed back again) 1999-09-19: David Raison - USER32: Partially implemented MessageBoxIndirectA/W (forwarded to MessageBox) 1999-09-18: Sander van Leeuwen - KERNEL32: Added resource support for win32 apps compiled in OS/2 - INCLUDE: Header file changes for win32 apps compiled in OS/2 - VERSION: Create correct import lib - WINMM: Create correct import lib - MSACM32: Link with winmm.lib, don't import apis from .def file - MSVFW32: Link with winmm.lib, don't import apis from .def file 1999-09-18: Przemyslaw Dobrowolski - KERNEL32: Implemented lstrncmpiA 1999-09-18: Jens Wiessner - CRTDLL: Added stubs - SHELL32(NEW)/MSACM32/MSFW32: Link with kernel32 for lstrncmpiA 1999-09-17: Daniela Engert - USER32: Fix: window focus management. OSLIBWIN.H: the definitions of OSLIB_HWND_DESKTOP and OSLIB_HWND_OBJECT were 1 off (with respect to the definition in PMWIN.H)! So OSLIB_HWND_DESKTOP was in effect NULLHANDLE, and OSLIB_HWND_OBJECT was HWND_DESKTOP. 1999-09-16: Daniela Engert - USER32: Fix: UpdateWindow New: RedrawWindow (preliminary), InvalidateR* 1999-09-16: Patrick Haller - USER32: Fix: DIB_FixColorsToLoadflags - incr was not initialized Fix: WINMENU::GetSystemMenu() was broken. 1999-09-15: Sander van Leeuwen - KERNEL32: Moved old kernel32 code to kernel32\old Rewritten win32 exe/dll classes. There are now classes for the following exes/dlls: Pe2lx images, win32 images loaded by the pe loader and LX images (win32 apps compiled in OS/2 and system dlls) Bugfixes for unicode resource apis. Not completely tested yet, but works for most apps. NOTE: Resource handling for pe2lx & win32 apps compiled in OS/2 will be added in the near future. For now it's compatible with the old pe2lx. NOTE: New kernel32 doesn't work with old user32 NOTE: Win32Resource::lockResource not complete yet, but that part will be removed after the pe2lx rewrite. - USER32: Moved new user32 into user32 dir, old one to user32\old - ALL: Changed initterm.cpp to create LX dll object during initialization. IMPORTANT NOTE: Version increased from 3 to 4. Complete recompilation of everything is required! 1999-09-14: Patrick Haller - AVIFIL32: ported AVIFIL32 from WINE - DPLAY: ported DPLAY from WINE Note: DPLAYX is required and NOT ported yet. Furthermore, DPLAY has still stubs. - DPLAYX: ported DPLAY from WINE (incomplete) Note: still problem with COM-inheritance-macro XCAST() - WNASPI32: ported WNASPI32 from WINE Note: someone should adapt it to OS/2's R3 ASPI router 1999-09-14: Sander van Leeuwen - USER32\NEW: Implemented Enum(Thread/Child)Windows based on Edgar Buerkle's code with modifications for new user32 and added some enhancements. 1999-09-13: Jens Wiessner - NTDLL: Added CRT-functions. 1999-09-13: Daniela Engert - USER32\NEW: DC/related code: ReleaseDC, GetWindowDC, DC destruction,.. 1999-09-13: Patrick Haller - SHELL32\NEW: updated to current wine level 1999-09-13: David Raison - KERNEL32: Fixed MultiByteToWideChar. Return size of string including 0 terminator. 1999-09-13: Jens Wiessner - CRTDLL: Added functions. 1999-09-08: David Raison - OLEAUT32: Updated TypeLib code to find typelibs in EXE/DLL etc NB Still need to fix typelib translation. 1999-09-12: Daniela Engert - USER32\NEW: DC/related code: GetDCEx implemented. Slightly enhanced over Open32. 1999-09-12: knut st. osmundsen - WIN32K: An untested version is checked in. The new skeleton is partially tested. PE2LX is not updated and will probably not be updated before pe2lx is rewritten. 1999-09-09: Daniela Engert - USER32\NEW: begin new DC/related code. BeginPaint/EndPaint done. 1999-09-09: Patrick Haller - SHELL32\NEW: shell32 done, it compiles + links, no testing yet - USER32: added stubs for GetMenuInfo + SetMenuInfo - USER32\NEW: added stubs for GetMenuInfo + SetMenuInfo 1999-09-08: David Raison djr@lemur.co.uk - Src\OleAut32 Added stubs for undefined exports in OLEAut32 1999-09-08: Yuri Dario - INCLUDE\WIN: Changes to wingdi.h (more WINELIB_NAME defs) & winuser.h (mssing definitions) Missing ';' in custcntl.h at line 106 1999-09-08: David Raison djr@lemur.co.uk - INCLUDE\WIN: Added DECIMAL definition to windef.h 1999-09-08: knut st. osmundsen - KERNEL32, USER32, USER32\NEW, GDI32, ADVAPI32: exp.def is now generated by a util called ImpDef. (source in tools\impdef). - INC: pdwin32.tools is updated with a IMPDEF macro. This requires the macro PDWIN32_TOOLS too point to the tools\bin directory. - TOOLS: New directory tree for tools developed to aid us create odin32. Create a subdirectory for each tool. Currently database, impdef and omfdumper is placed here. - TOOLS\IMPDEF: generates the exp.def files. - TOOLS\OMFDUMPER: source for the omfdumper use to create pmwinx.def. Base source for a library converted used in win32k. - TOOLS\DATABASE: source for the odin32 API database and it's tools. See the Odin32 API Database Design Document for more info. Document will soon be placed in the 'Vault' of the win32-os2 group. - TOOLS\DATABASE\MYSQL: mysql headers and libraries. - TOOLS\DATABASE\GD: Gifdraw 1.2 - used to draw graphs. 1999-09-08: Patrick Haller - OLE32: CLSIDFromStringA is needed in other modules, too. (SHELL32) 1999-09-08: Sander van Leeuwen - Removed /DNONAMELESSUNION from some makefiles (now defined in odin.h) - Minor changes to odin.h (nameless union allowed in VAC 3.6.5) & windowsx.h - USER32\NEW: Use fixed user32exp.def. Doesn't work for GetOS2Callback__15Win32WindowProcFv (causes link failure for comdlg32) - TOOLS\WRC: Ported Wine wrc. Needs EMX+GCC 1999-09-07: Jens Wiessner - CRTDLL: Created dll (Wine port) 1999-09-07: Patrick Haller - OLE32: WINE_StringFromCLSID is needed in other modules, too. (SHELL32) - SHELL32\NEW: improvement of shell32 - KERNEL32: ToolHelp functions stubbed: Process32First, etc. 1999-09-05: Sander van Leeuwen - USER32\NEW: Dialog updates (not yet done) 1999-09-04: Daniela Engert - USER32\NEW: beginning with 'DAXifying' of our windows 1999-09-04: Sander van Leeuwen - KERNEL32: Fixed icon- & cursorgroup conversion (Solitaire icon now correct again) - USER32\NEW: Started with Wine dialog code port. Dialog creation done, but not tested. 1999-09-04: Jens Wiessner - MSVFW32: Created stub (partly) dll (Based on Wine 990815) - PSAPI: Created stub dll (Based on Wine 990815) 1999-09-03: Sander van Leeuwen - USER32\NEW: MDI child/client improvement (not all wine code has been ported though) 1999-09-01: Patrick Haller - *: Cleanup of include files, some ICOM issues in particular, also fixes LONGLONG problem (now names LONGLONG_W) - SHELL32\NEW: introduction of a straight port of WINE's SHELL32 implementation 18 of 22 files are ported already 1999-09-01: Patrick Haller - *: Cleanup of include files. Warning: OS/2's BOOL is ULONG, WIN32 is INT. Causes C++ compilers to complain here and there. Plus many WINE prototypes are just plain wrong. This change should help porting shell32/new. 1999-09-01: Sander van Leeuwen - USER32\NEW: Fixed GetWindowDC (Freecell 'Cards Left' string drawn at the right place) 1999-09-01: Jens Wiessner - RASAPI32: Created stub dll - MSACM32: Created (partly) stub dll 1999-08-31: Patrick Haller - WINMM: revision of timer services (C&C RA) - KERNEL32: temporary fix for DuplicateHandle for non-HandleManager handles little improvement in console properties incorrect anchor class for mutexes, events and semaphores fixed return codes for HMCreateFileMapping, HMOpenFileMapping Fix: FILE_MAP_ALL_ACCESS access flags for memory mapped files 1999-08-31: Sander van Leeuwen - USER32\NEW: Finished MDI class, but it's not working yet. - USER32\NEW: Fixed menu apis - KERNEL32\NEW: Changed makefile to generate response file (linker cmd line too long) Created resource class for menus (Win32MenuRes) - INC: Changed debug makefiles to include /dbgpack linker option (compresses debug info) 1999-08-31: Rene Pronk - USER32,USER32\NEW: Implemented ChildWindowFromPointEx 1999-08-30: Jens Wiessner - OLEDLG: Created stub dll - INC\WIN: Update for ras.h 1999-08-30: Sander van Leeuwen - USER32\NEW: Redesign. Create base class for all window types Delete Open32 class atoms before recreating them. Added skeleton class for MDI client window. 1999-08-29: Sander van Leeuwen - USER32\NEW: Changed behaviour of mouse messages (send NC messages when in non-client area + send WM_SETCURSOR msgs) Don't send WM_MOUSEMOVE when mouse is captured. Changed CreateMDIWindowA/W (don't call Open32 api anymore, but post WM_MDICREATE msg) - KERNEL32 Interlock apis ported from Wine (with help of Patrick Haller) - INC: Removed Masm compatible flag for ALP and enabled debugging info in debug build 1999-08-29: Jens Wiessner - OLECLI32: Created stub dll - IMM32: Created stub dll - IMAGEHLP: Created (partly) stub dll 1999-08-28: Sander van Leeuwen - USER32\NEW: Use shared memory for window & class objects Implemented FindWindow(Ex). Not yet tested Fixed window names. Created shared heap using VAC's _ucreate. Separate window handle creation (in shared memory array) PostMessage fixes (didn't work between two processes) - KERNEL32: Fixed exception handling for kill signals & termination Changed VMutex constructor (also allows creation of shared mutex semaphores) NOTE: This requires a complete recompile!! 1999-08-28: Daniela Engert - USER32\NEW: client windows get repositioned now when the parent resizes 1999-08-28: Achim Hasenmueller - COMCTL32: Merged with latest WINE updates (990815) 1999-08-28: Yuri Dario - INCLUDE\WIN: Added macros to windowsx.h 1999-08-27: Daniela Engert - USER32\NEW: window creation, window relationship, window sizing and positioning enhanced. - USER32\NEW: window and client rectangles are in sync with the WINE structures now. 1999-08-27: Sander van Leeuwen - KERNEL32: Rewrote memory mapped files for multiple views Increased default nr of pages loaded so loading large apps doesn't take forever to start in IPMD. - KERNEL32: Process dll exports before imports in order to support circular dll dependencies. - KERNEL32: Replaced fopen/fclose calls in windll.cpp; they mess up FS. Init full path of image during Init method. 1999-08-27: Patrick Haller - KERNEL32: removed logging page faults if mmapped i/o 1999-08-26: Sander van Leeuwen - KERNEL32: Cleaned up. (removed os2native.cpp & os2util.cpp and replaced them with oslibdos.* & oslibmisc.*; put Virtual* win32 apis in virtual.cpp) - KERNEL32: Added workaround for (what seems to be) an OS/2 bug. Fixes crashes when reading from the memory mapped file. (see comments in kernel32\mmap.cpp) Bugfixes for VirtualProtect & VirtualQuery 1999-08-25: Jens Wiessner - OLESVR32: Created stub dll 1999-08-25: Sander van Leeuwen - KERNEL32: Use memory mapped files for PE loader Readonly memory mapped files work. Read/Write has not been tested yet. Shared mmaps don't work at this time. - KERNEL32: Set exception handler chain to -1 (not 0) in KillWin32Process -> fixes large nr of exceptions - KERNEL32: Several changes for memory mapped files. Put back handlemanager changes. (i.e. MapViewOfFile) - USER32\NEW: Deleted win32type.h - ADVAPI32: Fixed some incorrect definitions of security apis - INCLUDE\WIN: Changed WINE_NAME_AW definition (now you can use apis without the 'A' or 'W' suffix) - INCLUDE: Added makefile for VAC 3.6.5 To compile use i.e.: nmake DEBUG=1 CCENV=VAC36 - KERNEL32: Changed VIRTUAL_MapFileA/W Changed OS2ImageInit from public to protected - KERNEL32: Added DuplicateHandle to Handle Manager (wasn't working before) NOTE: Only works for file handles at this time! The rest still needs to be implemented. - USER32\NEW: Changed loadres.cpp call to VIRTUAL_MapFileA 1999-08-24: Patrick Haller - USER32: added extended Open32 WinX control styles (OS2CTLWX) - KERNEL32: HandleManager support for memory mapped files Added FindFirstFileW, FindNextFileW Bugfix in ExitProcess / iConsoleWaitClose Bugfix in OS2Heap::OS2Heap (Heap 0 always valid for NT programs?) 1999-08-24: Sander van Leeuwen - USER32\NEW: One mutex per type of generic object + mutex protection of linked list access in win32 classes - KERNEL32: Implemented VirtualQuery (not yet tested) VirtualQueryEx calls VirtualQuery, VirtualProtectEx calls VirtualProtect NOTE: VirtualQueryEx & VirtualProtectEx can't handle addresses of other processes - KERNEL32: Added memory mapped file class (not hooked up to apis or exception handler yet; just committing my preliminary code) 1999-08-23: Sander van Leeuwen - KERNEL32: Dll load order bugfix (PE loader) - USER32\NEW: Added two dummy exports so comdlg32 will load NOTE: This is a temporary hack and needs to be changed. - USER32\NEW: Fix for OSLibWinCreateIcon (supports single icons now) - KERNEL32: Logging change, now creates a unique logfile for each process. (multiple win32 apps active -> multiple logfiles) 1999-08-23: Patrick Haller - USER32/NEW: partial (not compiling yet) port of DIALOG.C - USER32: fix: Win32Proc constructor crash (GetClassInfoA(of a Systemclass)) 1999-08-22: Sander van Leeuwen - OLE32: Changes for updated WINE headers - OLEAUT32: Created (Wine port: Based on 990815 code) - KERNEL32: Export HEAP_* string functions in lib - KERNEL32: Fixed some PE resource dll load bugs - KERNEL32: Moved CloseLogFile call to after DestroyTIB (fixes crashes as WriteLog was still called in DestroyTIB & WriteOutProfiles) - KERNEL32: Added exception handling code for each thread, entrypoint & TLS callbach handler. OS2ExceptionHandler (in exceptions.cpp) is registered as the main exception handler. NOTE: Still needs to call original win32 exception handler from OS2ExceptionHandler. - USER32/NEW: Changed WM_ERASEBKGND handling. Fixes FreeCell background. (but might not be completely correct) - INCLUDE\WIN: Added custcntl.h & fixed GetObject definition - INCLUDE\WIN, WIN\WINE: Added several files, updated OLE headers - NTDLL: Some changes to make it compile again 1999-08-21: Sander van Leeuwen - USER32\NEW: Fixed window class bug. Freecell menu now properly loaded. - USER32\NEW: Changed LoadBitmapA/W to load bitmaps internally (also ported some Wine code for that purpose) Not correct yet: some of Solitaire's bitmaps look bad - KERNEL32: Fixed name id lookup bug for PE loader resources - KERNEL32: AllocFixedMemory bugfix + added Aurora flag to DosAllocMem - KERNEL32: Close logfile in kernel32 exit list -> last log messages before crash now properly saved - PELDR: Corrected makefile 1999-08-21: Yuri Dario - Makefiles: Link with predefined VAC lib (RTLLIB(_O)) Needed for VAC 3.6.5 1999-08-20: Sander van Leeuwen - KERNEL32: PE resource loading fixes - USER32/NEW: Changes to Load* resource apis - USER32/NEW: Put back LoadBitmap for now Rewrote LoadIconA/W & LoadCursorA/W + added extra code to oslib. 1999-08-20: Patrick Haller - ODINWRAP: fixed invalid macros 1999-08-19: Patrick Haller - ODINWRAP: fixed invalid recursion in ODINFUNCTION0-Debug - WINMM: odinwrap macros - TAPI32: odinwrap macros - MPR: odinwrap macros - COMDLG32: odinwrap macros - WNETAP32: odinwrap macros - WINSPOOL: odinwrap macros 1999-08-19: Sander van Leeuwen - KERNEL32: PE loader resource fixes + ConvertNameId bugfix Added pe2lx conversion code for menus, accelerators, bitmaps, icons, cursors, icon & cursor groups. Put back _CreateWin32Exe export in kernel32exp.def - KERNEL32: Used Odin wrappers for profile apis (mess up FS) - USER32 & USER32\NEW: Cleaned up icon code 1999-08-18: Patrick Haller - NTDLL: tons of new stubs and crt functions - WNETAP32: tons of new stubs 1999-08-18: Sander van Leeuwen - Put back version check in most dlls (except odincrt.dll & peldr.dll we don't want a kernel32 dependency there) - PELDR/KERNEL32: Use reserved memory by peldr.dll to store win32 exe sections. (now loads exes without fixups & low base address) Added TLS support. - KERNEL32: Lots of changes for the ring 3 PE loader (not completed) Store PE header at start of module in memory, module handle set to image base of module. 1999-08-18: Przemyslaw Dobrowolski - KERNEL32: Profile bugfix (line 506) && removed redundant '\r' (except on line 199) 1999-08-17: Sander van Leeuwen - KERNEL32/LZ32: Fixed compilation problems introduced by changes below - ODINCRT: Rewrote __threadid Clib function to get rid of crashes (restores OS/2 FS selector before accessing PIB ptr and puts back original FS selector afterwards) NOTE: No longer necessary to use ODIN_FS_BEGIN/ODIN_FS_END macros - DDRAW: Removed ODIN_FS_BEGIN/ODIN_FS_END calls Fixed bugs in divewrap.h. Incorrect wrappers called themselves instead of the original Dive apis. 1999-08-17: Patrick Haller - LZ32: can't export LZCopy as ID0, changed to alphanumeric export 1999-08-16: Sander van Leeuwen - PE loader: Started with rewrite - ODINCRT: Changed compile & link options - ODINCRT: Don't export ctordtorInit/Term. These functions must exists locally for each dll/exe. Fixes crashes in pe loader and corrupt converted exes generated by pe2lx - ALL: Makefile changes & initterm.cpp no longer calls c/c++ library init & termination functions (should only be done in odincrt.dll) 1999-08-16: Patrick Haller - SHELL32: integrated Christoph Bratschis SHELL32 stubs - WSOCK32: odinwrap macros 1999-08-16: Christoph Bratschi - USER32: uitools.cpp update 1999-08-15: Christoph Bratschi - USER32\NEW: controls: wine-990731 update 1999-08-14: Christoph Bratschi - COMCTL32: wine-990731 update 1999-08-14: Sander van Leeuwen - INCLUDE\win\windows.h: Include odin.h if __WIN32OS2__ is defined 1999-08-13: Sander van Leeuwen - KERNEL32: Export heap functions by ordinal - src\makefile: compile lz32 before version (dependency) 1999-08-12: Patrick Haller - VERSION: enhanced plus odinwrap macros 1999-08-11: Patrick Haller - ODINCRT: ordinal exports - ADVAPI32:odinwrap macros (partially) - LZ32: odinwrap macros 1999-08-10: Sander van Leeuwen - USER32/NEW: Fixed makefile (link with odincrt) 1999-08-10: Patrick Haller - LZ32: added preliminary support for independend LZ32 library 1999-08-09: Patrick Haller , Achim Hasenmueller , Markus Montkowski - ODINCRT: providing a extensible wrapping layer for VAC++ runtime functions change is non-intrusive for existing source. 1999-08-06: Patrick Haller - USER32: added stubs so NT4's WINFILE can load - SHELL32: added stubs so NT4's WINFILE can load - NTDLL: added stubs so NT4's WINFILE can load 1999-08-05: Patrick Haller - KERNEL32: interactive control over UnhandledExceptionFilter - KERNEL32: FormatMessageAW fixed. Do not mix ODIN's heap functions with VAC heap functions - KERNEL32: added WINE-style string functions in Heapstring.cpp - SHELL3232: RestartDialog @59 stub added. IE2 can load now with NT4's URL.DLL. 1999-08-05: Sander van Leeuwen - KERNEL32: Bitmap conversion bugfix; always recalculate bitmap size (bitmap in donut.exe (ddraw sample) contains wrong size) 1999-08-04: Patrick Haller - KERNEL32: fix for filename handling in kernel32/profile - KERNEL32: fix for PROFILE_CopyEntry in kernel32/profile 1999-08-04: Sander van Leeuwen - PE2LX: Bugfix for icon conversion (heap corruption for ra95.exe; as reported by Patrick Haller) 1999-08-04: Patrick Haller - KERNEL32: Heap modification - KERNEL32: Windows 3 style profile support ported from WINE (removes Open32) 1999-08-03: Rene Pronk - USER32: Ported DrawTextExA/W & DrawStateA/W 1999-07-27: Przemysˆaw Dobrowolski - KERNEL32: Implemented GetComputerNameA/W 1999-07-25: Sander van Leeuwen - USER32/NEW: Lots of changes; Solitaire displays cards correctly Status bar correctly drawn Mouse msg translation still wrong. Paint not correct. 1999-07-25: Sander van Leeuwen - KERNEL32: GetLocateInfoA bugfix - USER32/NEW: Lots of changes; now Solitaire starts, but draws cards incorrectly 1999-07-23: Yuri Dario - misc: Changes for compilation with VAC 3.6.5 1999-07-23: Edgar Buerkle <100566.557@compuserve.com> - VERSION: VerQueryValueA/W Wine implementation ported 1999-07-22: Przemysˆaw Dobrowolski - KERNEL32: Complete implementation of GetLocaleInfoA/W 1999-07-22: Edgar Buerkle <100566.557@compuserve.com> - KERNEL32: Fix for OS2GetResource (os2util.cpp) - PE2LX: Use unique resource id for version resource. - USER32: MapOEMToRealKey fix 1999-07-22: Sander van Leeuwen - DDRAW: Now compiles - COMCTL32: Create library with correct api names 1999-07-21: Edgar Buerkle <100566.557@compuserve.com> - KERNEL32: Fix for LoadResource; should return pointer to resource data LockResource just returns the pointer returned by LoadResource 1999-07-20: Sander van Leeuwen - USER32/NEW: Added support for window icons and accelerators. Accelerators don't work yet. - PE2LX: Save icons in different format (BITMAPINFOHEADER2) 1999-07-19: Sander van Leeuwen - KERNEL32: Added method for retrieving converted OS/2 resource (which will be changed later on) - USER32/NEW: CreateWindowEx now works and menus are displayed 1999-07-17: Sander van Leeuwen - KERNEL32: Exports for getting TEB & THDB added 1999-07-15: Sander van Leeuwen - USER32/NEW: Unicode & window handle translation bugfixes 1999-07-14: Christoph Bratschi - USER32/NEW: several bugs fixed, compiles now CreateWindow doesn't work yet 1999-07-13: Sander van Leeuwen - USER32/NEW: *VERY* preliminary/alpha code for Open32 replacement in user32 Compiles, but not tested at all. 1999-07-12: Patrick Haller - KERNEL32: various console fixes 1999-07-10: Edgar Buerkle <100566.557@compuserve.com> - USER32: Fixes for CreateWindowExW and several unicode menu apis 1999-07-07: Sander van Leeuwen - KERNEL32/PE2LX: Added support for TLS sections - KERNEL32: Added thread attach/detach messages for dlls Fixed some bugs, cleaned up code NOTE: THIS CHANGE BREAKS ALL PREVIOUSLY CONVERTED APPLICATIONS RECOMPILE ALL DLLS AND CONVERT EVERYTHING AGAIN!!!!!!!!! THIS CHANGE ALSO BREAKS WIN32K! 1999-07-06: Patrick Haller - KERNEL32: major enhancement of handlemanager 1999-07-06: Edgar Buerkle <100566.557@compuserve.com> - PE2LX: Finished support for codepages 1999-07-05: Patrick Haller - SHELL32: SheSetCurDrive stub, ... 1999-07-05: Sander van Leeuwen - LIB\libconv.def: Added name with '_' appended. (or else Watcom won't link pe2lx\misc.cpp properly) 1999-07-05: Edgar Buerkle <100566.557@compuserve.com> - PE2LX: Preliminary support for codepages 1999-07-05: Patrick Haller - KERNEL32: HandleManager fixes as suggested by Edgar Buerkle 1999-07-04: Christoph Bratschi - PE2LX/USER32: Dialog default font set to WarpSans + fixes 1999-07-02: Christoph Bratschi - PE2LX/USER32: Dialog bugfix for entryfield strings 1999-06-30: Christoph Bratschi - KERNEL32: Unicode changes (unicode.cpp) lstrcpynA/W (kernel32.cpp - USER32: LoadStringA unicode conversion bugfix - USER32: Changed SystemParameterInfo for default font (now 9.WarpSans) 1999-06-30: Przemysˆaw Dobrowolski - WINMM: Implemented remaining joystick apis + bugfixes 1999-06-29: Patrick Haller - KERNEL32: GetLocaleInfoA bugfix (lang.cpp) 1999-06-29: Przemysˆaw Dobrowolski - WINMM: Implemented most of the joystick apis 1999-06-28: Christoph Bratschi - USER32: AsciiToUnicodeN bugfix (unicode.cpp) 1999-06-28: Sander van Leeuwen - USER32: Get/SetWindowLongA bugfix for dialog controls 1999-06-27: Sander van Leeuwen - USER32: Message handler updates & lots of bugfixes - USER32: Fix for GetWindowLongA, if Open32 returns 0xffff it really means 0xffffffff -> fixes Winhlp32 buttons. - USER32: Fixed bug when changing window procedures for dialog box controls 1999-06-26: Sander van Leeuwen - USER32: Changes for message spy & several message handler changes - USER32: Restore win32 tib in window msg callback - KERNEL32/include: Restore OS/2 tib on entering Open32 or OS/2 apis - KERNEL32/lang.cpp: Bugfix for GetLocaleInfoA (if buf ptr == null, only return size of memory block required to hold info) 1999-06-25: Achim Hasenmueller - Finally fixed changelog date format to be compliant with the official EU date format :) 1999-06-25: Christoph Bratschi - USER32: GetSysColorPen bugfix (syscolor.cpp) 1999-06-24: Patrick Haller - SHELL32: partial port form WINE 1999-06-24: Edgar Buerkle - KERNEL32: Implemented GetLocaleInfoA/W 1999-06-24: Sander van Leeuwen - include\winos2def.h: Changed OS/2 apis to use wrappers (FS save/restore) and added DosQueryCtryInfo 1999-06-23: Patrick Haller - Fixed date format in changlog .g. - NTDLL: a dozen c runtime functions added - USER32: IsHungAppWindow dummy added - SHELL32: few more APIs added - KERNEL32: HandleManager, Console, fixes - COMDLG32: basic unicode support added, thou broken somehow - source code splitups and beautification ;-) 1999-06-23: Achim Hasenmueller - ported latest WINE fixes and additions for comctl32. Changes involve better undoc. DSA APIs, right colors for the tab control, many improvements for the listview... 1999-06-21: Achim Hasenmueller - ported latest WINE DrawEdge code and moved everything to the new file src/user32/uitools.cpp 1999-06-21: Sander van Leeuwen - include\os2wrap.h, removed calling convention 1999-06-21: Christoph Bratschi - COMCTL32: Progress bar finished (progress.c, USER32 bugs to fix) - COMCTL32: Trackbar finished (trackbar.c) 1999-06-20: Sander van Leeuwen - KERNEL32: Call HMInitialize from initterm, not winexe object creation - KERNEL32: Added comctl to list of system dlls (windll.cpp) - KERNEL32: Fixed dll detach (windll.cpp) for converted win32 dlls - KERNEL32: Module name detection (windll.cpp) - KERNEL32: Activated Win32 TIB code; a selector + memory is allocated for the main thread and every thread created. When it's completed, it should fix several problems due to differences between OS/2's TIB and Win32's TEB. - COMCTL32: Fixed crash on exit (moved unregister of class into exit list handler) - USER32: Changed bugfix (WS_CLIPCHILDREN) for winhlp32 (same as Wine now) - USER32: Fixed bug in wndproc.cpp (release build only) - USER32: Added preliminary support for parent notification 1999-06-19: Sander van Leeuwen - ALL (except dsound/ddraw): Include instead of - KERNEL32: Changes for win32 TEB (not active) 1999-06-07: Sander van Leeuwen - Removed unecessary files - Modified os2win.h to save FS selector before calling Open32 api and restoring it afterwards. - Renamed all .C files (except comctl32) to .CPP and fixed compiler errors - GDI32: Fixed SetDIBitsToDevice bugfix (palette size) - USER32: Fixed RegisterSystemClasses 1999-06-07: Achim Hasenmueller - Added comctl32, mostly untested includes all controls, some undocumented APIs missing - Added internal GetSysColorPen() to user32 - handy API used in WINE Modified syscolor.cpp to support new Win98 colors and create pens 1999-06-06: Sander van Leeuwen - Bugfixes in VirtualAlloc (KERNEL32), GetScrollPos & RegisterSystemClasses (USER32) as reported on mailinglist by Edgar Buerkle. Also FindResourceA/W. 1999-06-01: David Raison - OLE32: Changed everything to make it compile with the new headers - include/win/ole.2 - line 170 - include/wine/win/obj_oleview.h - line 32 & 36 1999-05-23: Sander van Leeuwen - ADVAPI32: Fixed Open32 bugs in RegOpenKeyA (set return key to 0 when failed) Fixed key definition conflict in convertkey. - KERNEL32: Fixed exception handler, don't continue after process termination exception! (fixes annoying exitlist hangs) 1999-05-19: Sander van Leeuwen - KERNEL32: Corrected wrong export for HeapSize (reported by Vit Timchishin) 1999-05-15: Sander van Leeuwen - Fixed a number of bugs introduced during the Wine header update - KERNEL32: Added high/low fixup support for pe loader 1999-05-13: Sander van Leeuwen - Updated USER32 - Fixed unicode apis in USER32 - Added .def files for ADVAPI32, COMDLG32, GDI32, KERNEL32 & USER32 that export all apis with the correct names. (_apiname@nrofparameterbytes) 1999-05-12: Sander van Leeuwen - Finished KERNEL32 - Updated WINMM 1999-05-10: Vince Vielhaber - Rewrote WSOCK32 for Wine headers 1999-05-08: Sander van Leeuwen - Updated CAPI32, COMDLG32 & GDI32, MPR, NTDLL, TAPI32, WINSPOOL, WNETAP32 for new headers - Started with KERNEL32 changes (75% done) - Made basic changes to OLE32 for new headers, but still tons of errors - Fixed some unicode apis in GDI32 1999-05-04: Sander van Leeuwen - Stripped os2win.h and put it in include directory - WINE header files in include\win (some modified for IBM VAC) - All Open32 apis have 'O32_' as prefix, Open32 specific declarations are appended with _O32. 1999-05-01: Sander van Leeuwen - Changed makefile structure: nmake DEBUG=1 builds debug version nmake builds release version 1999-04-11: Sander van Leeuwen - Everything except user32 & kernel32: copyrights added to most files Moved a few header files in \include - Fixed import problem in peldr (include\winimage.h), SetFullPath must be a virtual method. 1998-10-26: Sander van Leeuwen - OLE32: CoInitialize takes one parameter, not 0 1998-10-11: Sander van Leeuwen - KERNEL32: except.asm Wrong calling convention for SetExceptionChain - KERNEL32: exceptions.cpp/wprocess.cpp SetExceptionChain(-1) instead of SetExceptionChain(0) 1998-09-28: Sander van Leeuwen - PE2LX: icon.cpp: palette only for <= 8 bpp - PE2LX: icon.cpp: check if image size in bmp header is correct before using it 1998-09-25: Sander van Leeuwen - PE2LX: Don't fail if an exe/dll doesn't contain any imports (pe.cpp:ProcessImports) ******************************************************************************** ***** Release 0.03/4 ******************************************************************************** 1998-09-15: KSO - WIN32K: pe2lx\misc.cpp changes 1998-09-13: Sander van Leeuwen - KERNEL32: windll.cpp: fixed bug with szModule not being initialized - PE2LX: pe.cpp: Only read first 1 MB for huge files. (as they are most likely InstallShield archives; exe appended with installation data) 1998-09-12: Sander van Leeuwen - WSOCK32: Changed fd_set to Wfd_set or else it won't compile over here - KERNEL32: Winimage.cpp, extra checks added - KERNEL32: OS2GetModuleFileName bugfix - INCLUDE/MISC.H: Error printf that prints to stdout (more reliable than a logfile) - GDI32: GetDeviceCaps -> NT returns -1 when using 16 bits colors, NOT 65536! - GDI32: CreateDIBSection -> StarCraft uses bitmap with negative height -> flip image when blitting - GDI32: DIBSection ctor: bug in BITMAPINFO2 malloc - GDI32: BitBlt: (dibsection) HDC == HPS (thank you, IBM!) 1998-09-02: Sander van Leeuwen - KERNEL32/USER32: Split up code - USER32 (/new): Started with new class & window managment code (not compiled nor tested, so don't change it) 1998-09-01: Patrick Haller - WSOCK32: Circular linker dependency removed 1998-08-31: kso - KERNEL32: changed lfile.c to use OS2CreateFile,OS2CloseHandle,.... as NT does. Notepad (W95) is now working better. - KERNEL32: fixed a open32 bug (or win32 feature) - WriteFile with nrbytes = 0 is equal to a SetEndOfFile(..); 1998-08-17: Sander van Leeuwen - KERNEL32: Changed LoadLibraryA(W/ExA/ExW) to try to load the dll directly first and if that fails, load it manually. 1998-08-15: Sander van Leeuwen - DDRAW: LOTS of changes,additions and fixes (ddex1-ddex5 DirectX SDK samples work(ed) + Quake 2 in DirectDraw mode) - DSOUND: Skeleton code extended 1998-08-13: Sander van Leeuwen - PE2LX: Replaced stack page removal code; (adjusted GetNrPages instead) 1998-08-13: KSO: - PE2LX: Borland bugfixes 1998-08-08: Sander van Leeuwen - pe2lx (pe.cpp), call SetNrOfExports(0) for dlls without exports to set the module name in the resident name table (otherwise converted dll will not load) - Version resource apis work now - LocalReAlloc bugfix, notepad assumes it returns the same address when the new size is smaller than the old one. 1998-08-03 KSO: - pe.cpp: line 600 - added OS2Exe to the parameterlist - bitmap.cpp: replace file - much. - bitmap.h: replace file - typo (BitMap to Bitmap) - icon.h: replace file - #define BI_* 1998-07-23: Knut Osmundsen - PE2LX: Borland exe changes (import stuff) 1998-07-18: Sander van Leeuwen - KERNEL32/PE2LX: Changed version checks; version nr is put into the converted exe/dll as a parameter to one of the kernel32 entry points - USER32: Changed class managment code - USER32: Removed all SYNCPAINT stuff as it breaks many apps - USER32: Removed in CreateWindowExA that checks for values of x, y, nHeight & nWidth (this broke generic.exe, notepad.exe and probably many others) - USER32: Finished GetMenuStringW (MSPaint), not working right though it should return 'Recent File', but returns 'Decent File' Well, whatever. - VERSION/KERNEL32/PE2LX: Version resource API implemention started - PE2LX: Increased some fixup limits to convert dynhgi35.dll - KERNEL32: AsciiToUnicode fixed (only terminate with one 0; doing it twice corrupts the heap as our stuff allocates exactly enough for string + 0 terminator) 1998-07-14: Sander van Leeuwen - KERNEL32: Changed OS2GetProcAddress to call the ordinal or name getApi method 1998-07-13: Patrick Haller - USER32: Unicode fix for wvsprintfW "%s" -> "%ls" - USER32: fix in Win32WindowProc destructor when "window" becomes NULL - ADVAPI32: RegConnectRegistry for connection to local machine 1998-07-13: Patrick Haller - KERNEL32: Unicode fix that garbled CommandLineToArgv and others 1998-07-12: Patrick Haller - NTDLL: new functions in NTDLL (-> critical sections) - SHELL32: few new stubs in SHELL32 - GDI32: fix in GDI32\DIBSECT\CreateDIBSection for M$ Backup - USER32: experimental fix (CS_SYNCPAINT) for WinHlp32 to display navigation buttons, but crashes SOL.EXE :( 1998-07-10: Patrick Haller - stubs for NETAPI32 100% 1998-07-09: Patrick Haller - stubs for Winspool 100% 1998-07-01 Joel Troster - KERNEL32: update to nameid.cpp 1998-06-07 Joel Troster - WINMM: WaveOpen bugfix 1998-06-07 Felix Maschek - CAPI32: bugfix 1998-06-15: Patrick Haller - GDI32: stubs for all missing functions - ADVAPI32: stubs for all missing functions - USER32: implementation of some real functions some unknown functions stubbed (IDA/2) 1998-06-14: KSO - GDI32: Stubs for Office 97 - PE2LX: Formatted output - ADVPI32: Stubs for Office 97 - VERSION: Stubs for Office 97 1998-06-12: Patrick Haller - NTDLL: ported over the NTDLL code from WINE, subject to the GNU Copyleft some applications open this module explicitly - KERNEL32: few fixes to Unicode handling - KERNEL32: console window sizing (still buggy) and property fixes - KERNEL32: stubs for all missing functions - GDI32: bugfix for DIB allocation (MS Paint) - WINMM: functions for FOURCC handling - PE2LX: CURSOR.CPP: hotspot.y is upside down (fixed for Winhlp32) - PE2LX: DIALOG.CPP: combobox style translation CBS_ fixed - PE2LX: DIALOG.CPP: style translation for WINES_MULTILINE causes MLE control to be generated. Experimental. - KERNEL32: WINDLL.CPP: fixed endless loop in Win32DLL::StripPath() 1998-05-25: Patrick Haller - KERNEL32: Added few NTDLL stubs, mainly for support of MSACM32/NT - KERNEL32: Resource fix 1998-05-03: Joel Troster - WINMM: Stubbed most of the remaining mmedia apis 1998-04-28: Patrick Haller - KERNEL32: Console fixes - KERNEL32: Console properties (partially) - KERNEL32: Handlemanager fixes - KERNEL32: OS2iGetModuleName fixes ******************************************************************************** ***** Release 0.02 ******************************************************************************** 1998-04-05: Patrick Haller - KERNEL32: Resource bugfix 1998-03-30: Joel Troster - WINMM: midiStream* stubs added 1998-03-30: Sander van Leeuwen - PE2LX: Set console flag when exe has no resources 1998-03-27: Joel Troster - WINMM: Midi changes/bugfixes, mci* api stubs added - GDI32: SetObjectOwner stub added 25-03-98: Sander van Leeuwen - KERNEL32: Several changes in resource code 19-03-98: Felix Maschek - KERNEL32: Comm stubs added 19-03-98: Sander van Leeuwen - KERNEL32: Pop up a dialog box when a missing api is called - KERNEL32: dll bugfix - KERNEL32: CreateProcessA/W fix - KERNEL32: GetProcAddr completed for PE loader & PE2LX 19-03-98: Peter Fitzsimmons - created include\version.h - changed pe2lx\lx.cpp (call SetVersion()) - changed pe2lx\misc.cpp (code for SetVersion(), setea()) - changed pe2lx\misc.h (add prototypes) - changed pe2lx\pe.cpp (moved DosClose() up a few lines, so DosSetPathInfo() could write to the file) - changed pe2lx\makefile \ - changed pe2lx\makefile.wat / Build setver.exe, getver.exe. I didn't copy these exe's to ..\bin in purpose; they aren't supposed to go to end users. - Added one line ("..\server $@") to all makfiles - added getea() to kernel32\os2util.c - added a few lines in kernel32/wprocess.cpp/RegisterDll() - Edit all initterm.c's to remove that rand() crap (that is from a sample project!). Also added new version check to each. Also #include "misc.h" - wsock32: edited makefile to remove reference to ..\kernel32\misc.obj and replace with kernel32.dll. - src\makefile: build kernel32 before wsock - src\kernel32\makefile: remove reference to wsock32.lib - src\kernel32\network.cpp: remove call to wsock32 16-03-98: Joel Troster - GDI32: Added SetObjectOwner stub 15-03-98: Joel Troster - WINMM: RTMIDI dependency removed 15-03-98: Sander van Leeuwen - All dlls, C++ init+termination call added to initterm.c - KERNEL32: Icon conversion bugfix - KERNEL32: Removed reroute of exe reading - KERNEL32: Major rewrite of dll & exe handling including LoadLibary(Ex)A/W, CreateProcessA/W, GetModuleFileNameA/W, FreeLibrary & GetCommandLineA/W Side effect: Crash at Quake 2 exit fixed - KERNEL32: Additional code for PE loader - PE: Created OS/2 ring 3 PE loader syntax: pe win32exe commandline Reads win32exe & all imported dlls, calls all dll entry points and finally calls the exe entry point. TODO: No fixups and low startup address TODO: Resources TODO: CreateProcess doesn't work right 13-03-98: Sander van Leeuwen - KERNEL32: Dll unloading fixed 13-03-98: Peter Fitzsimmons - KERNEL32: Fixed CompareStringA/W 12-03-98: Joel Troster - WINMM: Stubbed all the mixer APIs and updated support for MidiMapper 10-03-98: Sander van Leeuwen - WSOCK32: WSAStartup fix and ioctl addition (Quake 2 Multiplayer working) - KERNEL32: Resource lookup bug fixed 10-03-98: Joel Troster - KERNEL32: SetThreadLocale added 09-03-98: Patrick Haller - KERNEL32: Fix in GetStdHandle within HandleManager - KERNEL32: Console APIs completed, input and output is complete, however not thoroughly tested, SHORT 0.98D is working. Codepage support, Unicode support missing. I'm working on cosmetics and properties dialog. - EXECHECK: tool to check executables for convertibility via pe2lx and keeping track of our APIs, as well as imported/exported functions of executables (PE import is currently implemented) 09-03-98: Sander van Leeuwen - KERNEL32: Put dll & exe apis in wprocess.cpp - KERNEL32: Reroute file io from own exe to original 08-03-98: Joel Troster - KERNEL32: Unicode changes (lstrcatW, lstrcmpW, lstrcpyW lstrcpynW) - WINMM: Unicode midi apis added to .def file 08-03-98: Sander van Leeuwen - WINMM: Aux* apis implemented (not tested and not 100% correct) - include: added mmddk.h from win95 ddk 07-03-98: Peter Fitzsimmons - Added KERNEL32.GetSystemDefaultLangID() -- I copied GetUserDefaultLangID, which always returns "US ENGLISH". (NOTE: Already added) - Added ADVAPI32.ReportEventA(). Stub. - Added ADVAPI32.OS2SetSecurityDescriptorDacl(). Stub that returns ERROR. - Added ADVAPI32.* a bunch more stubs. 07-03-98: Sander van Leeuwen - KERNEL32: Implemented Local* memory apis with new heap (in win32 you can mix Heap and Local apis) - KERNEL32: Corrected key mapping bugs for arrow, insert/del/home/end page up/down keys. Doesn't work 100% right yet. (strafing in Quake = alt-arrow) 06-03-98: Sander van Leeuwen - WINMM: Added WaveOutGetNumDevs and corrected the calling convention for several apis (WIN32API, not WINAPI) - KERNEL32: Added GetSystemDefaultLangID and moved several language apis to lang.cpp - KERNEL32: Added EnumSystemLocalesA/W (US English only) - PE2LX: command line option change: pe2lx win32file > logfile Now makes a backup copy of the win32 file and creates an OS/2 version with the same name 05-03-98: Joel Troster - KERNEL32: Use OS/2 unicode apis - USER32: Use OS/2 unicode apis 04-03-98: Sander van Leeuwen - KERNEL32: Use OS2gethostname (wsock32.dll) instead of gethostname 03-03-98: Knut Osmundsen - KERNEL32: VirtualAlloc bugfixes & high memory support (SMP) 03-03-98: Patrick Haller - PECHECK: Initial code for pecheck.exe 03-03-98: Joel Troster - KERNEL32: Stubs added for Virtual(Un)Lock - WINMM: Unicode midi apis added, MIDIMAP faked, some bugs fixed 03-03-98: Sander van Leeuwen - KERNEL32: Fixed logbuffer overflow with strlen WriteLogs - KERNEL32: Use tcp32dll instead of pmwsock - PE2LX: Fixed memory corruption in icon.cpp 02-03-98: Sander van Leeuwen - KERNEL32: kernel32.c -> kernel32.cpp - KERNEL32: Merged exception logging with my latest code - include: win32type.h - WSOCK32: Removed pmwsock.lib from makefile 01-03-98: Patrick Haller - KERNEL32: Extensions to the exception handler (logging) - KERNEL32: HandleManager for pseudo-devices (CONIN$,CONOUT$,etc) - KERNEL32: Hooks for HandleManager - KERNEL32: Very early console support for stdout is there ... Console also has context menue. ******************************************************************************** ***** Release 0.01 ******************************************************************************** 28-02-98: Sander van Leeuwen - DDRAW: Initial work for Direct3D - KERNEL32/PE2LX, Changes for console applications (flag) - KERNEL32: Kill process when a fatal exception occurs (prevents some kind of eternal loop in OS/2; probably due to invalid exception records or difference in exception handler calling convention) - KERNEL32: Added a try/catch statement around the dll exit list processing in ExitProcess. Seems to cure the trap at exit. 27-02-98: Patrick haller - MPR: stubs for all documented MPR functions, should be complete now 26-02-98: Patrick haller - USER32: stubs for all documented USER32 functions, should be complete now - USER32: Windows95's SHELL32.DLL requires a few undocumented functions 24-02-98: Joel Troster - WINMM: Midi working 24-02-98: Sander van Leeuwen - KERNEL32: Exit list changes; terminate all dlls right before ExitProcess or in kernel32 exitlist in case of a trap (prevents unkillable processes in most cases) 23-02-98: Joel Troster - KERNEL32: PMPrintf version of WriteLog added 22-02-98: Sander van Leeuwen - ALL DLLs: Call C/C++ lib cleanup proc in exit list - PE2LX: Use exit lists in converted win32 dlls to terminate them - WINMM: Remove test code in timer emulation (multiplied time by 10) - KERNEL32: Release winmod objects properly - KERNEL32: Call dll exit proc in FreeLibrary 21-02-98: Sander van Leeuwen - KERNEL32: VirtualProtect size change to include all pages referenced 19-02-98: Sander van Leeuwen - PE2LX: Change order of dlls in import module name table - KERNEL32: Don't call the C/C++ lib cleanup procedure at dll termination 18-02-98: Joel Troster - WINMM: Midi changes, wave in/out stubs added 16-02-98: Sander van Leeuwen - KERNEL32: Heap bugfix 16-02-98: Joel Troster - WINMM: Midi updates 15-02-98: Sander van Leeuwen - KERNEL32: Changed heap allocation again. (now uses malloc/free) - KERNEL32: QueryPerformanceFrequency/Counter uses DosTmrQueryTime/ DosTmrQueryFreq now, so the normal xf86sup.sys can be used. 11-02-98: Sander van Leeuwen - MPR: Changed/Corrected ordinals Mon 1998-02-09 Peter Fitzsimmons - lx.cpp -- put in check for MAX_SECTIONS (was bombing out in one of "visio technical"'s dlls. - lx.cpp increase MAX_SECTIONS (lx.h) from 16 to 32 (where'd the original value come from?). - kernel32.c: added stub for FlushInstructionCache() - kernel32.c: added stub for OS2GetPrivateProfileSectionA() - advapi32: GetUserNameA() stub. Always says a person named "USER" is logged on. - MPR: WNetGetConnection(). NEEDS PROPER ORDINAL IN *.def file. 9-02-1998: Joel Troster - USER32: Added Set/GetDefaultMenuItem (stub) 7-02-1998: Sander van Leeuwen - KERNEL32/WINMM: Added VMutex to KERNEL32 (imported by WINMM) - KERNEL32: New heap implementation (heap.cpp & os2heap.cpp) - KERNEL32: Replace exception handler for each new thread - KERNEL32: Set previous exception handler to 0 instead of -1 (fixes endless exception handler calls) - Added macro dprintf & dassert to include\misc.h (no more need for #ifdef DEBUG's) 31-01-1998: Sander van Leeuwen - USER32: Fixed two bugs in CreateWindowExA/W - WINMM: Fixed wave playback problem 18-01-1998: Sander van Leeuwen - GDI32: Changed GetDIBColor & SetDIBColor - GDI32: Fixed CreateDIBSection - Quake 2 working in a window! 17-01-1998: Sander van Leeuwen - WINMM: Waveout working, Quake 2 WITH sound now! - GDI32: Implemented GetDIBColor & SetDIBColor 11-01-1998: Sander van Leeuwen - KERNEL32: Exception handler fix - WINMM: Started with WaveOut implementation 11-01-1998: Felix Maschek - TAPI32: Fixes 10-01-1998: Sander van Leeuwen - Changes to makefile and wsock32.c to make it compile with VAC - VirtualAlloc bugfix (reserve) - Dialog fix (font name) - WINMM now uses mmsystem.h from win32 SDK 10-01-1998: Chris McKillop - New build tree 10-01-1998: Vince Vielhaber - Winsock32 changes 31-12-1997: Sander van Leeuwen - Remove all 'OS2' strings from imports/exports (dlls/pe2lx) 28-12-1997: Sander van Leeuwen - KERNEL32: Code to allow IO in ring 3 added (xf86sup.sys) Set environment variable WIN32_IOPL2 to enable this - KERNEL32: Fixed GetStartupInfoA/W (WINE) - GDI32: Added CreateDIBSection from Wine (not complete) - Lots of stubs added - Almost got Quake II running.... 23-12-1997: Felix Maschek - CAPI2032: Complete implementation of CAPI 20-12-1997: Felix Maschek - TAPI32: Stub dll 20-12-1997: Sander van Leeuwen - KERNEL32: Bug in winmod.cpp - KERNEL32: Added code for exception handling (not fool proof) - KERNEL32: Fixed HeapCreate (now reserves 32 MB instead of 64 kb) - KERNEL32: Catch FPU exception, mask fpu exceptions, fix stack and continue execution - PE2LX: Removed stack size & base switch - WINMM: Added joyGetPos stub 14-12-1997: Sander van Leeuwen - KERNEL32: Added QueryPerformanceFrequency, QueryPerformanceCounter - USER32: Added some stubs - GDI32: Added some stubs - WINMM: Added some stubs - WNETAP32: New (NETAPI32) - PE2LX: Change module import name NETAPI32 to WNETAP32 (name conflict with OS/2 NETAPI32) - PE2LX: Cut long dll names to 8 chars - MPR: Added WNetGetUserA stub 31-11-1997: Sander van Leeuwen - KERNEL32: Fixed GetEnvironmentStringsW - KERNEL32: Added DeviceIOControl (devio.c, map.c, iccio.asm; last two from XFree86 driver src) - KERNEL32: Changed CreateFile to open an OS/2 driver if required - Last two changes for win32 Glide dll. - Fixed window creation (wndproc.cpp), Open32 isn't sending WM_NCCREATE msgs! - Filter out CBS_OWNERDRAWFIXED & CBS_OWNERDRAWVARIABLE combobox styles in CreateWindowExA/W (not finished) - Added FormatMessageA/W from Wine (kernel32) - USER32: - Fixed GetSystemParameterInfoA/W, SPI_GETNONCLIENTMETRICS/SPI_SETNONCLIENTMETRICS (ConvertFontAW/ConvertFontWA macros) - Progress comclt32 class working - ADVAPI32, fixed: - RegEnumKeyW - RegEnumKeyExW - RegEnumValueW - RegQueryInfoKeyW - RegQueryValueW - USER32: - Fixed DrawEdge (borrowed from Wine) - Added ChangeMenuA/W (borrowed from Wine) - Fixed some color problems - Trackbar win32 SDK example working (toolbar comctl32 class)