 /* $Id: ChangeLog-1999,v 1.1 2000/07/09 22:27:49 phaller Exp $ */

 1999-12-31: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
	- WINMM: Implemented waveOutGet/SetVolume
	- KERNEL32: Fixed bugs in iccio.asm (OFFSET FLAT:devname)

 1999-12-31: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- KERNEL32: Started with implementation of debug apis & support
                    for debugging win32 apps (mostly for additional logging)

 1999-12-30: Christoph Bratschi <cbratschi@datacomm.ch>
	- 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 <sandervl@xs4all.nl>
	- 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 <Bart_van_Leeuwen@netage.nl>
	- USER32: Implemented accelerator support

 1999-12-30: Patrick Haller <phaller@gmx.net>
	- SHELL32:	Add: StrChrIA, StrChrIW, StrStrIA, StrStrIW
	- SHLWAPI:	Add: see above, SHRegGetBoolUSValueA/W

 1999-12-29: Christoph Bratschi <cbratschi@datacomm.ch>
	- 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 <phaller@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <tvv@sbs.kiev.ua>
	- 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 <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- 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 <wiessnej@rfi.de>
	- WINSPOOL: Added stubs
	- ADVAPI32: Added crypto stubs

 1999-12-27: Vit Timchishin <tvv@sbs.kiev.ua>
	- 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 <cbratschi@datacomm.ch>
	- USER32: fixed SetWindowPos

 1999-12-27: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- 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 <sandervl@xs4all.nl>
	- 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 <mmontkowski@gmx.de>
        - dplayx: compiles and links now 

 1999-12-22: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: fixed WinGetKeyState in WM_MOUSEMOVE (WinAmp's equalizer works now fine)

 1999-12-21: Jens Wiessner <wiessnej@rfi.de>
	- MSVCRT: Updated msvcrt20 & msvcrt40 def files

 1999-12-21: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: merged controls with WINE 991212
		  fixed listbox WM_SETREDRAW bug

 1999-12-21: Markus Montkowski <mmontkowski@gmx.de>
        - 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 <sandervl@xs4all.nl>
	- 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 <R.Pronk@twi.tudelft.nl>
	- WINMM: Bugfixes in waveOutOpen (flags) for winamp

 1999-12-20  Markus Montkowski <mmontkowski@gmx.de>
	- USER32: Fixed Coordinate conversion in WM_HITTEST (don't use handles as a coordinates)

 1999-12-20: Christoph Bratschi <cbratschi@datacomm.ch>
	- 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 <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- MSVCRT: Added stubs

 1999-12-19: Christoph Bratschi <cbratschi@datacomm.ch>
	- 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 <sandervl@xs4all.nl>
	- 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 <achimha@innotek.de>
        - COMCTL32: Merged with latest WINE 991212 code

 1999-12-18: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- KERNEL32: Partially implemented GetThreadContext, Read/WriteProcessMemory

 1999-12-18: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: added MDI menu window switching
		  fixed ChildWindowFromPointEx
		  fixed WM_MDIDESTROY

 1999-12-18: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- MSACM32: Updated with latest Wine code (991212)
	- CRTDLL:  Removed the ERRNO Defs from CRTINC.H and included ERRNO.H

 1999-12-17: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: WM_NOTIFYPARENT: map cursor pos
		  implemented MDI cascade/tile

 1999-12-17: Sander van Leeuwen <sandervl@xs4all.nl>
	- KERNEL32: Delete thread's THDB structure when it quits
	- USER32: Hook removal bugfix

 1999-12-17: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- 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 <cbratschi@datacomm.ch>
	- 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 <sandervl@xs4all.nl>
	- 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 <Edgar.Buerkle@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- CRTDLL: Fix for GetMainArgs (fixes windiff)
	- MSVCRT: Fix for GetMainArgs 

 1999-12-10: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- GDI32: fixed TextOut and ExtTextOut bugs

 1999-12-09: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <djr@lemur.co.uk>
 	- 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 <achimha@innotek.de>
        - 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 <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- KERNEL32/OLEAUT32: Renamed OLEAUT32 to OLAUTOS2 to avoid conflicts
                             with Lotus SmartSuite (again..)
	- KERNEL32: Fixed memory map bugs 

 1999-12-06: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
	- WINMM: Ported MMIO from Wine (now SoundRecorder can open wave files)

 1999-12-06: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- 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 <dani@ngrt.de>
	- ODINCRT: change debug *allocs to return zeroed memory (instead of
		   filled with 0xAA). Some applications expect it this way.

 1999-12-06: Patrick Haller <phaller@gmx.net>
	- KERNEL32: Reimplemented InterlockedXXX-APIs to
		    be NT4 compatible

 1999-12-05: Christoph Bratschi <cbratschi@datacomm.ch>
	- KERNEL32: Only convert the string and not everything in UnicodeToAsciiStringN

 1999-12-05: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- KERNEL32: Better logging for CreateProcessA
	- DDRAW: io_init1 -> PUSH  OFFSET FLAT:devname

 1999-12-05: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <achimha@innotek.de>
	- 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 <mmontkowski@gmx.de>
	- 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 <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- USER32: removed WS_* check in scrollbar code
	- GDI32: moved line API's to line.cpp

 1999-12-03: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- GDI32: Fixes for CreateDCW & CreateICW
	- COMCTL32: Fixed PROPSHEET_CollectSheetInfo

 1999-12-03: Jens Wiessner <wiessnej@rfi.de>
	- 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 <phaller@gmx.net>
	- WSOCK32\NEW:	Improvements.
	- INCLUDE:	Some macro fixes in misc.h and odinwrap.h

 1999-12-02: Sander van Leeuwen <sandervl@xs4all.nl>
	- USER32: Rewrote EnumThreadWindows/EnumWindows
		  Fixed GetParent

 1999-12-02  Markus Montkowski <mmontkowski@gmx.de>
	- 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 <achimha@innotek.de>
	- WSOCK32\NEW: Not really working :(
		       Fixed WSAAsyncGetHostByName, added request data to table

 1999-12-01: Patrick Haller <phaller@gmx.net>
	- WSOCK32\NEW: Working now :)

 1999-12-01: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- 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 <Vitali.Pelenyov@dpt.ustu.ru>
	- KERNEL32: Another VirtualProtect bugfix

 1999-11-30: Daniela Engert <dani@ngrt.de>
	- USER32: eliminate superfluous background erases (part 1)

 1999-11-29: Sander van Leeuwen <sandervl@xs4all.nl>
	- KERNEL32: Added EnumResourceTypesA/W (not tested)
	- USER32: Get/SetActiveWindow bugfixes (don't return OS/2 wnd handles)

 1999-11-29: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
	- 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 <wiessnej@rfi.de>
	- CRTDLL: Implemented several functions that used to be stubs.

 1999-11-28: Sander van Leeuwen <sandervl@xs4all.nl>
	- COMDLG32: Merged with latest wine code (CVS tree dated 991126)

 1999-11-27: Jens Wiessner <wiessnej@rfi.de>
	- MSVCRT: Added stubs

 1999-11-27: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: fixed edit bugs
		  ported WINE monitor code and implemented PM driver

 1999-11-26: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <Vitali.Pelenyov@dpt.ustu.ru>
	- USER32: Extended key fix (for cursor keys in Quake 2/Hexen 2 etc)

 1999-11-26: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: fixed rect mapping -> edit scroll redraw bug fixed
		  WM_ERASEBKGND: brush or system color

 1999-11-25: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <Edgar.Buerkle@gmx.net>
	- KERNEL32: MultiByteToWideChar & WideCharToMultiByte Wine port (991031)

 1999-11-24: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- USER32: added missing button styles and messages
		  several bug fixes

 1999-11-23: David Raison <djr@lemur.co.uk>
	- OLE32: Fixed buffer size error in StringFromGUID2.
	- OLEAUT32: Rearranged iPicture

 1999-11-23: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <Vitali.Pelenyov@dpt.ustu.ru>
	- USER32: ChangeDisplaySettingsA bugfix
	- WSOCK32: Compile fix (include two more headers)

 1999-11-22: Patrick Haller <phaller@gmx.net>
	- WSOCK32\NEW: Experimental rewrite using PMWSOCK, incomplete yet

 1999-11-22: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <Vitali.Pelenyov@dpt.ustu.ru>
	- KERNEL32: VirtualProtect bugfix

 1999-11-21: Christoph Bratschi <cbratschi@datacomm.ch>
	- 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 <achimha@innotek.de>
	- 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 <cbratschi@datacomm.ch>
	- USER32: fixed listbox scrolling

 1999-11-14: Achim Hasenmueller <achimha@innotek.de>
	- COMCTL32: Merged with WINE 991114

 1999-11-18: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
	- 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 <cbratschi@datacomm.ch>
	- USER32/COMCTL32: Fixed cursor handling

*****************************Official Alpha 5 version*********************************

 1999-11-14  Markus Montkowski <mmontkowski@gmx.de>
	- 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 <djr@lemur.co.uk>
	- OLEAUT32: Tidy up IPicture implentation - now handles fOwn.

 1999-11-14: Achim Hasenmueller <achimha@innotek.de>
	- COMCTL32: Fixed strdupAtoW/WtoA calls
		    Implemented missing undocumented string functions

 1999-11-14: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <Edgar.Buerkle@gmx.net>
	- USER32: Fixed WindowFromPoint

 1999-11-14: David Raison <djr@lemur.co.uk>
	- 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 <cbratschi@datacomm.ch>
	- USER32: fixed more edit bugs
		  merged controls with wine-991031

 1999-11-13: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- USER32: fixed several edit bugs

 1999-11-12: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <Edgar.Buerkle@gmx.net>
	- KERNEL32: Wrote file io replacement apis (preliminary version)
		    (not enabled)

 1999-11-12: Jens Wiessner <wiessnej@rfi.de>
	- IMAGEHLP,IMM32,OLECLI32,OLEDLG,OLESVR32,PSAPI,RASAPI32
		    Updates
	- MSVCRT: Added stubs

 1999-11-11: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- USER32: ShowScrollBar: create not existing scrollbars

 1999-11-10: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- 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 <knut.stange.osmundsen@pmsc.no>
	- 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 <R.Pronk@twi.tudelft.nl>
	- USER32: Added support for control mnemonics (Alt-key sends BM_CLICK
		  to buttons if key == mnemonic for that control)

 1999-11-09: Christoph Bratschi <cbratschi@datacomm.ch>
	- 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 <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- NTDLL:	Add:	various new functions added (DbgXXX)

 1999-11-08: Markus Montkowski <mmontkowski@gmx.de>
	- WING32: Added first implementation of this old 32bit DLL.

 1999-11-08: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- KERNEL32: SetCurrentDirectory, CreateDirectory, RemoveDirectory bugfixes.
		    (remove terminating backslash if present)

 1999-11-08: Patrick Haller <phaller@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- 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 <Edgar.Buerkle@gmx.net>
	- USER32: GetMenuStringW fix

 1999-11-05: Achim Hasenmueller <achimha@innotek.de>
	- 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 <phaller@gmx.net>
	- COMCTL32:	Fix: TREEVIEW_Edit_Subclass is called with freed infoPtr
			     This only cures the symptoms, not the origin!

 1999-11-05: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- 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 <Edgar.Buerkle@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- SHLWAPI: Fixed makefile
	- USER32: Put back Dani's dialog fix (WS_CLIPSIBLINGS bit for dialog controls)
		  (fixes winhlp32 & comboboxes)

 1999-11-04: Patrick Haller <phaller@gmx.net>
	- 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 <knut.stange.osmundsen@pmsc.no>
	- Makefiles: Changes to build the libraries first

 1999-11-03: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- USER32: fixed modal dialogs
		  added WM_CONTEXTMENU
	- COMCTL32: implemented statusbar size grip

 1999-11-03: Patrick Haller <phaller@gmx.net>
	- 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 <mmontkowski@gmx.de>
	- 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 <achimha@innotek.de>
	- COMCTL32: Incorporated latest WINE 991031 updates
	  Note: listview doesn't paint properly now. Will be fixed later.

 1999-11-02: Markus Montkowski <mmontkowski@gmx.de>
	- DDRAW: Changed interface handling of Surfaces=> Quake 2 runs again!

 1999-11-02: Patrick Haller <phaller@gmx.net>
	- SHELL32:	Up to current WINE level
	- SHLWAPI:	Created (in WINE it mostly links to SHELL32)

 1999-11-02: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- 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 <dani@ngrt.de>
	- 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 <cbratschi@datacomm.ch>
	- KERNEL32: Ported Wine time apis

 1999-10-31: Daniela Engert <dani@ngrt.de>
	- USER32: add WS_CLIPSIBLINGS to BS_GROUPBOX style controls (fixes
		  missing buttons in SOL)

 1999-10-31: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- 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 <mmontkowski@gmx.de>
	- 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 <dani@ngrt.de>
	- USER32: Fixed missing repaints for transparent windows (VPBuddy!)

 1999-10-30: Sander van Leeuwen <sandervl@xs4all.nl>
	- USER32: Ported Wine MapDialogRect -> fixes Calc dialogs

 1999-10-30: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- USER32: Port Wine ascii <-> unicode message conversion for user32 controls
		  (Wine controls only support ascii msgs)

 1999-10-30: Jens Wiessner <wiessnej@rfi.de>
	- MSVCRT: Fixed .def file

 1999-10-29: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: rewrote scrollbar code
		  added static styles

 1999-10-29: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	   Rene Pronk<R.Pronk@twi.tudelft.nl>
	- USER32: Focus fixes. Activate a window when it receives a button click message.

 1999-10-29  Markus Montkowski <mmontkowski@gmx.de>
	- DDRAW: Changed logging, loginfo now in odin32_x.log for the first time...

 1999-10-28: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- MSVCRT: Added stubs

 1999-10-27: Patrick Haller <phaller@gmx.net>
	- KERNEL32:	Fix: console (unicode) updates, NT4'S CMD.EXE works.
			WARNING! lstrcpynAtoW has been modified, PLEASE VERIFY!

 1999-10-27: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
	- 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 <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <achimha@innotek.de>
	- KERNEL32: Added ReinitializeCriticalSection, ported WINE code
		    for this function and UninitializeCriticalSection

 1999-10-25: Patrick Haller <phaller@gmx.net>
	- 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 <mmontkowski@gmx.de>
	- 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 <sandervl@xs4all.nl>
	- 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 <dani@ngrt.de>
	- KERNEL32: Fixed cursor in VPBuddy (invalid size)

 1999-10-23: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: added more metrics for GetSystemMetrics
		  added WM_SYSTIMER support
		  several scrollbar bug fixes

 1999-10-23: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <dani@ngrt.de>
	- KERNEL32: fixed bad icon masks

 1999-10-22: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <Edgar.Buerkle@gmx.net>
	- USER32: TrackPopupMenu(Ex) fixes (window handle translation)
	- KERNEL32: HeapReAlloc bugfix (copy min(oldsize, newsize) bytes)

 1999-10-21: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <Edgar.Buerkle@gmx.net>
	- GDI32: Implemented EnumFontFamiliesA/W

 1999-10-20: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- WSOCK32:  Partial rewrite of WSA async sockets completed.

 1999-10-20: Christoph Bratschi <cbratschi@datacomm.ch>
	- KERNEL32: Ini file for Odin settings (i.e. windows & system dir)
		    Added Odin.ini.txt

 1999-10-19: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <mc6530@mclink.it>
	- USER32: Initialize MDI client variables before calling Win32BaseWindow
		  constructor

 1999-10-19: Jens Wiessner <wiessnej@rfi.de>
	- RASAPI32: Added stubs

 1999-10-19: Daniela Engert <dani@ngrt.de>
	- USER32: excessive background erases tamed

 1999-10-18: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <Edgar.Buerkle@gmx.net>
	- COMDLG32: Disable comdlg hooks for now. They don't work anyway.

 1999-10-17: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- 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 <knut.stange.osmundsen@pmsc.no>
	- KERNEL32: Removed exception throwing from Pe2Lx classes.
		    Implemented TLS support in Pe2Lx classes.

 1999-10-16: Yuri Dario <mc6530@mclink.it>
	- 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 <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- 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 <Edgar.Buerkle@gmx.net>
	- USER32: Basic message translation to fix problems in win apps
		  that wait for a specific message. (NOT COMPLETE)

 1999-10-14: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- 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 <knut.stange.osmundsen@pmsc.no>
	- 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 <Edgar.Buerkle@gmx.net>
	- USER32: lstrcmpW: check for null pointers
		  RemovePropA SetPropA bugfixes (wrong wnd handle)

 1999-10-14: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- USER32: pmframe finished

 1999-10-11: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <Edgar.Buerkle@gmx.net>
	- 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 <cbratschi@datacomm.ch>
	- GDI32: Bugfix for Pie Open32 api

 1999-10-10: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: fixed radio buttons, disabled text output

 1999-10-10: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <Edgar.Buerkle@gmx.net>
	- KERNEL32: Bugfix for GetFullPathNameW (NULL ptr check)

 1999-10-09: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- CRTDLL: Implemented functions; only 62 stubs left

 1999-10-09: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- USER32: Enabled accelerator WM_COMMANDs
	- COMDLG32: Fix for GetOpenFileNameW (owner hwnd translation)

 1999-10-08: Daniela Engert <dani@ngrt.de>
	- USER32: fix: miscoloured bitmaps

 1999-10-08: Christoph Bratschi <cbratschi@datacomm.ch>
	- 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 <Edgar.Buerkle@gmx.net>
	- KERNEL32: Accelerator conversion fixes + changes

 1999-10-08: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- USER32: GetCaretPos() fix

 1999-10-07: Achim Hasenmueller <achimha@innotek.de>
	- USER32: Corrected pageup/pagedown behavior

 1999-10-07: Rene Pronk <R.Pronk@twi.tudelft.nl>
	- USER32: Fixed WM_WINDOWPOSCHANGED behavior so that
		  client windows are properly resized. This fixes
		  the Winhlp32 history resize problem

 1999-10-07: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- 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 <wiessnej@rfi.de>
	- CRTDLL: Includes all functions (added stubs and fully implemented functions)

 1999-10-07: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <dani@ngrt.de>
	- USER32: fix: adjust caret position if window height changes.

 1999-10-06: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- KERNEL32: Fix: DLLs without Resource Segment (pResDir == NULL)
		    Fix: VirtualFree not freeing memory fixed, WINHLP32 looks healthier :)

 1999-10-05: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: rewrote color management

 1999-10-05: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- SHELL32\NEW: Compilation fix (indirectly included win32type.h)
	- KERNEL32:    Support for DisableThreadLibraryCalls

 1999-10-04: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- CRTDLL: Implemented functions + added stubs
	- MSVCRT: More stubs + crtdll forwarders

 1999-10-04: Yuri Dario <mc6530@mclink.it>
	- 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 <dani@ngrt.de>
	- USER32: WM_MOUSEMOVE bugfix (removed check for captured mouse)

 1999-10-03: Sander van Leeuwen <sandervl@xs4all.nl>
	- USER32: Updated window class with isMDIClient method
		  Fixed DrawTextExA/W compile errors (different parameter types)

 1999-10-02: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: DrawTextExA/W: implemented DT_END_ELLIPSIS
		  added DrawTextExA/W to header files

 1999-10-02: Edgar Buerkle <Edgar.Buerkle@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <Edgar.Buerkle@gmx.net>
	- 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 <wiessnej@rfi.de>
	- CRTDLL: Implemented functions + added stubs
	- MSVCRT: More stubs + crtdll forwarders

 1999-09-29: Daniela Engert <dani@ngrt.de>
	- USER32: improved timer handling for caret blinking.
		  recreate carets on focus change if needed.

 1999-09-29: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- 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 <djr@lemur.co.uk>
	- KERNEL32: Fixed GetComputerNameA

 1999-09-28: Jens Wiessner <wiessnej@rfi.de>
	- CRTDLL: Updated _except_handler2 + added Wine source changes
	- MSVCRT: Created. Forwards most apis to CRTDLL or NTDLL.

 1999-09-28: Sander van Leeuwen <sandervl@xs4all.nl>
	- USER32: Only generate WM_CHAR when TranslateMessage is called for
		  WM_KEYDOWN. (TODO: WM_SYSCHAR)

 1999-09-28: Daniela Engert <dani@ngrt.de>
	- USER32: Caret functions implemented
		  ScrollDC implemented
		  ScrollWindowEx implemented

 1999-09-28: Patrick Haller <phaller@gmx.net>
	- 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 <dani@ngrt.de>
	- USER32: SetTimer/KillTimer work now.

 1999-09-26: Achim Hasenmueller <achimha@innotek.de>
	- COMCTL32: Merged with WINE 990923 changes
		    (propsheet.c not fully done)

 1999-09-26: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <cbratschi@datacomm.ch>
	- USER32: WS_EX_* 3D frame support for child windows
	- USER32: Double click handling changed

 1999-09-25: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <dani@ngrt.de>
	- USER32: ClientToScreen and ScreenToClient didn't work -> fixed.

 1999-09-24: David Raison <djr@lemur.co.uk>
	- OLE32: Ported remaining files pertaining to OLE32 from WINE
	- OLEAUT32: Patched OaBuildVersion to level 0x1E...

 1999-09-24: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- 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 <wiessnej@rfi.de>
	- CRTDLL: Added stubs, implemented some stubs
	- IMAGEHLP, IMM32, MSACM32, MSVFW32, OLEDLG,
	  OLECLI32, OLESVR32, PSAPI, RASPI32
		  Added dprintfs.

 1999-09-23: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <djr@lemur.co.uk>
	- KERNEL32: Return "Service Pack 3" as CSD string in GetVersionExA/W

 1999-09-22: Yuri Dario <mc6530@mclink.it>
	- 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 <R.Pronk@twi.tudelft.nl>
	- 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 <sandervl@xs4all.nl>
	- USER32: Removed GetDesktopWindow fix
		  Ported getNextDlgTabItem & getDlgItem

 1999-09-21: Daniela Engert <dani@ngrt.de>
	- USER32:   background erasing/painting stuff hopefully finished.

 1999-09-21: Patrick Haller <phaller@gmx.net>
	- KERNEL32: Add: GetFileAttributesExA/W implemented (ugly)

 1999-09-21: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <djr@lemur.co.uk>
	- OLE32: Added AntiMoniker,
		 Updated regsvr32 to use RegisterLxExe

 1999-09-20: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- 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 <djr@lemur.co.uk>
	- USER32: Partially implemented MessageBoxIndirectA/W (forwarded to MessageBox)

 1999-09-18: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <dobrawka@asua.org.pl>
	- KERNEL32: Implemented lstrncmpiA

 1999-09-18: Jens Wiessner <wiessnej@rfi.de>
	- CRTDLL: Added stubs
	- SHELL32(NEW)/MSACM32/MSFW32: Link with kernel32 for lstrncmpiA

 1999-09-17: Daniela Engert <dani@ngrt.de>
	- 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 <dani@ngrt.de>
	- USER32:   Fix: UpdateWindow
		    New: RedrawWindow (preliminary), InvalidateR*

 1999-09-16: Patrick Haller <phaller@gmx.net>
	- USER32:   Fix: DIB_FixColorsToLoadflags - incr was not initialized
		    Fix: WINMENU::GetSystemMenu() was broken.

 1999-09-15: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- NTDLL: Added CRT-functions.

 1999-09-13: Daniela Engert <dani@ngrt.de>
	- USER32\NEW: DC/related code: ReleaseDC, GetWindowDC, DC destruction,..

 1999-09-13: Patrick Haller <phaller@gmx.net>
	- SHELL32\NEW:	updated to current wine level

 1999-09-13: David Raison <djr@lemur.co.uk>
	- KERNEL32: Fixed MultiByteToWideChar. Return size of string including
		    0 terminator.

 1999-09-13: Jens Wiessner <wiessnej@rfi.de>
	- CRTDLL: Added functions.

 1999-09-08: David Raison <djr@lemur.co.uk>
	- OLEAUT32: Updated TypeLib code to find typelibs in EXE/DLL etc
		    NB Still need to fix typelib translation.

 1999-09-12: Daniela Engert <dani@ngrt.de>
	- USER32\NEW: DC/related code: GetDCEx implemented. Slightly enhanced
		      over Open32.

 1999-09-12: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
	- 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 <dani@ngrt.de>
	- USER32\NEW: begin new DC/related code. BeginPaint/EndPaint done.

 1999-09-09: Patrick Haller <phaller@gmx.net>
	- 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 <mc6530@mclink.it>
	- 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 <knut.stange.osmundsen@pmsc.no>
	- KERNEL32, USER32, USER32\NEW, GDI32, ADVAPI32: <dllname>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 <dllname>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 <phaller@gmx.net>
	- OLE32: CLSIDFromStringA is needed in other modules, too. (SHELL32)

 1999-09-08: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- CRTDLL: Created dll (Wine port)

 1999-09-07: Patrick Haller <phaller@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- USER32\NEW: Dialog updates (not yet done)

 1999-09-04: Daniela Engert <dani@ngrt.de>
	- USER32\NEW: beginning with 'DAXifying' of our windows

 1999-09-04: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- MSVFW32: Created stub (partly) dll (Based on Wine 990815)
	- PSAPI: Created stub dll (Based on Wine 990815)

 1999-09-03: Sander van Leeuwen <sandervl@xs4all.nl>
	- USER32\NEW: MDI child/client improvement (not all wine code has
		      been ported though)

 1999-09-01: Patrick Haller <phaller@gmx.net>
	- *:	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 <phaller@gmx.net>
	- *:	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 <sandervl@xs4all.nl>
	- USER32\NEW: Fixed GetWindowDC (Freecell 'Cards Left' string drawn
		      at the right place)

 1999-09-01: Jens Wiessner <wiessnej@rfi.de>
	- RASAPI32: Created stub dll
	- MSACM32: Created (partly) stub dll

 1999-08-31: Patrick Haller <phaller@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <R.Pronk@twi.tudelft.nl>
	- USER32,USER32\NEW: Implemented ChildWindowFromPointEx

 1999-08-30: Jens Wiessner <wiessnej@rfi.de>
	- OLEDLG: Created stub dll
	- INC\WIN: Update for ras.h

 1999-08-30: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- OLECLI32: Created stub dll
	- IMM32: Created stub dll
	- IMAGEHLP: Created (partly) stub dll

 1999-08-28: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <dani@ngrt.de>
	- USER32\NEW: client windows get repositioned now when
		      the parent resizes

 1999-08-28: Achim Hasenmueller <achimha@innotek.de>
	- COMCTL32: Merged with latest WINE updates (990815)

 1999-08-28: Yuri Dario <mc6530@mclink.it>
	- INCLUDE\WIN: Added macros to windowsx.h

 1999-08-27: Daniela Engert <dani@ngrt.de>
	- 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 <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- KERNEL32: removed logging page faults if mmapped i/o

 1999-08-26: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <wiessnej@rfi.de>
	- OLESVR32: Created stub dll

 1999-08-25: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- 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 <mc6530@mclink.it>
	- Makefiles: Link with predefined VAC lib (RTLLIB(_O))
		     Needed for VAC 3.6.5

 1999-08-20: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- ODINWRAP: fixed invalid macros

 1999-08-19: Patrick Haller <phaller@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- NTDLL:    tons of new stubs and crt functions
	- WNETAP32: tons of new stubs

 1999-08-18: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <dobrawka@asua.org.pl>
	- KERNEL32: Profile bugfix (line 506) && removed redundant '\r'
		    (except on line 199)

 1999-08-17: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- LZ32:    can't export LZCopy as ID0, changed to alphanumeric export

 1999-08-16: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- SHELL32: integrated Christoph Bratschis SHELL32 stubs
	- WSOCK32: odinwrap macros

 1999-08-16: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: uitools.cpp update

 1999-08-15: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32\NEW: controls: wine-990731 update

 1999-08-14: Christoph Bratschi <cbratschi@datacomm.ch>
	- COMCTL32: wine-990731 update

 1999-08-14: Sander van Leeuwen <sandervl@xs4all.nl>
	- INCLUDE\win\windows.h: Include odin.h if __WIN32OS2__ is defined

 1999-08-13: Sander van Leeuwen <sandervl@xs4all.nl>
	- KERNEL32: Export heap functions by ordinal
	- src\makefile: compile lz32 before version (dependency)

 1999-08-12: Patrick Haller <phaller@gmx.net>
	- VERSION: enhanced plus odinwrap macros

 1999-08-11: Patrick Haller <phaller@gmx.net>
	- ODINCRT: ordinal exports
	- ADVAPI32:odinwrap macros (partially)
	- LZ32:    odinwrap macros

 1999-08-10: Sander van Leeuwen <sandervl@xs4all.nl>
	- USER32/NEW: Fixed makefile (link with odincrt)

 1999-08-10: Patrick Haller <phaller@gmx.net>
	- LZ32: added preliminary support for independend LZ32 library

 1999-08-09: Patrick Haller <phaller@gmx.net>, Achim Hasenmueller <achimha@innotek.de>, Markus Montkowski
	- ODINCRT: providing a extensible wrapping layer for VAC++ runtime functions
		   change is non-intrusive for existing source.

 1999-08-06: Patrick Haller <phaller@gmx.net>
	- 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 <phaller@gmx.net>
	- 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 <sandervl@xs4all.nl>
	- KERNEL32:  Bitmap conversion bugfix; always recalculate bitmap size
		     (bitmap in donut.exe (ddraw sample) contains wrong size)

 1999-08-04: Patrick Haller <phaller@gmx.net>
	- KERNEL32:  fix for filename handling in kernel32/profile
	- KERNEL32:  fix for PROFILE_CopyEntry in kernel32/profile

 1999-08-04: Sander van Leeuwen <sandervl@xs4all.nl>
	- PE2LX: Bugfix for icon conversion (heap corruption for ra95.exe; as
		 reported by Patrick Haller)

 1999-08-04: Patrick Haller <phaller@gmx.net>
	- KERNEL32: Heap modification
	- KERNEL32: Windows 3 style profile support ported from WINE (removes Open32)

 1999-08-03: Rene Pronk <R.Pronk@twi.tudelft.nl>
	- USER32: Ported DrawTextExA/W & DrawStateA/W

 1999-07-27: Przemysˆaw Dobrowolski <dobrawka@asua.org.pl>
	- KERNEL32: Implemented GetComputerNameA/W

 1999-07-25: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- KERNEL32: GetLocateInfoA bugfix
	- USER32/NEW: Lots of changes; now Solitaire starts, but draws cards incorrectly

 1999-07-23: Yuri Dario <mc6530@mclink.it>
	- 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 <dobrawka@asua.org.pl>
	- 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 <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- 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 <sandervl@xs4all.nl>
	- KERNEL32: Exports for getting TEB & THDB added

 1999-07-15: Sander van Leeuwen <sandervl@xs4all.nl>
	- USER32/NEW: Unicode & window handle translation bugfixes

 1999-07-14: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32/NEW: several bugs fixed, compiles now
		      CreateWindow doesn't work yet

 1999-07-13: Sander van Leeuwen <sandervl@xs4all.nl>
	- USER32/NEW: *VERY* preliminary/alpha code for Open32 replacement in user32
		      Compiles, but not tested at all.

 1999-07-12: Patrick Haller <phaller@gmx.net>
       - 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 <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- KERNEL32: major enhancement of handlemanager

 1999-07-06: Edgar Buerkle <100566.557@compuserve.com>
	- PE2LX: Finished support for codepages

 1999-07-05: Patrick Haller <phaller@gmx.net>
	- SHELL32: SheSetCurDrive stub, ...

 1999-07-05: Sander van Leeuwen <sandervl@xs4all.nl>
	- 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 <phaller@gmx.net>
	- KERNEL32: HandleManager fixes as suggested by Edgar Buerkle

 1999-07-04: Christoph Bratschi <cbratschi@datacomm.ch>
	- PE2LX/USER32: Dialog default font set to WarpSans + fixes

 1999-07-02: Christoph Bratschi <cbratschi@datacomm.ch>
	- PE2LX/USER32: Dialog bugfix for entryfield strings

 1999-06-30: Christoph Bratschi <cbratschi@datacomm.ch>
	- 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 <dobrawka@asua.org.pl>
	- WINMM: Implemented remaining joystick apis + bugfixes

 1999-06-29: Patrick Haller <phaller@gmx.net>
	- KERNEL32: GetLocaleInfoA bugfix (lang.cpp)

 1999-06-29: Przemysˆaw Dobrowolski <dobrawka@asua.org.pl>
	- 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 <os2wrap.h> instead of <os2.h>
	- 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)
