 /* $Id: ChangeLog-2000,v 1.8 2001/01/05 23:27:13 sandervl Exp $ */

 2000-12-31: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o Implemented ReadFile/WriteFile for COM devices (UNTESTED)
    - ODINCRT:  o Don't export anything by name (we import everything by ordinal
                  and it saves 15k)

 2000-12-30: Sander van Leeuwen <sandervl@xs4all.nl>
    - INSTALL:  o Don't include odin.ini anymore. 
    - KERNEL32: o Create 'Font Mapping' Odin.ini entry during WarpIn install
                  (odininst execution)
    - GDI32:    o System object can't be deleted (e.g. system pens & brushes)
                  Check for those in DeleteObject.
                  (TODO: also check for others (fonts)??)
                  (Fixes missing background in DreamWeaver 4 demo install dialogs)

 2000-12-29: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Export OS2ToWin32Handle & Win32ToOS2Handle with stdcall
                  calling convention. (not mangled)
    - GDI32:    o Changes for above exports

 2000-12-27: Jeroen van den Horn <J.vandenHorn@chello.nl>
    - WININET:  o Resync with latest Wine + fixes/additions

 2000-12-27: Yuri Dario <mc6530@mclink.it>
    - USER32:   o Wrong flag check in SetWindowPos (didn't include e.g. SWP_NOSENDCHANGING)

 2000-12-21: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Fixed two FS bugs in main PM window handler. (FS not restored
                  before returning)
                o Split up frame and child window PM handlers. 
                o Don't send PM WM_ACTIVATE to child windows in WM_WINDOWPOSCHANGED
                  (fixes some activation problems)
                o Put back code to add MDI windows to menu (latest update doesn't work)
                o Properly invalidate non-client area when SetWindowPos is called
                  with SWP_FRAMECHANGED. (fixes menu switch)
                o SetParent bugfix; when putting window at the top of the z-order we
                  mustn't activate it (SWP_NOACTIVATE)
                  (fixes activate problem when starting up Lotus Notes 5)
    - OLEAUT32: o Ported latest Wine version (12-22-2000)
                  (TODO: Port David's additions)
    - TOOLS\INSTALL:
                o 3Dfx glide & opengl removed from base install
                  (download opengl3dfx.zip from ftp.os2.org if you need it)
                  Dllfixes win32k feature disabled (enabled by default); it's
                  causing too many problems right now.

 2000-12-17: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Call WH_CBT hook during OS/2 WM_CREATE message. Some apps
                  rely on the window being valid when this hook is called. 
                  (Girotel used GetDC which previously failed)
                o Use different PM window class for child windows. Solves some
                  focus problems. (TODO)
                o Some MDI changes/fixes (from Wine)

 2000-12-16: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Edit control: Limits removed. EM_SETTEXTLIMIT has no effect in 
                  NT4, SP6 (EM_GETTEXTLIMIT only returns that value).
                  Limits are simply ignored, no EN_MAXTEXT notification is ever sent.
                  (fixes license edit control in Microsoft Visual C++ 4.2 install)
                o Static control: SS_REALSIZEIMAGE is supposed to prevent 
                  control resizing, but that doesn't appear to happen in NT 
                  (although the SDK docs are very clear about this)
                  Need to figure out why. (not resizing messes up the bitmap 
                  control in the Microsoft Visual C++ 4.2 install program)
                  Same thing happens with a very simply test app, so the installer
                  does nothing special.
    - WNASPI32: o Fixed bug in access aspi method. (wait check reversed)
    - MAKEFILES:o Update for overriding stack size of executables
    - PELDR:    o Fixed makefiles (PEC was built as a PM app -> must be VIO!)
    - KERNEL32: o Only call DosGetNamedSharedMem & free view if map created
                  by different process. (fixes hang in Lotus Notes 5)

 2000-12-12: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o GetVolumeInformationA bugfix (lpFileSystemNameBuffer == NULL &
                  lpFileSystemFlags != NULL)
                o Wrong calls to VirtualFree in memory map & tls code (size must be zero)
                o Shared memory address retrieved with DosGetNamedSharedMem not properly freed

 2000-12-12: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32k:   o Fixed problem with newer kernels having a different
                  prolog to ldrCheckInternalName. (Seems like either new
                  compiler or better optimization.)
                o Corrected bad loop condition in configure.cmd causing
                  a neverending loop during build.
    - Win32kCC: o Corrected the setting of the -DllFixes parameter.
    - readme.txt:
                o Corrected minor flaw: Win32k option "-PE" should be "-Pe".

 2000-12-10: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32k:   o Fixed minor error in the *printf function.
                o Added the 14063 kernels (*1129[d].zip).
                o Removed OS/2 kernel limit for DLL name length.
                  (Experimental - see readme.txt option -Dllfixes.)
                o Removed OS/2 kernel restriction for DLL extention.
                  (Experimental - see readme.txt option -Dllfixes.)
    - readme.txt:
                o Updated win32k.sys with new parameter, -Dllfixes.

 2000-12-09: Patrick Haller <patrick.haller@innotek.de>
    - KERNEL32: o accelerated FindFirst/FindNext calls (oslibdos.cpp)
    - makefile: o added support for "profile" debug build

 2000-12-09: Sander van Leeuwen <sandervl@xs4all.nl>
    - GDI32:    o Temporary fix for bugs introduced by recent handle changes.

 2000-12-07: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - USER32:   o Changed CFLAGS and CXXFLAGS overrides to a CDEFINES override.
                  (This is the new way to alter the standard C and C++ defines.)

 2000-12-07: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Missing USING_OPEN32 define in makefile. Might be responsible
                  for a lot of problems that have recently emerged.

 2000-12-06: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Must call selectClientArea after GpiSetClipRegion in BeginPaint
                  When a window with CS_OWNDC looses focus, for some reason
                  GpiSetClipRegion resets the window dc origin back to (0,0).
                  (fixes e.g. Visual C++ 4.2 setup when switching between
                   setup window & another app)
    - KERNEL32: o Rewrote GetLogicalDrives
                o Minor fixes for GetDriveType (return value equals DRIVE_NO_ROOT_DIR
                  for junk input; does not change last error)

 2000-12-06: Patrick Haller <patrick.haller@innotek.de>
    - USER32:   o added debug macros to HOOK_ functions
    - GDI32:    o added debug macros to Font related functions

 2000-12-05: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o 16 bits menu handles are now supported (fixes crash in MultiEdit)
    - GDI32:    o Changes to local object handle management (for user32 menus)
    - KERNEL32: o Don't assume resources start at section boundary.
                  Must use DataDirectory virtual address.
                  (fixes winrar self-extracting executables)

 2000-12-03: chris.wohlgemuth <chris.wohlgemuth@cityweb.de>
    - KERNEL32: o Fix for TVFS & GetDiskFreeSpaceA (Windows Media Player
                  install complains about cluster size)
                  (DRIVESPACE section, key CLUSTERTO32 in odin.ini)
                o Fix in PROFILE_GetSection for crash in Windows Media Player install
    - WINMM:    o Ported Wine MCI code

 2000-12-03: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - TOOLS\install:
                o More installation script fixes.
    - Win32k:   o Fatal error! I mixed flags for C and C++ compilation during
                  makefile rewrite. This caused C++ exceptionhandlers to be
                  generated and registered, leading to Trap 000e during boot.
                o Confirmed working on the Warp 4 14.060 (at least halfstrict)
                  kernel (w41106.zip).

 2000-12-03: Sander van Leeuwen <sandervl@xs4all.nl>
    - TOOLS\install:
                o Installation script fixes.

 2000-12-03: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - *, makefiles, pdwin32k.*, odin32.*.mk, Configure.cmd:
                o Made some addjustments to the makefiles. Most important
                  eliminating nearly all ODIN32_<dir> directory macros.
                o Changed all "PDWIN32_" to "ODIN32_".
                o Renamed pdwin32.$(CCENV).* to pdwin32.*.$(CCENV).mk
                  and pdwin32.* to odin32.*.mk.
                o Added tiny rexx script, Configure.cmd, which generates
                  a file with absolute directory macros; makefile.inc.
                  Makefile.inc also includes /include/odin32.mk.
                  NB. This script is automatically invoked the first time
                  you start nmake or wmake on /makefile.
                o Restructured the win32k.sys makefiles. Now all but
                  the win32k.sys makefile is using the new makefile style.
                o The tools makefiles are mostly according to the new style.
                o Compiler and debug/release specific library directory.
                  ODIN32_LIB will now point to a compiler specific directory
                  under /lib. Debug and release files are also separated.
                o The <>exp.def are now generated in the $(OBJDIR) directory.
                o .lib-files are also targeted to $(OBJDIR).
                o More Watcom friendly makefiles. (I didn't say that they are
                  working with Watcom! I removed VAC dependencies when
                  possibled or else tried to make wmake fail.)
                o Moved readmes in the /bin/glide tree to the source
                  directories under opengl.
    - tools/install:
                o Removed odininst.wis - odin.cmd generates this.
                o Tried to make odin.cmd more readable; uses
                  the wic.exe option -c <dir> to set current directory.
                  ARG! Why can't wic.exe return anything but 0? When files
                  aren't found for example, I have no way of finding it out.
                o Added package which adds win32k.sys to the config.sys.
                  Seems like I have to add a file to that packet, so win32k.ddp
                  works as dummy file. It also seems like there is a but in
                  WarpIn 0.95 - it inserts the line between the '\r' and the '\n'
                  chars at the end of the previous line.

 2000-12-02: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o Added renaming for MCICDA (MCICDA.DLL -> MCICDA.DRV)

 2000-12-02: chris.wohlgemuth <chris.wohlgemuth@cityweb.de>
    - WINMM\MCICDA:
                o Rewrote it for OS/2

 2000-11-26: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32kCC: o Fix bootdriveletter which jumped for each save.
                o Fixed shrinking of config.sys problem.

 2000-11-28: Kai Sommerfeld <kai.sommerfeld@hamburg.de>
    - SHELL32:  o Workaround for what seems to be a Wine bug dealing with
                  the index of icons. (fixes wrong file open dialog icons)

 2000-11-26: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - FastDep:  o Added option '-x' to exclude files.
    - Win32k:   o Exclude generated sourcefiles from dependencies.
    - Win32kCC: o Added support for updating config.sys settings.
    - KERNEL32: o Fix for CreateFile on readonly files with CREATE_ALWAYS_W.
                  OPEN_ACTION_REPLACE_IF_EXISTS requires write access to the
                  file. This broke typical install programs.

 2000-11-25: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o ReleaseCapture fix (endless loop in MultiEdit)
    - KERNEL32: o Workaround for DosAllocSharedMem limitation. OS/2 does
                  not accept shared memory names with colons. Replace
                  them with underscores.
                  (fixes crash at startup for PMMail 2000)

 2000-11-24: Patrick Haller <patrick.haller@innotek.de>
    - WINMM:    o FS: corruption fix in MixSetup->pmixWrite (DART)

 2000-11-24: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Don't send WM_CREATE or WM_NCCREATE messages to dialogs
                o Don't send WM_NCCALCSIZE to a dialog before it has received
                  WM_INITDIALOG
                  (looks like that's how NT4 SP6 does it)
                  (fixes sysinf32 error messages about failure to create dialogs)
                o CopyIcon bugfix (CURSORICON_ExtCopy)

 2000-11-24: Kai Sommerfeld <kai.sommerfeld@hamburg.de>
    - SHELL32:  o Completed ICO_ExtractIconEx rewite
                o Changed shell32 icon lookup (IExtractIconA_fnGetIconLocation)
                o Added 45 shell icons + one Explorer icon
                  (Icon author: Pierre Cavanna, Icon origin: http://www.iconstreet.com)

 2000-11-24: Oliver Braun <Oliver.Braun@hamburg.de>
    - OLE32:    o Synched with latest OLE clipboard implementation

 2000-11-23: Sander van Leeuwen <sandervl@xs4all.nl>
    - GDI32:    o Fixed crash in SetDIBits method of DIB section class
                  for compressed bitmaps.
    - KERNEL32: o Fix for launching apps with spaces in their pathname
                  (CreateProcessA)
                o Fix for OpenFile and file names with too many backslashes
                  (NT4, SP6 accepts e.g. m:\\\ikernel.ex_; DosOpen doesn't)
                o Same fix for CreateFile (same behaviour observed in NT4, SP6)
    - USER32:   o Added localized resources (copied from Wine)

 2000-11-22: Patrick Haller <patrick.haller@innotek.de>
    - CRTDLL:   o Added some debug code, added missing exports ltow, ultow

 2000-11-22: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o When application sends invalid brush in responds to
                  WM_CTLCOLOR messages -> get default brush (by calling
                  DefWindowProcA)
                  (fixes white background of checkboxes in Adobe Distiller's
                   option dialog)
                o Workaround added for bug in StretchDIBits when stretching
                  AND mask of icons. Create bitmap and use StretchBlt to blit
                  and stretch/shrink the icon mask.
                  (fixes wrong icons for some executables (e.g. Napster) in
                   the file open dialog)
    - GDI32:    o Print warning when StretchDIBits is called with 1bpp bitmap data

 2000-11-21: Patrick Haller <patrick.haller@innotek.de>
    - CRTDLL:   o Merged with WINE code, numerous stubs resolved, many VAC
                  CRT dependencies resolved with self-contained ODIN code

 2000-11-21: Sander van Leeuwen <sandervl@xs4all.nl>
    - include\win\thread.h:
                o New TEB layout (like latest Wine)
    - include\versionos2.h:
                o Increased LX dll version (new dlls incompatible with old versions)
    - USER32,KERNEL32:
                o Changes for new TEB
    - OLE32:    o Added CreateErrorInfo, GetErrorInfo & SetErrorInfo (Wine port)
                o Added Wine cursors to resource file
    - KERNEL32: o Be careful with terminating strings in lstrcpynAtoW/WtoA
                  Must not always set the last character to 0; just terminate
                  the string if it's shorter than the max size. Some apps send
                  the wrong string size to apis that use this function (i.e.
                  GetMenuStringW (Notes)) -> overwrites stack
                  (fixes crash when activating menus in Lotus Notes 5)
    - USER32:   o CopyImage bugfix (black icons in file dialog)

 2000-11-21: Oliver Braun <Oliver.Braun@hamburg.de>
    - USER32:   o Added support for WM_DESTROYCLIPBOARD

 2000-11-21: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - pdwin32.*:
                o Fighting with the Watcom compilers and WMAKE.
                  Not at all completed. (Is now able to build fastdep.c - very usefull! ;-) )
    - tools/install:
                o Corrected makefile.
    - fastdep:  o Updated to compile with Watcom.
    - tools/common, tools/impdef:
                o Updated to new makefile style.

 2000-11-20: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Fixed bug in code that looks for the best icon (based on size/bpp)
                  Don't use entry->ResInfo.icon.bColorCount, but entry->wBitCount instead.
                  (Winamp 2.7 has icons with bColorCount set to 0 even though
                   they're 8 bits)

 2000-11-20: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o Updates and fixes for the debug api functions

 2000-11-20: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - pdwin32.*:
                o Some sdjustments and corrections.
                o Flag macros can't be added and added and added and
                  added to - NMAKE don't support it.
                o Use CreatePath.cmd to makesure that OBJDIR any target
                  directory for a copy (CP) operation exists.
                o Use ExecExcl.cmd to execute ILINK execlusivly. Since
                  running ILINK concurrently in two processes often failes.
    - src/makefile:
                o Changed the all rule.
                o Added two nice features to the all, build, lib(s), dep
                  and clean rules:<ul>
                    <li>MASSIVE. Define MASSIVE (on nmake commandline) and
                        these rules will spawn a nmake child for each
                        subdirectory.
                    <li>SMP. Define SMP (on nmake commandline) and the
                        subdirectories are traversed backwards. This
                        replaces the makefile.smp stuff.
                  </ul>
                o smp rule - dual build. Build Odin as usual but first it
                  spawns a child which builds Odin backwards (SMP=1).
    - makefile: o Updated the SMP ruls to use new src/makefile.
    - COMCTL32: o Removed debugtools.h. Yesterdays changes by Sander depended
                  on debugtools.h found in include\win.
                o Added the missing IDS_SEPARATOR from the current Wine sources.

 2000-11-19: Sander van Leeuwen <sandervl@xs4all.nl>
    - COMCTL32: o Resynced new Wine code with Christoph's unicode fixes
                  (animate, comboboxex, datetime, monthcalc & flatsb)
    - USER32:   o Another SetWindowPos fix for SWP_FRAMECHANGED (send WM_POSCHANGING/CHANGED messages)
    - PELDR:    o Fixed makefiles.

 2000-11-19: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - *:        o New makefile style implemented in the entire tree;
                  except for some unused makefiles.
                  As last time everything went quite well excpet for the
                  opengl and win32k trees which still are quite special
                  cases (especially win32k).
                o The new makefile style is designed minimal, only specifying
                  what really is unique for a makefile. All general stuff is
                  placed in central makefiles (the pdwin32.*.* files).
                o It is meant to work with wmake too. But that's not quite
                  ready and tested yet.
                o One of the more important changes are that C, C++ and
                  resource include search path is define separatly as
                  CINCLUDES.
                o The same goes for defines, they are defined as CDEFINES.
                  There are two alternate CDEFINES macros; CDEFINES_ODINCRT
                  and CDEFINES_WIN32APP.
                o All the PDWIN32_ directory macros
                o New LIBTARGET type of makefiles.
                o Many addtions, changes and corrections to the .post files.
                o Watcom main makefiles aren't quite up-to-date.
                o If there are any errors/problems Then
                    If you can fix them Then Do fix them ASAP.
                    Else Send a message ASAP to the win32os2-wai list.
                    Endif
                  Endif
    - PELDR:    o Makefile splitted into pe.mak and pec.mak.
    - OLE32:    o Makefile splitted into ole32.mak and regsvr32.mak.
    - MSCVRT:   o Makefile splitted into msvcrt.mak, msvcrt20.mak and msvcrt40.mak.
    - OPENGL:   o For some queer reason I had to add mem.c to the mesa/3dxf
                  makefile. This might be an indication that something went
                  wrong here but I am unable to figure it out.
    - NTDLL:    o Added dllinitstub.asm instead of the compiler specific
                  object file. Should perhaps be placed in dllentry and
                  made ready for Watcom.
    - tools/database:
                o Fixed build bug.
    - tools/fastdep:
                o Fixed option -r. It changed the object extention in stead
                  of the resource target extention. (Used to generated
                  dependencies for .orc files now.)

 2000-11-18: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o CopyImage fix for icons

 2000-11-18: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o Workaround for exceptions caused by apps filling ES
                  with the FS selector

 2000-11-17: Sander van Leeuwen <sandervl@xs4all.nl>
    - include\win\authors.h:
                o Added Kai Sommerfeld
    - USER32:   o SetWindowPos fix for frame change in Clock.exe
                  (missing MsgFormatFrame call)
    - KERNEL32: o CreateThread bugfix (crash in pmwinx when lpIDThread == NULL)
    - COMCTL32: o Updated animate, comboboxex, datetime, monthcalc & flatsb
                  controls with latest Wine code (2000-11-12)
    - COMDLG32: o Temporary workaround for crash in Adobe Acrobat 4.0
                  (file open dialog; weird hook call in FILEDLG95_OnOpen)

 2000-11-17: Kai Sommerfeld <kai.sommerfeld@hamburg.de>
    - SHELL32:  o Added support for LX images to ICO_ExtractIconEx

 2000-11-16: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Added support for SPI_GETICONMETRICS in SystemParametersInfoA
                  (ported Wine code)
                o SPI_GETICONTITLELOGFONT fix for SystemParametersInfoW (wrong height)
    - GDI32:    o Reimplemented GetTextExtentA. Seems to solve some
                  problems with font size calculation.

 2000-11-15: Oliver Braun <Oliver.Braun@hamburg.de>
    - USER32:   o Added message translation for clipboard messages
                o OpenClipboard fix for NULL window handle

 2000-11-15: Sander van Leeuwen <sandervl@xs4all.nl>
    - WINSPOOL: o Partially implemented EnumPrintersA
                o Implemented DeviceCapabilitiesA/W (calls Open32)
    - GDI32:    o Workaround added for coordinate problem when a window
                  looses focus and SelectClipRgn is called. GpiSetClipRegion
                  resets the window origin for some unknown reason
                  (TODO: figure out why)
                o Same workaround added for ExtSelectClipRgn
                o Reset origin after a bitmap is selected into a window DC
                o Fix for yesterday's SetDIBits bugfix; SetBitmapBits
                  expects WORD aligned scanlines; SetDIBits DWORD aligned
                  Correct this when flipping the bitmap
    - USER32:   o selectClientArea exported for GDI32
                o Validate rectangle returned after WM_NCCALCSIZE

 2000-11-14: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o HMInitialize bugfix (initialization)
                o VirtualAlloc fix (wrong VirtualProtect call)

 2000-11-14: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o Added FindDevice method to device classes to ease searching
                  for device names. (COM class now doesn't have to register
                  16 devices)
                o Bugfix in COMM class (error code interpreted wrong)
                o COMx: (x=1..8) now also recognized as name for COM port
    - GDI32:    o Workaround added for bugs in Open32's SetDIBits; messes
                  up colors for 1 bpp bitmaps
                  (reversing scanlines and calling SetBitmapBits works, but only
                   if the all scanlines are updated!)

 2000-11-12: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o LoadBitmapW heap corruption fixes (reported by Michal Necasek)
                  for OS/2 1.3 bitmaps conversion

 2000-11-11: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o CreateWindowExW bugfixes (atom lookup + unicode string handling)
                o Added stubs for SetWinEventHook, UnhookWinEvent & NotifyWinEvent

 2000-11-10: Patrick Haller <phaller@gmx.net>
    - KERNEL32: o implemented .42 and .47 ... which are "NullFunction"s.

 2000-11-10: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Fixed wrong icon colors in release build

 2000-11-10: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o VirtualQuery fix for inaccessible pages

 2000-11-10: Knut St. Osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32k:   o Updated symbol database with the 14060 kernels from
                  testcase. (Very minor changes compared to the first 14059
                  release when symbols are compared.)
                  Note. The 14059 kernels from 2000-10-31 are not supported
                  due to build number conflict with the kernels released
                  2000-10-23. The 2000-10-23 kernels are present in the
                  symbol database.

 2000-11-09: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Implemented LoadCursorFromFileA/W (Wine port)
                o Fixes for LoadIconA/W & LoadCursorA/W; use default width & height
                  in LoadImage call
                o Fixed memory leaks in LoadCursorA/W
                o Rewrote icon apis using ported and modified Wine code
                  (fixes scaling of icons + wrong size of icons)
                  NOTE: Still some problems left (e.g. file open dialog icon)
                        Will be fixed asap.
                o Fixed coordinate mapping problem in MDI_ChildGetMinMaxInfo
                o Added Wine user32 icons (user32\bmp)
                o Fixed resource dependency
    - GDI32:    o Wrong call to dsect->SetDIBColorTable in CreateDIBSection
                  (PALETTEENTRY has red & blue reversed compared to RGB2/RGBQUAD)
                  (reported by Platon Fomichev)
                o Must call ReleaseDC for window dcs in DeleteDC
    - KERNEL32: o Removed unused resource conversion code (bitmaps, icons & accelerators)
                o Create system32\drivers\etc directory during install
    - COMCTL32: o Fixed resource dependency
    - COMDLG32: o Fixed resource dependency
    - SHELL32:  o Fixed resource dependency

 2000-11-09: Achim Hasenmueller <achimha@innotek.de>
    - WSOCK32:  o WINSOCK_DeleteIData fix

 2000-11-09: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o GetLocaleInfoW fix for Czech language (weird thousand separator)

 2000-11-06: Sander van Leeuwen <sandervl@xs4all.nl>
    - COMDLG32: o Merged with latest Wine code (11-05-2000)
                o Added bugfix for empty initial dir string (file open/save dialogs)
                  Should use current directory; not the desktop
    - SHELL32:  o Merged with latest Wine code (11-05-2000)

 2000-11-06: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o GetFullPathNameW bugfix
                o HeapReAlloc fix; must return the same pointer when shrinking
                  an allocation (NT's CMD.EXE depends on this!)

 2000-11-05: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Changed warning string for ExitWindows api
                o Additional exports for gdi32; moved 4 apis back into gdi32
                o Fixed SetWindowPos during WM_NCCREATE (static control (bitmaps
                  + icon) resize now works)
    - GDI32:    o Rewrote many transformation & coordinate apis
    - KERNEL32: o Use DosLoadModule instead of O32_LoadLibrary
                o Changed exception dump logging (.dll.dll -> .dll)
                o Fix for GetDriveTypeW; return DRIVE_CANNOTDETERMINE if string
                  pointer is -1 (VERIFIED in NT 4, SP6) (reported by Michal Necasek)
                  (NOTE: Not true for GetDriveTypeA (crashes))
    - COMDLG32: o Fix for FindReplace dialog; must return pointer to FINDREPLACEA/W
                  structure when calling hook during WM_INITDIALOG; not pointer
                  to custum data dword (old SDK docs were wrong; newer versions
                  have been corrected)

 2000-11-04: Sander van Leeuwen <sandervl@xs4all.nl>
    - GDI32:    o OffsetRgn fix
    - USER32:   o Rewrote LockWindowUpdate

 2000-11-02: Sander van Leeuwen <sandervl@xs4all.nl>
    - SHELL32:  o Wrong exports for several apis (SHGetSpecialFolderPathA
                  & PathProcessCommandA reported by Kai Sommerfeld)
                  (PathBuildRoot, PathFileExists, ParseField & DoEnvironmentSubst)
                  SHGetSpecialFolderPathA export added.

 2000-11-01: Brian Smith <dbsoft@technologist.com>
    - USER32:   o Fix for MENU_InsertItem (add if menu item not found)
                  (from latest Wine code;
                   TODO: need to sync user32 controls!)

 2000-10-30: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o Forgot to append .dll if no extension is found in 
                  Win32DllBase::findModule (fixes dependency update
                  for LX dlls; i.e. winhlp32 now works again)

 2000-10-28: Sander van Leeuwen <sandervl@xs4all.nl>
    - SHELL32:  o Print build date in About Odin dialog
    - include\win\authors.h, tools\install\odin.cmd:
                o Added Oliver Braun to authors list

 2000-10-27: knut st. osmundsen<knut.stange.osmundsen@mynd.no>
    - Win32k:   o Fixed bug which prevented the symbolname to be copied to
                  the szSymbolfile global variable and displayed during boot
                  and in Win32kCC.
                o Added a abort stub which creates an IPE/Int3 instead
                  of calling DosExit (which isn't recommended at Ring-0 i think.)
                  There is some Purevirtual stub function which calls abort.

 2000-10-26: Sander van Leeuwen <sandervl@xs4all.nl>
    - GDI32:    o GetObjectA/W bugfix; return required size when buffer pointer
                  is NULL (Open32 doesn't always do this)
                o GetObjectW bugfix: translate face name for font object from
                  ascii to unicode
    - KERNEL32: o RegEnumKeyExW, RegEnumValueW & RegQueryInfoKeyW fixes (heap corruption)
                o RegEnumValueW fix; must convert value data if it's a string
                o VirtualAlloc fix for memory that is already committed.
    - USER32:   o Ported EnumDisplayDevicesA/W from Wine

 2000-10-26: knut st. osmundsen<knut.stange.osmundsen@mynd.no>
    - ChangeLog:
                o The ChangeLog (this file) will sooner or later be viewable
                  from the web I hope. So to ease the parsing (or AI) I
                  suggest that we puts an 'o' in front of each point in the
                  change descriptions. Also HTML tags could be used, especially
                  pre, br and p. <br>
                  I've updated this file, and an attempt to convert it to HTML
                  is found here: http://ktaskmgr.sourceforge.net/ChangeLogTest.html<br>
                  The PHP script which does this parsing is found in
                  Tools\Database\www, named Odin32ChangeLog.php.
    - Win32k:   o Added kernels 14055, 14056 and 14057.
                o Comment on eComStation preview problem:
                    The symbols and debug kernels are 14053 with an extra
                    fix in TKSleep for Time-Critical threads (it seems).
                    This fix make the debugkernels and probably release
                    kernel (which I haven't found yet) 0x20 bytes bigger,
                    and thus aren't supported by the symbols for the testcase
                    14053 kernel in the symbol database.
                    The fix is present in later kernels at testcase too,
                    at least in 14057 (which also is found at service, as
                    krnl1019(d).zip).<p>

                    Concerning the release kernel of eComStation, it might
                    acutally be 14052. The kernel on the installation floppy
                    image (os2image\disk_0) is build 14052, and Oliver Stein
                    said that the conveniece(?) pack preview were 14052...<p>

                    But, currently I haven't found any other release kernel
                    on the eComStation preview than the install kernel;
                    and I haven't had time to install it either.

 2000-10-25: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o SearchPath32A fix for IBM VAC for windows (search directory
                  consists of multiple paths separated by a semi-colon)

 2000-10-25: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o Add rename entry for winspool.drv to odin.ini. (if not present)
                o Check pointers in Read/WriteProcessMemory
                o Add OLE key during installation: <pre>
                  [HKEY_LOCAL_MACHINE\Software\Microsoft\OLE]
                  "EnableDCOM"="Y"
                  "EnableRemoteConnect"="N"</pre>

    - WINSPOOL: Removed changes. (now generates winspool.dll again)

 2000-10-23: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o Vio api doesn't support high memory; need to copy string
                  to stack.
                o Rewrote module handling to include extension in module name
                  when creating it (LoadLibraryExA) and searching (GetModuleHandle)
                  for it.
                  (now supports dlls with the same name, but different extension)
                  i.e.:<pre>
                  hinst = LoadLibrary("WINSPOOL.DRV");      -> succeeds
                  hinst2 = GetModuleHandle("WINSPOOL.DRV"); -> succeeds
                  hinst3 = GetModuleHandle("WINSPOOL.");    -> fails
                  hinst4 = GetModuleHandle("WINSPOOL");     -> fails
                  hinst = LoadLibrary("KERNEL32.DLL");      -> succeeds
                  hinst2 = GetModuleHandle("KERNEL32.DLL"); -> succeeds
                  hinst3 = GetModuleHandle("KERNEL32.");    -> fails
                  hinst4 = GetModuleHandle("KERNEL32");     -> succeeds</pre>
                  Same behaviour as observed in NT4, SP6

                o Rewrote GetVersionStruct & GetVersionSize.

                o lstrcpynWtoA and lstrcpynAtoW must zero-terminate the string
                  because Wine code depends on this behaviour (i.e. comdlg32)
                o Changed console calls to these functions for new behaviour.
                  (fixes error message when selecting a file in the open file
                   dialog of Acrobat Distiller)
    - USER32:   o Changes for GetWindowText(Length)A/W for windows created
                  by a different process. NT doesn't send WM_GETTEXT(LENGTH)
                  messages in that case, but copies the required information
                  directly from internal structures. (VERIFIED in NT4, SP6)
                  (fixes crash at the end of the RealPlayer 8 installation)
    - DCIMAN32:   Added stub dll
    - WINSPOOL:   Generate dll with win32 extension (.drv) instead of .dll
    - INCLUDE\makefiles:
                  Changed rules for targets with different extension (not .exe
                  or .dll)
    - TOOLS\install:
                  Include winspool.drv in installation package.

 2000-10-22: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Paint fix for static controls (fixes common color dialog)
                o Make sure a window handle can't be used after the window
                  has received both WM_DESTROY & WM_NCDESTROY (fixes
                  crash in font dialog after closing it)
                o After resize wrong parts of the window were invalidated.
                  (fixes common color dialog after extending it (buttons
                   previously overwritten))
                o OBM_TNTYPE missing from user32 bitmap list
                o Check if a menu handle isn't a window handle before using
                  assuming it's a pointer. (IS_A_MENU macro)
                  --> we really shouldn't be using pointers as menu handles
                o Set hIconSm to 0 in RegisterClassW. (was uninitialized)
    - COMDLG32:   Wrong type for font dialog bitmap (was 16 bits)
                  (fixes missing font names in listbox of common font dialog)

 2000-10-21: Carsten Tenbrink <Carsten@C-Tenbrink.DE>
    - CAPI32:   Rewrote it. Works correctly now.

 2000-10-21: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o Add DirectPlay & DirectPlayLobby class keys to registry
                  during installation
                o Add ProductType key to registry during init<pre>
                  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions]
                  "ProductType"="WinNT"</pre>
                  (TODO: check if names for win98 & win2k are correct!)
                o RegSetValueExW/RegQueryValueExW fixes for keys with type
                  REG_SZ or REG_EXPAND_SZ. (unicode<->ascii translation)
    - include\win\authors.h, tools\install\odin.cmd:
                o Added Carsten Tenbrink to authors list
    - ADVAPI32: o Pretend SetThreadToken succeeded in NT mode
    - COMDLG32: o Merged with latest Wine version (Wine 20001002 level (10-21-2000))
                o Now uses Wine color and font dialogs (not tested)
                  All supported Wine language resources are included.

 2000-10-20: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o FORMAT_MESSAGE_IGNORE_INSERTS support added for message
                  handling (fixes VACPPWIN 3.5 messages)

 2000-10-20: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o Very basic support for console command line apps (output/input)
                  + some changes to PM vio support to make it more flexible
                  Must use special vio pe loader (pec)<br>
                  <b>TODO</b>: Launch correct version of pe loader in CreateProcess
                o Fixed the stupid small PM vio window (now defaults to 80x25)
    - PELDR:    o Build VIO version of PE (PEC.EXE)
    - TOOLS\INSTALL:
                o Add PEC.EXE to installation package

 2000-10-18: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Fixes for GetWindowPlacement & SetWindowPlacement
                  (min & max position are initially -1, rcNormalPosition
                   equals window rectangle)
                  (Verified in NT4, SP6)
                o Started with implementation of ToAscii (Putty needs it)
                o Somebody needs to rewrite our keyboard handling...
    - KERNEL32: o Add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
                  during install
                o Removed test code from ::WriteFile (printed buffer)
                o Fixed closing of memory maps; delete object if no views left (CloseHandle)
                  (fixes sharing violation in VAC Java install)
                o Don't use dprintf during guard page violation -> hangs
                  thread when it occurs during dprintf.

 2000-10-18: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o Ignore dwFlags in LoadLibraryExA for LX images
                  (used to fail)

 2000-10-17: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Added system menu option to trigger int 3 in debug build

 2000-10-17: Michal Necasek <michalnec@volny.cz>
    - USER32:   o Changed color value for inactive caption gradient

 2000-10-17: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32k:   o Corrected dependency rules (dep).

 2000-10-16: Michal Necasek <michalnec@volny.cz>
    - GDI32:    o Set color masks in GetDIBits for 16, 24 or 32 bits bitmaps
                  (Open32 'forgets' this)

 2000-10-16: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o Fix for SC_CLOSE handling (destroying controls) and added
                  check to prevent beep when pressing Alt-F4.
                o SendInternalMessageA/W should check if the destination
                  window procedure belongs to a different thread or process
                  and use OSLibSendMessage (WinSendMsg) if true.
    - KERNEL32: o LoadLibraryExA fix for dlls that have the same name as the
                  executable
                o Fix for fixups in TLS section + callback fixups were wrong.
                o Added code to check if the exception handler didn't already apply
                  fixups to the addresses in the TLS section. If true, then
                  search for os/2 virtual address and don't manually apply fixups
                   for tls index & callback addresses.
                   (fixes IBM VAC for windows tools)
    - RPCRT4:   o Added NdrDllRegisterProxy & NdrDllUnregisterProxy stubs
    - GDI32:    o Fixed FS corruption in font & dda callbacks; need to switch
                  to win32 selector before calling win32 code.

 2000-10-11: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o TLS callback fix + modify TLS callback pointers for new base address
    - USER32:   o Fix for GetWindow(GW_HWNDFIRST); returned os/2 wnd handle instead
                  of Odin handle (reported by Michal Necasek)

 2000-10-10: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o Print date and time of build during init (log)
                o Create system32\drivers directory during install
                o Implemented LOAD_LIBRARY_AS_DATAFILE & DONT_RESOLVE_DLL_REFERENCES
                  LoadLibraryExA/W features. Removed fake image class; put
                  it in the pe loader class instead.
                  LoadLibraryExA now also works for executables
                  (implies LOAD_LIBRARY_AS_DATAFILE & DONT_RESOLVE_DLL_REFERENCES)
                o Rewrote GetVersionSize/Struct to use LoadLibraryExA.
    - MSVCRT:   o Put WriteLog call in util.asm in IFDEF DEBUG statement
    - INCLUDE\makefiles
                o Add -D:DEBUG to alp command line for debug build

 2000-10-10: Michal Necasek <michalnec@volny.cz>
    - WINMM:    o Timers: Don't reset TimerStatus in timer thread; timer may
                  have already been started.

 2000-10-09: Yuri Dario <mc6530@mclink.it>
    - USER32:   o Corrected background brush for MDI windows

 2000-10-09: Patrick Haller <phaller@gmx.net>
    - KERNEL32: o Fixed console bug (left offset) reported by Michal

 2000-10-09: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o IsValidLocale; don't check for kernel32 resources (that aren't there)
                o Always return true for now -> winhlp32 no longer complains about
                  different languages when loading helpfiles

 2000-10-09: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o FrameTrackFrame fix for child windows
                o Ported Wine's ShowOwnedPopups (not tested)
    - KERNEL32: o Check for name value -1 in getResSubDirA/W; previously interpreted
                  as a string pointer resulting in a crash in Quicken.
                o TLS sections must be read/write as they can contain the
                  TLS index value (i.e. VACPPWIN ilink + ilib)
                o Rewrote GetCurrentDirectoryA due to bugs in Open32's version
                  (returns 0 if bufsize < 3 -> should return required length)

 2000-10-08: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   o GetMinMaxInfo fix for windows with both WS_THICKFRAME and
                  WS_BORDER style (differs from Wine; see comment in win32basepos.cpp
                  Win32BaseWindow::GetMinMaxInfo)
                o Fix for CS_OWNDC windows (origin of client window needs to be changed
                  after window size/position changes)
                o Fix for ShowScrollBar (enabling/disabling both scrollbars at once did not work (vert))
                o AdjustWindowRectEx fix:
                  Scrollbars aren't checked *UNLESS* the style includes a border (any border)
                  --> VERIFIED IN NT4, SP6 (fixes MFC apps with scrollbars + bar controls)
    - KERNEL32: o Do not export the toolhelp apis; NT4 doesn't do that. (only win9x)

 2000-10-07: Markus Montkowski <mmontkowski@gmx.de>
    - GDI32:    o Fixed bitblt, it used the size of the source DC
                  when no destwindow was found. this doesn't work
                  for bitblt between dibsections if the dest is larger.
                  so now it checks if the dest DC belongs to a dibsection
                  and uses sets hdcHeight/Width to the size of the dibsection.
                  Added GetWidth() member function for this.
                  Fixes: Civilisation Test of Times

 2000-10-06: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o PE loader: no longer rely on section names, but on image
                  directories instead
                o Init console earlier. (before exe is loaded; some dlls want
                  to send output to the console while they're being loaded)
                o EnumResourceNamesW/EnumResourceTypesW fixes (strings not terminated)
                o CreateProcessA/W fix for setting current directory of new process;
                  Open32 ignores lpCurrentDirectory parameter
    - PELDR:    o Special parameter for setting current directory added (/OPT[CURDIR=x])
    - USER32:   o Ignore class background brush in DefDlgProc for WM_ERASEBKGND
                  (always use GetSysColorBrush(COLOR_BTNFACE))
                  (Wine does this and it fixes the 1st dialog of the Netscape 6 install)
                o OemToCharBuffA fix; put back special characters that got translated
                  to 0xff (fixes Netscape 6 install license edit control)

 2000-10-05: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o FormatMessageA/W fix; message ids can be larger than 65535
                  (VACPPWIN)

 2000-10-05: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o Don't print FS warnings for OS/2 Odin applications
                o EnumResourceNamesA fix (zero terminate resource name)
    - USER32:   o GetWindow GW_CHILD & GW_HWNDFIRST fixes
                o EnumDisplaySettingsA; always set refresh rate to 70hz
                o Z-order bugs fixed; GetWindow returns windows in correct order now
                  hack for groupbox (clipsiblings) no longer necessary. Same
                  goes for adding WS_CLIPSIBLINGS style for dialog controls.
                o Re-enabled usage of invalid region instead of invalid rectangle
                  in BeginPaint -> lots of paint problems gone (i.e. winzip)

 2000-10-05: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o Fixes for exception handling (as done by MSVCRT)

 2000-10-05: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Tools\Common:
                o Implemented read and write buffering for class kFile
                  to speed up kDef2Wat and ImpDef.

 2000-10-04: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o Added forwarder support for PE loader (required for msvcrt40.dll)

 2000-10-04: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Tools\ImpDef:
                o Corrected wrong DESCRIPTION statement.
                o Corrected exception when processing src\icmp\icmp.def.

 2000-10-03: Sander van Leeuwen <sandervl@xs4all.nl>
    - Include\uniconv.h
                o FS wrappers for Unicode api
    - Include\heapstring.h:
                o strcasecmp & strncasecmp are case insensitive (fixes
                  profile apis (and probably some other things too))
    - KERNEL32: o Calculate cpu speed and set HARDWARE\DESCRIPTION\System\CentralProcessor\x\~Mhz key
                o Added GetFileType method to conin/out which return FILE_TYPE_CHAR
                o Create new keys during installation:<pre>
                  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdfs]
                  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom]</pre>
                o Fix for failure during DLL_PROCESS_ATTACH for LX system
                  dlls (pe loader). Didn't fail properly before.
                o Check if executable exists in CreateProcessA; fixes VMWare
                  installation
                o InitCommandLine fix (forgot to copy cmd line)
    - USER32:   o Fix for EDIT_WM_Char (couldn't type in numbers anymore)
                o EnumDisplaySettingsA accepts negative indices
    - ADVAPI32: o Cleanup

 2000-10-03: Michal Necasek <michalnec@volny.cz>
    - KERNEL32: o Fix for HMGetFileType. Must return FILE_TYPE_CHAR for standard
                  handles (in/out/error)

 2000-10-03: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Watcom makefiles:
                o Wrote a converter tool to make wlink input from .def files.
                  tools/common - kDef2Wat.exe (Need VA C to compiler currently)
                o Found a problem with Watcom when trying to link
                  advapi32.dll; It mangles the __stdcall function when
                  they aren't prototyped/delcared extern "C". Haven't found
                  any solution to this, other than prototyping the
                  APIs within extern "C" { }.

 2000-10-02: Sander van Leeuwen <sandervl@xs4all.nl>
    - SHLWAPI:  o Rewrote VERSION_OsIsUnicode (same as SHELL_OsIsUnicode now)
    - RICHED32: o 'Handle' WM_SETTEXT messages. Wine's richedit dll is very
                  incomplete. It's better to use the native windows version.
    - KERNEL32: o Ported Wine's LoadModule (previously used Open32)
                o Changed version apis
                o You can now tell Odin to pretend to be Windows 98 or
                  Windows NT 4.0 (default = NT40)
                  Odin.ini:
                  [WinVersion]
                  Version=Win98
    - OLE32:    o Added stubs for CoGetInstanceFromFile & CoGetInstanceFromIStorage
    - KERNEL32, WSOCK32, WINMM, include\odinwrap.h, SHLWAPI, WNASPI32:
                o Changes/fixes for new ODINFUNCTION macros

 2000-10-02: Patrick Haller <phaller@gmx.net>
    - *:        o major change in ODINWRAP macros
                  and (all) affected sources
    - GDI32:    o fixed possible error in text.cpp (strrchr)
    - WNETAP32: o started implementation of LAN Manager support :)<br>
                  NetApiBuffer*<br>
                  NetStatisticsGet<br>
                  NetWkstaGetInfo<br>
    - KERNEL32: o added HEAP_size export

 2000-10-02: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - KERNEL32: o Fixed Pe2Lx (ie. Win32k) TLS problem. Beyond Compare works.
    - Common:   o Added very limited dump capability to kFilePE. (Used to
                  understand TLS.)
    - Win32k    o Added symbols for kernel 14050 (Warp4) and 14054
                  (Warp4, WS4eB SMP and UNI).

 2000-10-01: Patrick Haller <phaller@gmx.net>
    - KERNEL32: o Optimization of PROFILE calls
    - GDI32:    o Fix for uncompressed/RGB bitmaps (biSizeImage == 0)
    - WINMM:    o Fix for timer logic - timers still quite untested

 2000-10-01: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: o Fixed bug introduced by recent command line changes
                  (executables with spaces in name/dir)
    - GDI32:    o Implemented AddFontResourceW

 2000-10-01: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32k:   o Added IOCtl API for Reading or Writing into another process'
                  address space. (*ProcessReadWrite)
                  This is intended used to implemented ReadProcessMemory and
                  WriteProcessMemory (which is essensial to debuggers I think).
                  I'll implementet them soon, but it sees that it'll
                  require more changes in process.c that I first thought.
                o Simplified maintaince of kernel imports. (mkcalltab)
                  Removed unused imports.

 2000-09-29: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32: Edit control fix; Ignore WM_SETTEXT if string is the same.
              Acrobat Distiller keeps on sending WM_SETTEXT with the
              same string in responds to a WM_COMMAND with EN_UPDATE -> stack
              overflow (TODO: Need to check if this behaviour is correct compared to NT)

 2000-09-29: Achim Hasenmueller <achimha@innotek.de>
    - COMCTL32: Added _TrackMouseEvent export for VisualAge Micro Edition
                Added SmoothScroll implementation from WINE

 2000-09-29: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - INCLUDE\pdwin32.*:
                -First attempt on new makefile style.
                 (See advapi32 or dllentry for an example.)
                -Made .tools and .post compiler specific (Watcom adoptions).
                -Watcom WMAKE likes the new makefile style, but only in UNIX
                 mode. So, you'll have to specify "-u" at the commandline.
                 Nothing links yet.
                 Anyone know if wlink would except .DEF-files? If not I'll
                 have to write a .DEF -> wlink options converter (trivial
                 since we has a class for parsing .DEF-files).
                -Changed object directories for VAC36 and Watcom:
                    debug.vac36, release.vac36, debug.wat, release.wat.
                 But before you are able to compile much, you'll have to
                 manually create the global directories
                 bin\debug.vac36 and bin\release.vac36  or
                 bin\debug.wat and bin\release.wat.
    - ADVAPI32: New makefile style example.
    - DLLENTRY: New makefile style. Watcom object file (but not very useful).
      (don't hope I've broken anything)

 2000-09-28: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - INCLUDE\pdwin32.wat.tools:
                Placed .asm and .orc before .cpp in the .SUFFIXES list
                to be able to make resource objectfiles.

 2000-09-26: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32k: Corrected H2INC path in the makefile.

 2000-09-25: Michal Necasek <michalnec@volny.cz>
    - DDRAW, DDRAW\new: Fixed way too many bugs in asmutil.cpp. Both
             the MMX and non-MMX transparent blitting functions were
             incredibly buggy. They probably still are, but _much_ less
             so. This fixed mouse pointer in Master of Orion II among other
             things (but the Win95 version of MOO2 is simply buggy anyway).
             Also fixed one case of FS corruption in DDRAW\new.

 2000-09-25: Patrick Haller <phaller@gmx.net>
    - KERNEL32: GlobalMemoryStatus does no more rely on Open32 (experiment for AOE)
                This version should "provide" more memory.

 2000-09-24: Markus Montkowski <mmontkowski@gmx.de>
    - DPLAYX
      INCLUDE\win\dplay.h
      INCLUDE\winpdlobby.h : Synced with latest WINE source,
                             should fix some DX version checking via COM interfaces (like in AOE)

 2000-09-22: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
    - GLU32:    - Changed sorter.cpp to eliminate compiler error
    - OPENGL32: - Minor change to glthread.c

 2000-09-22: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32k/Pe2Lx:
               -Always apply all-in-one-object aligment fix. This will
                solve lots of problems. (Hopefully temporary; I will explore
                a VMAllocMem flag for VDMs which allows allocation of
                pagealigned objects in the tiled arenas. The flag works
                as expected but I get IPEs during process cleanup...)
               -Corrected bug in applyFixups. Fixups was not applied when
                the all-in-one-object aligment fix was applied.
               -The problem with the build 14053 (testcase) kernels is solved.
                ldrOpenPath have got an addition parameter. Symbols added
                to the SymDB.
               -Win32k.sys build now requires h2inc.exe is present in
                the tools directory of the base DDK.
    - KERNEL32: Changed Pe2Lx to use module address (address of the header
                object) as hinstance. Some programs depends on this.
    - opengl\glu\nurbs\internals: Turned off optimization. Internal
                compiler error in release mode compiling sorter.cpp.

 2000-09-21: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - INCLUDE\makefiles: Made cleanrule omittable by defining NOCLEAN.
    - Pe2Lx:    Corrected/Made cleanrule.
    - Win32k:   New Microsoft C fix. Invokes it with no environment. Thanks goes to
                Serge Sterck for this discovery. I hope it works out well.


 2000-09-20: Markus Montkowski <mmontkowski@gmx.de>
    - KERNEL32: Implemented COM-port APIs
                Enhanced handlemanager to support device and handle data (for COM ports)
                Added IOCTL to oslibdos
    - INCLUDE\handlemanager.h os2win.h win32type.h: added COM definitions

 2000-09-19: Michal Necasek <mike@mendelu.cz>
    - INCLUDE\makefiles: disable C++ exception handling code generation (FS:0 changes)

 2000-09-16: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Fixed matchModName bugs. (compare name without extension)
    - WNASPI32: Restore win32 FS selector before calling post procedure

 2000-09-16: David Raison <djr@lemur.co.uk>
    - OLE32: Further updates from Wine
             IMessageFilter stubs.
    - OLEAUT32: Updates from Wine
             ITypeComp stubs.

 2000-09-16: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Tools\dbginfo: Solved DosCall1.DLL problem. Successfully creates HLL
                HLL debuginfo from .SYM files and add it to LX files.

 2000-09-15: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - KERNEL32: Corrected logging for GetModuleFileNameA/W (a handle and
                a string pointer was mixed - which proved fatal with
                logging enabled).

 2000-09-15: David Raison <djr@lemur.co.uk>
    - OLE32: Updates from Wine

 2000-09-15: Sander van Leeuwen <sandervl@xs4all.nl>
    - WNASPI32: Open and initialize aspirout during dll load; doing this
                for *every* aspi command is very inefficient.
                Not possible to share aspirout now, but that could be fixed
                later on.
    - KERNEL32: Bug in recent exception handler changes; nested exception
                are allowed to be dispatched to Odin's handlers. (PE loader
                depends on it -> fixes crash in Lotus Notes)
                Export WriteLogNoEOL

 2000-09-14: Sander van Leeuwen <sandervl@xs4all.nl>
    - WNASPI32: Fixed uninitialized variables in aspirout class
                Fixed memory leaks (aspi object not deleted when something goes wrong)
    - KERNEL32: Implemented IOCTL_SCSI_GET_ADDRESS (not perfect; only works
                for cdrom/dvd drives and only the first one)

 2000-09-13: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: InitCommandLine corrupted the heap
                Created HandleManager class for physical disks
    - GDI32:    StretchDIBits: Open32 always returns height of bitmap (regardless of how many
                scanlines were copied); now corrected
    - WNASPI32: Fixed FS corruption

 2000-09-13: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - KERNEL32: Added method matchModName to Win32ImageBase.
                Used matchModName in LoadLibraryExA.
                Documented and enhanced GetModuleFileNameA/W.
    - Win32k:   Display build time and date on verbose init.
                Made sure build time and date is updated everytime
                it's relinked.

 2000-09-12: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: GetCommandLine changes broke LX executable support. Fixed now.

 2000-09-12: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - KERNEL32: Rewrote GetCommandLineA/W. Don't depend on Open32 any longer.
                The commandline strings are moved to global variables in
                wprocess.cpp.
                Added/extended some OSLib calls.

    - Wink32:   When invoking PE.EXE the first argument (Win32 exe name)
                should be in quotes.
                This is not yet corrected for the other invokers. (Scripts/Java).

 2000-09-09: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Don't dispatch exceptions after application has called
                ExitProcess. (fixes endless loop of exception handler calls
                in RealPlayer 7)
                Create more registry keys during installation:
                HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
                HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
                HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\iexplore.exe
                GetFileAttributesA trashes the stack (EBX register corrupted after return)
                If CreateFile fails to duplicate the handle, then try DosDupHandle
                (DuplicateHandle for memory mapped files in IE5)
                Set dwCreation flag to OPEN_EXISTING for DuplicateHandle (memory mapped files)
    - PE:       Endless loop when it can't find executable with name in quotes

 2000-09-08: Michal Necasek <mike@mendelu.cz>
    - KERNEL32: Changes and fixes for exception handling (now dispatches
                exceptions to win32 apps)

 2000-09-08: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Implemented EnumResourceLanguagesA/W
                Put back some code that was changed. (environ.cpp & heap.cpp)
    - GDI32:    Fixed FS bug in OSLibDeleteRegion
    - USER32:   Removed wrapper for GetWindow; not required

 2000-09-07: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32k:   Added last FP14 kernel to Symbol database.
                Splitted extract.c from Probkrnl.c. Removed old debug
                code from Probkrnl.c (Probkrnl.exe) - use win32ktst.exe
                for Ring-3 testing now.
                Added filehandle fix for MSC60a compiler. (fix don't work!)

 2000-09-07: Patrick Haller <phaller@gmx.net>
    - KERNEL32: Fixed some FS: bugs in time.cpp, environ.cpp, heap.cpp
                Fixed language support from WINE sync
    - GDI32:    Fixed some FS: bug in DeleteObject(), DeleteDC()

 2000-09-07: Sander van Leeuwen <sandervl@xs4all.nl>
    - COMCTL32: TOOLBAR_SetBitmapSize & TOOLBAR_SetBitmapSize; do not return
                FALSE when called after buttons have been created.
                (failed assertions in MFC applications; this code is from
                 the latest Wine source tree)
    - SHELL32:  Merged more changes made by Christoph into new tree
    - KERNEL32: InitDirectories must be called before InitializeTIB or else
                a win.ini file is created in the root dir (InitializeTIB
                loads ntdll which depends on user32)
                (reported by Kai Sommerfeld)
    - USER32:   GetWindow was completely wrong. Didn't take Z-order into account.
                Fixes MFC applications (missing controls + redraw problems)

 2000-09-06: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - install:  Added Win32kCC.exe and kRx.EXE to the .wpi distributions.

 2000-09-05: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   WM_PARENTNOTIFY during WM_CREATE was sent to the wrong window
                WM_FOCUSCHANGE fix; set & kill focus were sent twice
                Added more logging.
                Activate window after resizing (WM_WINDOWPOSCHANGED in pmwindow.cpp)
    - KERNEL32: Workaround for RegSetValueA; a call to this api in Netscape
                fails with error 8 due to a 0 size of the key data
                HMOpenFile fix; pHMHandleData->dwCreation must be set
                to OPEN_EXISTING or else the memory map class will fail
                to duplicate the handle.

 2000-09-04: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: GetDiskFreeSpaceExA: added support for 64 bits disk size
                Rewrote GetDiskFreeSpace (no longer uses Open32)
    - USER32:   SetWindowLong GWL_WNDPROC changes/fixes
                Type of SetWindowLong determines new window proc type
                UNLESS the new window proc has already been registered
                (use the old type in that case) (VERIFIED in NT 4, SP6)
                Return original window procedure if types match (SetWindowLongX & proc type)
                otherwise window proc wrapper.
                Fixes wrong strings in Notes 5.0. (new string problems, but they
                are caused by something else)
    - COMCTL32: CreateUpDownControl was not exported correctly
                (reported by Reinhold Kopper)

 2000-09-04: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32k:   Improved error reporting.
                Corrected fatal bug in the QueryOptionsStatus IOCtl,
                had forgotten three SSToDS()...

 2000-09-04: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - doc/readme.txt: Updated Win32k sections.
    - Win32k:   Fixed missing object in the 16-bit clib.lib which caused
                linking of win32k.sys to fail in last daily build.
                Support for comport 3 and 4.
    - Win32kCC: Updated dialog to show all information provided by the
                Win32k IOCtl interface.
    - Include/HandleManager.h:
                Added prototype for HMDeviceIoControl which Sander forgot.

 2000-09-03: Patrick Haller <phaller@gmx.net>
    - KERNEL32: NLS sync with WINE

 2000-09-03: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: More logging;
                DeviceIoControl didn't have handlemanager wrapper
    - GDI32:    Missing wrapper for WinDrawTabbedText caused FS corruption.
                PLEASE be more careful in the future!

 2000-09-02: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32k:   Finally. I've merged the new changes into the main branch.
                The most important things are:
                    - More correct search order for DLLs. The differences are
                      now that _ALL_ DLLs are found using the Windows search
                      order, and that the LIBPATH are also searched (last).
                    - PE.EXE may be invoked by Win32k.sys.
                      Win32k.sys will now operate in three modes:
                        - Pe2Lx mode. Only the Pe2Lx method is used.
                        - Mixed Pe2Lx and Pe.exe mode. Pe.exe is invoked for
                          executables which Pe2Lx don't currently support.
                          (like WinWord, which BTW may trap you PC if invoked
                          in Pe2Lx mode.)
                          This is the default mode.
                        - Pe.exe mode. Pe.exe is allways used.
                      (see readme.txt, I'll update it to ASAP but not to night.
                       (I tired after working 36 hours on finishing this...)
                    - UNIX Shell Scripts are working (now).
                    - JAVA invokation. If you try to load a JAVA class the
                      it is executed using java.exe. (note that the class
                      name is case sensitive!)
                    - Pure REXX. This one is for Nenad. .RX and .REX are
                      loaded using a tiny REXX starter, kRX.exe (found in
                      System32 directory).
                    - Win32k Control Center, Win32kCC.EXE. Simple PM
                      program which allows you to change the Win32k.SYS
                      options while running. It does also show some status
                      information (will be extended).
                    - Support for FP14 in the Symbol database.
                      (use the 09th Aug. kernel please).

    - KERNEL32: Speeded up loading by using Win32k.sys IOCtl to get
                objecttable entries (OTE) for the Pe2Lx executable images,
                instead of using DosQuerySysState (which gets OTEs for all
                modules in the entrie system). (This is the reason for the
                win32k.lib file - it's made by the 'libs' rule from src.)

 2000-09-02: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   Rewrote IsZoomed
                Removed winzip invisible button fix; causes many repaint
                problems. Need to find the real cause.
    - DDRAW:    More debug logging; implemented ClipGetClipList
    - WINMM:    mixerGetID fix (for NULL hmixer)

 2000-09-01: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - INCLUDE:  Shut up the OS/2 resource compiler (added -n to OS2RCFLAGS).
                Added linkage macro for the OS2RC which exepacks the resource
                object: OS2RCLFLAGS

 2000-09-01: Patrick Haller <phaller@gmx.net>
    - GDI32:  - Open32 fix for CreateDIBitmap: some apps claim they have
                a bitmap w/o palette color table and then send one in to copy.
    - USER32: - PMWINDOW.CPP: WM_FOCUSCHANCE - validate GetTopParent() handle

 2000-08-31: Sander van Leeuwen <sandervl@xs4all.nl>
    - DDRAW:    Extra debug logging
                GetFourCCCodes should return nr of codes returned (always)
                QueryInterface; don't change the vtbl of the directdraw object
                return pointer to new virtual table instead
                (fixes crashes in dxview)
                Don't setup DirectDraw3D interface when creating IID_IDirect3D object
                (fixes another crash in dxview.exe)
                Video memory set to zero for HEL caps + no DDCAPS_COLORKEYHWASSIST
                Fixed HEL caps. (dwFXcaps)
                Fixed Driver caps (memset for HEL caps overwrote driver structure)
                Export DirectDrawCreateEx
    - KERNEL32: Level 2 logging for GetLastError (if lasterror != 0)
    - INCLUDE:  Header updates for compiling directx applets in OS/2

 2000-08-31: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
    - KERNEL32: Create more class registry keys during installation
                (for shell32 & IE)

 2000-08-30: Sander van Leeuwen <sandervl@xs4all.nl>
    - GDI32:    Workaround in StretchDIBits for PowerDVD (fixes wrong colors)
    - USER32:   WM_SETFOCUS fix (window can become invalid during processing)
                (rename folder in file open dialog -> click outside editbox
                 -> crash)
    - SHELL32:  Complete merge with latest Wine shell32 
                (fixes weird file open/save dialog box behaviour)
                Odin changes/additions in separate files or in #ifdef __WIN32OS2__
                statements

 2000-08-29: Michal Necasek <mike@mendelu.cz>
    - INCLUDE:  Watcom makefile fixes
    - ADVAPI32: Sample watcom makefile for advapi32 (not finished)
                
 2000-08-28: Michal Necasek <mike@mendelu.cz>
    - KERNEL32: RaiseException/RtlUnwind fixes

 2000-08-26: Sander van Leeuwen <sandervl@xs4all.nl>
    - SHELL32:  Open/Save dialog fix

 2000-08-19: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - KERNEL32: PROFILE_LoadOdinIni use kernel32Path not reload KERNEL32
                using LoadLibraryA. Internal paths are not initated yet,
                so LoadLibraryA migth end up loading the wrong DLL
                (Which happend for me, a NT edition of kernel32 was loaded.)
    (- Win32k:  Works ok, will merge the changes into the main branch soon.)

 2000-08-25: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Create DirectX registry keys during installation
    - SHFOLDER: Compile fix

 2000-08-24: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   Export wvsnprintfW
    - SHLWAPI:  Merged with latest Wine code (20000801); separated added/changed
                functions to ease resync in the future
                Removed all AW exports; they belong in shell32
                More functions exported (Wine additions)
                Changed File and Product version to 5.00.2919.6304 (NT4, SP6 + IE 5.01)
    - SHELL32:  Merged Wine's shellpath.c
                More exports (forwarders to shlwapi)
                StrRetToStrNA fix
                Changed File and Product version to 5.00.2919.6304 (NT4, SP6 + IE 5.01)
    - SHFOLDER: Added (forwarder dll for SHGetFolderPathA/W for now)
                Version based on NT 4 SP6 + IE 5.01 (5.00.2919.6304)

 2000-08-23: Michal Necasek <mike@mendelu.cz>
    - KERNEL32: (cpu.c) lpMinimumApplicationAddress should be 4 MB

 2000-08-22: Patrick Haller <phaller@gmx.net>
    - MSVCRT: _lock() implemented
              _unlock() implemented
              CxxThrowException implemented

 2000-08-20: Sander van Leeuwen <sandervl@xs4all.nl>
    - INCLUDE, COMDLG32, SHLWAPI:
                Compile errors introduced by shell32 merge fixed

 2000-08-19: Sander van Leeuwen <sandervl@xs4all.nl>
    - GDI32:    Changed File and Product version to 0x0400, 0x0565012A (NT4, SP6)
    - KERNEL32: Changed File and Product version to 0x0400, 0x0565012C (NT4, SP6)
                Logging level 2 for GetUserDefaultLCID & GetSystemDefaultLCID
    - USER32:   Changed File and Product version to 0x0400, 0x05650136 (NT4, SP6)
    - ADVAPI32: Changed File and Product version to 0x0400, 0x05650119 (NT4, SP6)
    - COMCTL32: Changed File    version to 0x0551, 0x0B6718A0 (NT4, SP6, IE 5.01) (VERSIONINFO)
                Changed Product version to 0x0500, 0x0B6718A0 (NT4, SP6, IE 5.01) (VERSIONINFO)
                Changed "FileVersion"    to 5.81 (NT4, SP6, IE 5.01)
                Changed "ProductVersion" to 5.00.2919.6304 (NT4, SP6, IE 5.01)
    - COMDLG32: Changed File and Product version to 0x0400 0x0565013F (NT4, SP6)

 2000-08-19: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - KERNEL32: Made win32k.sys resource sections writable.

 2000-08-18: Sander van Leeuwen <sandervl@xs4all.nl>
    - GDI32:    Added support for level 2 debug logging
                Ported Wine's CreateHalftonePalette
                Added more logging
                Added RGB565 -> RGB555 conversion in sync method of DIB class
                (PowerDVD colors still wrong)
    - KERNEL32: Added display driver keys for PowerDVD video tester applet
                Extra logging for GetProcAddress
    - DDRAW:    Changed File and Product version to 0x0404, 0x05650114 (NT4, SP6)
    - DSOUND:   Changed File and Product version to 0x0404, 0x056500A4 (NT4, SP6)
    - DPLAY:    Changed File and Product version to 0x0400, 0x05650001 (NT4, SP6)
    - DPLAYX:   Changed File and Product version to 0x0406, 0x05650258 (NT4, SP6)
    - DINPUT:   Changed File and Product version to 0x0404, 0x05650004 (NT4, SP6)

 2000-08-18: Patrick Haller <phaller@gmx.net>
    - NTDLL:    roughly synchronized with current WINE
    - SHELL32:  roughly synchronized with current WINE

 2000-08-17: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Only call O32_LoadLibrary if dwFlags == 0 and (LX binary
                or win32k process)
                GetModuleHandleA fix (uninit. var)
                (PowerDVD install no longer complains about running InstallShield)
    - DSOUND:   Fixed wrong type for dllHandle (caused load failure)

 2000-08-16: Christoph Bratschi <cbratschi@datacomm.ch>
    - COMCTL32: propsheet: workaround for PROPSHEET_GetPaddingInfoWizard
                design issue

 2000-08-16: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Changed search order for resource languages:
                According to Wine:
                FindResourceA/W does search in the following order:
                1. Neutral language with neutral sublanguage
                2. Neutral language with default sublanguage
                3. Current locale lang id
                4. Current locale lang id with neutral sublanguage
                5. (!) LANG_ENGLISH, SUBLANG_DEFAULT
                6. Return first in the list
                FindResourceExA/W does search in the following order:
                1. Exact specified language
                2. Language with neutral sublanguage
                3. Neutral language with neutral sublanguage
                4. Neutral language with default sublanguage
                (fixes bad string in PowerDVD)

 2000-08-14: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Fixed sharing violation errors in OSLibDosCreateFile
                (FILE_SHARE_DELETE now included in share flag var)
                (fixes error messages when playing files in RealPlayer 7)
                TLS fix in PE loader (no .tls section, but valid tls image directory)

 2000-08-13: Christoph Bratschi <cbratschi@datacomm.ch>
    - COMCTL32: added propsheet, treeview Corel WINE 20000807 changes
    - GDI32: activated WinDrawText code

 2000-08-12: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Do not set OPEN_ACCESS_READWRITE flag in OSLibDosCreateFile
                (if OPEN_ACTION_CREATE_IF_NEW & readonly access)
                This was causing access denied errors (using FILE_SHARE_WRITE
                on a file on a readonly volume was not causing this; that's allowed)
                Removed share mode hack. Caused by the bug mentioned above.
                (You can change the file sharing mode when opening the same
                 file several times in OS/2)
                Fixed system dll unload bug.
                Extra checks in Win32ImageBase::isPEImage (nr of bytes read is correct or not)

 2000-08-11: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Lock/Unlock
                64 bits values are only supported by JFS
                Try the 32 bits DosSetFileLocks if it fails with ERROR_INVALID_PARAMETER
                (TODO: should check the partition type instead)
                Build fake dll header for system dlls and use it's address
                as instance handle.
                VIRTUAL_MapFileA/W: open file in share read/write mode
                Fixed  HMDuplicateHandle (check for DUPLICATE_ACCESS_READWRITE)
                LoadLibraryExA: if dll name = executable name of current process
                -> return handle of exe
                (GrandPrix 3 installer does this; verified in NT)
                FreeLibrary: if handle = exe handle of current process -> ignore
    - SRC\*\initterm.cpp
                Changed RegisterLxDll call for fake headers.
    - INCLUDE\misc.h:
                Removed versionos2.h dependancy
    - VERSION\version.cpp
                Include versionos2.h
    - COMCTL32: Put back old property page code (breaks VPBuddy preferences
                dialog). SameTime install property sheet now messed up (again).

 2000-08-10: Patrick Haller <phaller@gmx.net>
    - KERNEL32: OSLibDosQueryVolumeFS does no more return an error if
                the caller is not interested in the volume name.
                Console Input handling improved, some correction.
                SetConsoleTitleW fixed.
          NOTE! lstrcpynAtoW and lstrcpynWtoA do no more enforce (erroneous)
                string termination.
                NT4's CMD.EXE is quite working now.

 2000-08-09: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: TLS changes (now updates THDB array instead of calling
                Open32)

 2000-08-09: Christoph Bratschi <cbratschi@datacomm.ch>
    - COMCTL32: added language dependent resources

 2000-08-08: Christoph Bratschi <cbratschi@datacomm.ch>
    - COMCTL32: first part of Corel WINE 20000807 changes

 2000-08-06: Sander van Leeuwen <sandervl@xs4all.nl>
    - doc\ReportingBugs.txt:
                Added a little more information
    - tools\install
                Add Logging.txt + symbol files to debug build.

 2000-08-04: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Temporary workaround for differences in share mode between
                OS/2 & NT (for opening the same file multiple times):
                NT: CreateFile with FILE_SHARE_READ
                    CreateFile with FILE_SHARE_READ | FILE_SHARE_WRITE
                    -> 2nd CreateFile overrides share flags of first one
                    -> CreateFile with GENERIC_WRITE is now allowed
                OS2: DosOpen with OPEN_SHARE_DENYWRITE
                     DosOpen with OPEN_SHARE_DENYNONE
                     -> sharing violation; can't change share flags while
                        handle returned by 1st DosOpen isn't closed
                --> 'Solution': always open files in FILE_SHARE_DENYNONE mode
                (several installation programs depend on this behaviour)

 2000-08-01: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Create x:\Program Files & x:\Program Files\Common Files
                directories in odininst.exe + extra registry keys:
                [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion]
                "ProgramFilesDir"="x:\Program Files"
                "CommonFilesDir"="x:\Program Files\Common Files"
                "SharedDir"="x:\Odin"
    - COMCTL32: Fixed property page bugfix (wrong position) (by merging
                latest PROPSHEET_ShowPage from Wine)
    - DOC\ToDo.txt:
                Added:
                KERNEL32: Build fake PE headers for odin dlls (dll handle must be pointer to header)
                          (some applications use the handles as pointers)

 2000-07-26: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Don't translate values returned by WaitForSingleObject.
                Open32's WaitForSingleObject returns the correct values.
                -> breaks a lot of things including RealPlayer 7
                (removed bugfix 2000-07-17: fixed return codes for HMWaitForSingleObject)
    - DOC\ToDo.txt:
                Added:
                USER32: Fix LoadImage to resize icons, cursors or bitmaps
                        to the specified dimensions (if required)

 2000-07-25: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Added environment setting for disabling wait on exit
                for console applications (SET ODIN_AUTOEXITCONSOLE=1)
    - DOC\ToDo.txt:
                Added more unassigned tasks

 2000-07-22: Sander van Leeuwen <sandervl@xs4all.nl>
    - DOC\ReportingBugs.txt
                Added file that tells users how to report bugs
    - TOOLS\install: 
                Added ReportingBugs.txt to WarpIN script
    - USER32:   Fixed BeginPaint; set clip region to update region; not update
                rectangle -> fixes invisible buttons in winzip install
    - KERNEL32: Include message in log entry if FS != 0x150b (doesn't always
                means FS is trashed though)
   
 2000-07-21: Sander van Leeuwen <sandervl@xs4all.nl>
    - SHLWAPI:  SHGetSpecialFolderPathA: StartMenu changed in 'Start Menu'
                (now identical to Windows 98/NT)
    - TOOLS\install: 
                Changed makefile for odininst; standard odin makefile now
                Changed warpin script for new odininst location

 2000-07-20: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   SetWindowPlacement bugfix for Papyrus (do not change the
                current window position)
                Fixed FS corruption in CreateCaret
                Fixed positioning of caret (needed due to client/frame -> frame window changes)
                WM_ADJUSTWINDOWPOS & WM_WINDOWPOSCHANGED bugfixes (hwndInsertAfter
                set to HWND_TOP if non-Odin window)
    - KERNEL32/PELDR
                Always try to allocate an executable image at it's preferred address 
                (even if it has fixups)

 2000-07-19: Sander van Leeuwen <sandervl@xs4all.nl>
    - INCLUDE\makefiles
      SRC\*\makefile
      ODINCRT
                Build different odincrt for debug & release build (odincrtd & odincrt)
                Odin dlls now link with correct version
    - GDI32:    Wrapper rewrite for region apis
                Changed export for user32 (uses stdcall calling convention now
                to avoid problem when using debug user32 with retail gdi32)
    - DOC\Readme.txt
                Updated installation instructions
    - TOOLS\INSTALL\odin.cmd
                Updated script for new doc directory

 2000-07-18: Yuri Dario <mc6530@mclink.it>
    - INCLUDE\win: 
                Compilation fixes for Opera
    - USER32:   Extra logging information
                Fixed sending WM_PARENTNOTIFY in ::DestroyWindow

 2000-07-18: Sander van Leeuwen <sandervl@xs4all.nl>
    - WINMM:    If waveOutSetVolume called with NULL waveout handle, use
                that volume as the default for newly created streams.
                (fixes volume in RealPlayer 7)
    - KERNEL32: Fixed old unload order bug (causes a crash when quitting 
                RealPlayer 7); increase dynamic library count after calling
                dll entrypoint with DLL_PROCESS_ATTACH. (used to be before;
                -> wrong unload order of RPAP3260 & PNRS3260)
                Call dll entrypoint with DLL_PROCESS_DETACH even when
                thread library calls disabled.

 2000-07-18: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - KERNEL32: APIs are to be placed should have ordinal less than 1200
                - even if they don't belong in the dll but just happend to be
                implemented there. The reason is for humans and for
                documentation tools to be able to tell which exports are APIs
                and which are internal Odin32 function/APIs.
    - div:      Added some missing $Id keywords.
    - database: Trying to make the database more useful. Extracting more
                data from the source files.
                According to the doc\ToDo file we're to write structured
                and well documented code. This database is indetended to
                make the documentation (++) browsable. (PHP)

 2000-07-17: Patrick Haller <phaller@gmx.net>
    - KERNEL32: fixed ReadFile/WriteFile bugfix
                fixed return codes for HMWaitForSingleObject

 2000-07-16: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32k:   Created a development branch called "Grace" and checked my
                current code in into it. (This is the reason why there are
                some new files in the src/win32k tree.)

 2000-07-15: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   XWing vs Tie Fighter fix broke RealPlayer 7 setup (missing buttons)
                -> rewrote RDW_INVALIDATE code in RedrawWindow to work for
                both applications
    - KERNEL32: Added extra check in isPEImage method
                lpNumberOfBytesRead/Written can be NULL in Read/WriteFile
    - PELDR:    Fix for arguments with quotes (first and last quote removed)
                (i.e. pe rnuninst "RealNetworks|RealPlayer|6.0| -i -p")
                Fix for exe name with dir containing spaces

 2000-07-12: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
    - KERNEL32: Implemented handlemanager support for named and unnamed pipes

 2000-07-10: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Don't try to search for resources if the module doesn't contain any

 2000-07-09: Patrick Haller <phaller@gmx.net>
    - doc:      Moved several documents to the new doc directory and
                created initial version of "ToDo.txt". We should place
                our open tasks in there for better overview and to be able
                to assign priorities and people to them.

 2000-07-07: Sander van Leeuwen <sandervl@xs4all.nl>
    - NTDLL:    Bugfix for NtQueryInformationToken (TOKEN_USER); updated
                with latest Wine code (TODO: NTDLL needs to be resynced)

 2000-07-06: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Store user default language in thread database struct
                Set/GetThreadLocale change/return this LCID value
                Fixed EnumSystemLocalesA/W; now returns default user language id
                (in text) (TODO: should return all supported locales)
    - KERNEL32/GDI32/USER32: Changed/fixed calls to strncpy (for 0 termination)

 2000-07-06: Vitali E. Pelenyov <Vitali.Pelenyov@dpt.ustu.ru>
    - ODINCRT:  Fixed wrong implementation of strncpy; do not 0 terminate
                string unless length < length parameter
                (this is correct behaviour according to C library manual)

 2000-07-04: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Unstubbed CopyFileExA/W (calls CopyFileA/W; not properly implemented)
                Unstubbed CreateDirectoryExA/W (calls CreateDirectoryA/W; not properly implemented)
                Fixed GetShortPathNameA/W; don't touch short path parameter if
                it's NULL; behaviour (as seen in NT 4, SP6):
                - converts long filename to 8.3 short filname (TODO: not yet done here!)
                - fails on volume that doesn't support 8.3 filenames
                - if lpszShortPath 0 or cchBuffer too small -> return required length
                  (INCLUDING 0 terminator)
                - if lpszLongPath == NULL -> ERROR_INVALID_PARAMETER (return 0)
                - if lpszLongPath empty -> proceed as if nothing is wrong
                  (Wine claims it sets last error to ERROR_BAD_PATHNAME)
                - does NOT clear the last error if successful!
                - if successful -> return length of string (excluding 0 terminator)
    - USER32:   Fixed adding windows to tasklist (done too late)
    - GDI32/USER32:
                - Rewrote Set/GetViewportExtEx, Set/GetMapMode & moved them
                  from gdi32 to user32

 2000-07-03: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - KERNEL32: Added IsDebuggerPresent (debug.cpp). Returns FALSE, but by
                SETing ODIN32.DEBUGGERPRESENT=1 it will return TRUE. (Some
                application might issue calls to OutputDebugString if they
                think they're being debugged.)
                Moved OutputDebugString(A/W) to debug.cpp.

 2000-07-02: Sander van Leeuwen <sandervl@xs4all.nl>
    - RICHED32: Fixed bug when creating edit window (needs to be WS_CHILD)
    - USER32:   Fixed moving of child windows in MsgFormatFrame & move
                child windows if only client rectangle changes
                (fixes Acrobat Distiller window)
    - SHELL32:  Put back check for registration of ShellView window class
                -> RegisterClass now fails if already registered
                (fixed openfile dialogs)

 2000-06-30: Sander van Leeuwen <sandervl@xs4all.nl>
    - PELDR:       Fixed bug in command line parser
    - KERNEL32:    Fixed bugs in commitPage of memory mapped files (when
                   part of the offending memory area is committed and the
                   rest is not)
                   Fixed alias check in ReadFile (include offset & size) and 
                   added the same check to WriteFile
                   Fixed bug in OpenFile (don't set structure to 0 for OF_REOPEN mode)
    - USER32:      Don't send WM_ACTIVATE in WM_WINDOWPOSCHANGED if window
                   already active (endless loop in Lotus Notes)
                   Move children if client area changed (only if window
                   was previously smaller than client area) -> fixes
                   install window in AIM installer.

 2000-06-30: Michal Necasek <mike@mendelu.cz>
    - KERNEL32:    Fixed lstrcpynA(toW) calls (wrong length)
    - WINMM:       Resume playback when writing a buffer in underrun state
                   Set minimal buffer size to (bytes per second)/32.

 2000-06-29: Michal Necasek <michalnec@volny.cz>
    - DDRAW:   Experimentally changed SurfGetDC behavior which fixed
               colors in some but not all cases. GDI image is still
               upside down.

 2000-06-29: Sander van Leeuwen <sandervl@xs4all.nl>
    - INCLUDE\WIN\commctrl.h:
                   Put undocumented parts in #ifdef COMCTL32UNDOC statement
    - INCLUDE\makefiles
                   Added -DCOMCTL32UNDOC to Odin compile flags
    - USER32:      Added HCBT_ACTIVATE hook call to SetActiveWindow
                   Send WM_ACTIVATE from WM_WINDOWPOSCHANGED if SWP_ACTIVATE
                   flag set -> fixes activation of odin windows
                   Removed forwarding of messages to PM frame window handler.

 2000-06-28: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32:    Cleaned up resource handling (findResourceA/W); much
                   more efficient now (searching for different languages)
                   Sets proper error code when failing to find type or name
                   Search for language in following order:
                   - specified language (user default if LANG_GETFIRST)
                   - primary specified language with default sublanguage
                   - language neutral
                   - first available language
                   Changed return type of HMDeviceFileClass file locking
                   methods (DWORD -> BOOL; not a bugfix)

 2000-06-28: Michal Necasek <mike@mendelu.cz>
    - USER32:      BeginDeferWindowPos accepts count 0 as valid parameter
                   (verified in NT; negative count is illegal)

 2000-06-27: Patrick Haller <phaller@gmx.net>
    - KERNEL32:    Added CreatePipe() call. Note: Anonymous and named
                   pipes do NOT comply with HandleManager right now!

 2000-06-27: Michal Necasek <michalnec@volny.cz>
    - DINPUT:      Fixed some key values, MS uses mostly raw scan
                   codes but not always, why am I not surprised?

 2000-06-26: Sander van Leeuwen <sandervl@xs4all.nl>
    - GDI32:       Fixed inverse video in RealPlayer 7 with SDD video drivers
    - USER32:      Fixed bug in InvalidateRect/Rgn, don't include children
                   in WinInvalidateRect/Region call -> fixes painting of
                   background bitmap in XWing vs Tie Fighter install app.
                   WinInvalidateRegion with fIncludeChildren=0 invalidates both
                   the parent and child windows (for !WS_CLIPCHILDREN window)
                   fIncludeChildren=1 -> invalidates only child (in xwing case
                   as it overlaps the invalid region completely; though parent
                   window doesn't have WS_CLIPCHILDREN style)
    - KERNEL32:    Added check for crossing limit of relocation section when
                   applying fixups. (fixes crash in IBM VisualAge Java setup)

 2000-06-25: Michal Necasek <mike@mendelu.cz>
    - KERNEL32:    When creating files and mode is readonly, change to
                   read/write (or else DosOpen fails)
                   GetFileTime failed in OpenFile because handle wasn't
                   saved yet

 2000-06-23: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32:    Changed version; Odin presents itself as Windows NT 4 Service Pack 6
                   Return build nr in high word in GetVersion
                   Minor fixes in GetSystemInfo (processor level & revision)
                   FindResource bugfix for resource types starting with '#'
                   (i.e. "#102" really means numeric id 102)

 2000-06-22: Michal Necasek <mike@mendelu.cz>
    - KERNEL32:    Added language support for Czech Republic
    - USER32:      wsprintf bugfix for %#04x (didn't add leading 0('s) if required)

 2000-06-22: Christoph Bratschi <cbratschi@datacomm.ch>
    - COMCTL32:    fixed ANIMATE_ThreadFunc's calling convention

 2000-06-21: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:      Owner bugfix (WS_CHILD window has no owner)
                   Replaced calls to PM frame window handler (i.e. WM_FOCUSCHANGE)
                   Activated menu keyboard accelerators
    - KERNEL32:    Setup environment similar to NT. I.e.:
                   CPU=i386
                   HOMEDRIVE=<Odin drive>
                   HOMEPATH=\
                   NUMBER_OF_PROCESSORS=2
                   OS=Windows_NT
                   PATHEXT=.COM;.EXE;.BAT;.CMD
                   PROCESSOR_ARCHITECTURE=x86
                   PROCESSOR_IDENTIFIER=x86 Family 6 Model 6 Stepping 5, GenuineIntel
                   PROCESSOR_LEVEL=6
                   PROCESSOR_REVISION=0605
                   SystemDrive=<Odin drive>
                   SystemRoot=<Odin Windows dir>
                   windir=<Odin Windows dir>
                   TODO: Some environment variables still missing (see kernel32\initsystem.cpp)

 2000-06-21: Patrick Haller <phaller@gmx.net>
    - MSVCRT:      - Added stub for __CxxLongjmpUnwind (NETSCAPE 4.7)
    - CRTDLL:      - CRTDLL is in some serious troble:
                     1. CRTDLL__close() -> _close()
                        CRTDLL__openU() -> CreateFileA()
                        this combination is incompatible !
                     2. calls like _close() go into the OS/2 kernel somewhere
                        without proper FS: protection -> CRASH.
                     CRTDLL__close() is fixed (CloseHandle()) now.

 2000-06-18: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
    - KERNEL32:    Added language support for Poland

 2000-06-18 Patrick Haller <phaller@gmx.net>
    - KERNEL32:    - fixed potential memory leak in GetLocaleInfoA
                   - improved GetNumberFormatA

 2000-06-17: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32:    Bugfix in resource handling (due to yesterday's change)
                   DuplicateHandle fix
    - USER32:      Region fixes (RedrawWindow)
                   Get/SetWindowRgn fixes
    - INCLUDE\OS2WRAP.H:
                   Added missing wrappers for GpiCreatePolygonRegion,
                   GpiCreateEllipticRegion & GpiCreateRoundRectRegion

 2000-06-16: Sander van Leeuwen <sandervl@xs4all.nl>
    - GDI32:       Put back region 'bugfix' as it's completely wrong and breaks
                   RealPlayer 7.
    - KERNEL32:    FindResource bugfix for resource names starting with '#'
                   (i.e. "#102" really means numeric id 102)

 2000-06-14: Patrick Haller <phaller@gmx.net>
    - KERNEL32:     - fix in HandleManager::DuplicateHandler to call
                      OSLibDosDupHandle() instead of CreateFile
                    - fix oslibdos.h FILE_ SetFilePointer constants
                      were shifted by 1
                    - fix for signed negative 32-bit seek from llseek()
                      forwarded to the 64-bit OS/2 DosSetFilePtrL()
                      Note: need to check file locking APIs !
                    - fix GPI32 region: clientHeight, clientWidth:
                      hwnd == 0 == HWND_DESKTOP seems to be valid !

 2000-06-14: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:       Rewrote ExcludeUpdateRgn & GetUpdateRgn
                    Check if update rectangle is emtpy in PM WM_PAINT msg;
                    ignore it when that's the case
                    -> fixes excessive redrawing in Lotus Notes
    - GDI32:        Put back region apis
                    Rewrote region functions
                    DIB section reversal bugs fixed (as seen in Starcraft install)

 2000-06-14: Patrick Haller <phaller@gmx.net>
    - KERNEL32:     Altered calling of dllEntryPoint() depending on
                    static or dynamic loading if library according
                    to the Win32 documentation. (StarCraft)

 2000-06-13: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:       Check if class already exists in RegisterClass(Ex)A/W
                    and return 0 (ERROR_CLASS_ALREADY_EXISTS) if true

 2000-06-12: Patrick Haller <phaller@gmx.net>
    - LZ32:         Updated to current WINE level (minor changes)

 2000-06-11: Patrick Haller <phaller@gmx.net>
    - KERNEL32:     Moved GetNumberFormat to different source file and enhanced
                    it a little (WinRAR shows file sizes)
                    Creating an existing directory does not return an error ?!
                    Updated GetStringTypeA/W and GetStringTypeExA/W

    - SHLWAPI:      Added a whole lot of missing functions, forwarders, stubs
                    Only 50 more to go for IE4 ...

 2000-06-09: Patrick Haller <phaller@gmx.net>
    - COMCTL32:     Added some missing stubs (.9 .10 .389 .390)
    - SHLWAPI:      Added numerous missing functions, some stubs
                    (.1 .2 .3 .4 .5 .6 .7 .8 .9 .10 .11 .12 .13 .14 .15 .16
                     .23 .28 .37 .38 .40 .43 .53 .56 .59 .60 .74 .83 .94 .95
                     .102 .116 .117 .158 .197 .240)

 2000-06-08: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32:     Fixed incorrect last error for OpenFile & LoadLibrary(Ex)
                    Added null pointer check to RegQueryValueW and fixed
                    memory leak.
    - USER32:       Ignore weird WM_ADJUSTWINDOWPOS messages (why are they sent?)
                    -> fixes combo box
                    Fixed GetUpdateRect
                    RedrawWindow changes; SetWindowPos fix (client invalidation)
                    Call MsgNCPaint in RedrawWindow (WM_NCPAINT is not posted
                    if update region doesn't include (part of) the nonclient area.
                    -> fixes RealPlayer 7 titlebar, borders & menu
                    GetTopWindow fix. (should work properly now)

 2000-08-03: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - tools/install:Added a stram 'close' on the changelog.
                    (4OS2 can't copy files which are opened for write(?).
                    The changelog has to be closed after copying it into
                    the odininst.wis file.)
    - tools/DailyBuild:
                    Creates .WPI releases too.
                    (odin32pack.cmd and odin32ftp2.cmd)
                    WarpIn is added to the build environment variables
                    (odin32env.cmd).
                    WarpIn is added to the build environment variables
                    (odin32env.cmd).

 2000-06-07: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:       Fixed wrong dispatch of WM_NCHITTEST
                    Fixed DC leak in EndPaint (reset hps type to TYPE_1)
                    -> resulted in out of memory and very slow PM operations
                    -> ICQ 2000a install now finishes (used to run out of mem)
                    Rewrote window management; now one PM window (non-frame)
                    is created for each win32 window (used to be a frame/client
                    pair)
                    -> speeds up drawing & fixes some repaint problems
                    Window coordinates (internally stored) are now relative
                    to window parent (or screen coord. if no parent); client
                    coordinates relative to the frame window
                    GetParent now returns owner if toplevel window
                    SetParent hides and shows window when changing parent
                    Added support for DCX_USESTYLE, DCX_CLIPSIBLINGS, DCX_CLIPCHILDREN
                    and DCX_PARENTCLIP in GetDCEx
                    Rewrote Set/GetWindowPlacement + SetInternalWindowPos (Wine port)
                    Manual minimize, maximize & restore in ShowWindow + fixes
                    TODO: Repaint problems, move child windows when client position/size
                          changes
                    SetParent/GetParent fixes for desktop parent.
    - SHELL32:      Disabled system tray window for now. (appears in top/right
                    of the desktop otherwise)

 2000-06-03: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
    - WINMM:        Don't start playback when WaveOutRestart is called
                    before any buffers have been added.
                    Clear WHDR_INQUEUE bit for buffers returned in WaveOutReset

 2000-06-03: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - Win32k/REXX:  Rewrote the REXX stub program in assembly.
                    (exe size: 688 bytes) Might be able to embedd it in
                    win32k.sys... (not priority)

 2000-06-02: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
    - SHELL32:      Systray class registered with wrong name

 2000-06-01: Sander van Leeuwen <sandervl@xs4all.nl>
    - GDI32/USER32: Moved GetClipRgn & GetClipBox into user32 (dc.cpp)
    - GDI32:        Added more logging
    - KERNEL32:     Rewrote CompareFileTime, DeleteFileA
                    Put file io apis in separate handlemanager object class
                    Rewrote most file io apis; includes support for 64 bits file
                    pointer/size:
                    - CreateFile/OpenFile/DuplicateHandle/CloseHandle
                    - ReadFile(Ex)/WriteFileEx/GetFileType/GetFileInformationByHandle
                    - SetEndOfFile/SetFileTime/GetFileTime/GetFileSize
                    - SetFilePointer/LockFile(Ex)/UnlockFile(Ex)/FlushFileBuffers
                    Fixed some OpenFile bugs. Put Read/WriteFileEx into file
                    io class. Fixed LockFileEx/UnlockFileEx
                    New file apis use OS/2 apis now; overlapped IO not yet
                    supported.
    - SHELL32:      Added ISF_MyComputer_fnParseDisplayName from latest Wine
                    Fixes open file dialog

 2000-05-31: Michal Necasek <mike@mendelu.cz>
    - KERNEL32: Remove trailing slash in SetCurrentDirectoryA

 2000-05-29: Jens Wiessner <wiessnej@rfi.de>
    - URLMON:   Added (Wine 26/05/2000)
    - IMAGEHLP: Updated (Wine 26/05/2000)

 2000-05-29: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Make resource section read/write
                GDI32 changes some bitmap structures to avoid problems in Open32
                -> causes crashes if resource section is readonly
                -> make it readonly again when gdi32 has been rewritten
    - GDI32:    StretchDIBits bugfix (check if return value equals src height; not destination)
    - USER32:   Groupbox should return HT_TRANSPARENT during WM_NCHITTEST

 2000-05-28: Michal Necasek <mike@mendelu.cz>
    - DINPUT:   Discard messages received multiple times. Fixes keyboard
                in Fallout 1/2.

 2000-05-28: Sander van Leeuwen <sandervl@xs4all.nl>
    - SHELL32:  Merged ShellExecuteA/W of latest Wine release (old version
                did not return process handle)
    - KERNEL32/USER32:
                Rewrote and cleaned up resource handling. FindResource(Ex)
                now returns IMAGE_RESOURCE_DATA_ENTRY pointer.

 2000-05-27: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Don't call entrypoint when executable is loaded as dll (with
                LoadLibrary(Ex))
                Fixed bugs in GetVolumeInformationA

 2000-05-26: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   Don't call Dinput handlers (mouse & keyboard) during message
                translation in PeekMessage unless msg is removed.
                Don't use FCF_TASKLIST style anymore; manually add/remove
                windows from tasklist (only windows with no parent are added;
                visible in window list if window is visible; change tasklist
                status in SetWindowPos (SWP_SHOW/HIDEWINDOW) or ShowWindow)
    - KERNEL32: Don't delete a memory map when it's file handle is closed.
                Delete it when the last view has been unmapped. (and the handle
                is closed)
                Added method to query the size of a win32 image.
    - INCLUDE\makefiles:
                Added TCPV40HDRS definition

 2000-05-24: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Fixed some memory map bugs (memory sdk sample works again)
    - USER32:   Experimental generation of own WM_HITTEST messages (disabled now)
                Don't activate active MDI child.

 2000-05-24: Patrick Haller <phaller@gmx.net>
    - WINMM:    finally fixed callback type of timeSetEvent() timers
    - KERNEL32: changed (experimentally) behaviour of MapViewOfFileEx:
                lpBaseAddress is ignored (VAJ3 loads)

 2000-05-23: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Rewrote GetVolumeInformationA/W
                Fixed call to GetFileTime in OpenFile
    - DDRAW:    Bugfix for querying HEL caps in DrawGetCaps
                (support for different DX versions)

 2000-05-22: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: GetFileAttributes bugfix:
                Open32 returns FILE_ATTRIBUTE_DIRECTORY|FILE_ATTRIBUTE_NORMAL for
                directories whereas NT 4 (SP6) only returns FILE_ATTRIBUTE_DIRECTORY
                Fixed GetFileTime; wasn't updated for handle manager
                (InstallShield now continues after initial window (used to
                 stop at 99%))
                Create thread security objects during THDB creation (not complete)
                -> fixes crash in NTDLL for thread tokens
                -> PowerDVD 2.55 install now completes
                FindResource(Ex)A/W: if resource not found, then try:
                       - resource with user default language
                       - resource with system default language
                       - first available resource (any language)
                (TODO: Need to check what NT really does)
                -> fixes wrong strings (i.e. menu & buttons) in PowerDVD
    - GDI32:    Sync dib section in StretchDIBits if destination hdc contains
                selected dib section
                -> fixes black windows in PowerDVD (todo: palette still wrong)

 2000-05-21: Christoph Bratschi <cbratschi@datacomm.ch>
    - USER32:   merged controls with Corel WINE 20000513
                fixed titlebar double click -> restore/maximize
                show window text changes (why was this disabled?)
    - COMCTL32: merged with Corel WINE 20000513
                added APIs used by IE5 (credit: Patrick Haller)

 2000-05-20: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   BroadcastMessageA/W bugfix
                Set visible state for both client & frame windows (fixes
                redrawing of toolbar window in mIRC32) in SetWindowPos &
                ShowWindow
    - KERNEL32: Partly implemented GetDiskFreeSpaceExA/W; need to add support
                for 64 bits values!

 2000-05-19: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
    - ICMP:     Initial release of ICMP.DLL and header files
    - OPENGL32: Upgraded to latest level (3.3)

 2000-05-19: Yuri Dario <mc6530@mclink.it>
    - USER32:   Don't send WM_PARENTNOTIFY if parent has already been destroyed

 2000-05-19: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
    - WNASPI32: Unique id & buffer length bugfixes -> CDRWIN 3.8a
                works now (recording on SCSI only for now)

 2000-05-19: Sander van Leeuwen <sandervl@xs4all.nl>
    - SHELL32:  Fixed some exports
    - SHLWAPI:  Fixed ordinals of exports (based on NT4 SP6) + added stubs
    - GDI32:    Fixed palette copy in SetDIBits (dib sections) -> fixes
                bitmap colors in WinDVD control window & X-Wing vs. Tie-Fighter
                install window

 2000-05-18: Michal Necasek <mike@mendelu.cz>
    - DSOUND:   An updated version, hopefully not too many bugs were introduced

 2000-05-18: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: EnumResourceNamesA bugfix (wrong length in UnicodeToAsciiN call)
                (reported by Michal Necasek)
                Call CheckLogException for each exception; safety guard against
                exceptions inside WriteLog.
    - WSOCK32:  Mark cancelled async select to avoid finding it before the
                thread removes itself from the queue
                Check if async select thread is blocking inside select before
                calling so_cancel to cancel or change the async select.
    - SHELL32:  Removed Path* functions; added forwarders to shlwapi.dll
    - SHLWAPI:  Merged path function with Wine 20000430 (shellpath.cpp)
                Added DllGetVersion export.
                Added SHCreateStdEnumFmtEtc, CIDLData_CreateFromIDArray, SHFindFiles
                SHFindComputer + other apis used by IE5 (stubs)
    - COMCTL32: Added export 389 (return 0 as in NT 4) & 390 (stub); IE5 needs them
                Added DPA_LoadStream & DPA_SaveStream (Wine port)

 2000-05-16: Sander van Leeuwen <sandervl@xs4all.nl>
    - COMDLG32: Fixed shlwapi imports (GetProcAddress failed for PathFindFileNameA
                -> crash when calling file dialog functions)

 2000-05-16: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
    - GDI32: Fixed bug in font.cpp
             iFontRename should use strncpy instead of memcpy since source
             string passed may be smaller than amount of bytes to copy
             resulting in GPF.

 2000-05-14: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
    - WNASPI32: Implemented working ASPI.

 2000-05-14: Patrick Haller <phaller@gmx.net>
    - SHLWAPI: finally separated SHELL32 and SHLWAPI, adjusted to NT4 functions and exports

 2000-05-13: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - tools\common: Corrected makefiles.

 2000-05-12: Edgar Buerkle <Edgar.Buerkle@gmx.net>
    - KERNEL32: Print name of image referenced by EIP (stackdump)

 2000-05-12: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   Fixed bug in HOOK_RemoveHook (wrong call for enter semaphore method)
                SetSysColors bugfix (called itself for some reason)
                Fixed wrong dispatch of messages under certain conditions
    - COMDLG32: Fixed initial directory for GetOpen/SaveFileNameW
                If initial dir string == "" -> use current dir (not only
                when ptr equals NULL) (verified this behaviour in NT 4)
    - GDI32:    Do manual image flip in dib section blit (fixes wrong position
                of Palm Emulator bitmap)
                Might also fix reversed video in RealPlayer 7 (Warp 4 FP13/WSeB FP1)

 2000-05-10: Christoph Bratschi <cbratschi@datacomm.ch>
    - COMCTL32: Fixed treeview item height bug (reported by Markus Montkowski)

 2000-05-10: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   Fix for SetForegroundWindow (SWP_NOZORDER flag removed)
                GetForegroundWindow now uses WinQueryActiveWindow instead
                of Open32's GetForegroundWindow
    - KERNEL32: Extra logging for atom functions, fixed GlobalGetAtomNameW
    - COMDLG32: Added missing ascii to unicode conversions in GetFileDialog95W
                (file name (returned), initial dir & file dialog title)
    - RICHED32: Added (Wine port)
    - TOOLS\INSTALL: Added ChangeLog to installation script

 2000-05-09: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: Enclose executable name in quotes if it (or it's directory)
                contains spaces
                Route rtl error messages to logfile (_set_crt_msg_handle)
                Added support for system, user default & neutral language in
                FindResourceExA/W
                Fill in correct language id in GetUserDefaultLCID/GetSystemDefaultLCID
                GetUserDefaultLangID & GetSystemDefaultLangID; gets country
                with DosQueryCtryInfo
    - WSOCK32:  Return WSAWOULDBLOCK if recv returns 0 and connection is
                still available. (experimental change for rp7)
    - USER32:   MENU_PtMenu: return when menu has no window handle (prevents
                Moraff's YourJongg from crashing -> need to check why this
                happens)
                Bugfix in AdjustWindowRectEx; if style, exstyle and menu
                = 0 -> no changes required to the input rectangle
                (verified this in NT 4)
                Don't send WM_ACTIVATE, WM_SET/KILLFOCUS & WM_SHOWWINDOW
                messages when window is being destroyed.
    - SHELL32:  Wrong systray classname used when creating systray window
                Fixed bugs in SYSTRAY_SetTip/SYSTRAY_ModifyTip; string
                copy operations used wrong size -> heap corruption
    - DINPUT:   Check window handle if app acquired mouse input in
                cooperative mode
    - TOOLS\INSTALL: Fixed wrong glide dll for voodoo 2 install package

 2000-05-06: Sander van Leeuwen <sandervl@xs4all.nl>
    - GDI32:    Added stretch blit mode support to dibsection blits

 2000-05-05: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   Fixed window property functions (ported from Wine)
                The old ones used Open32 functions which no longer work
                due to atom api changes a few months ago.
                If the mouse has already been captured, then it must
                be released before calling WinSetCapture ->
                fixes menus & dialog in MS Word 97
    - OLE32:    Fixed BindCtxImpl_SetBindOptions/BindCtxImpl_GetBindOptions
                Need to check size of bind structure before copying (as done in Wine)
                -> fixes crash (stack corruption) in MS Word 97
    - WSOCK32:  When changing the receive or send buffer (setsockopt) and
                it fails with WSAENOBUFS, decrease size until no error
                is returned (63kb buffer is not always accepted by the
                16 bits tcpip stack) (stops when buffer < 4096)

 2000-05-04: Achim Hasenmueller <achimha@innotek.de>
    - USER32:   Applied fix to GetDCEx where the check to see if
                the window has its own DC was applying invalid
                style flags due to missing parantheses
                (reported by Oliver Braun)

 2000-05-04: Sander van Leeuwen <sandervl@xs4all.nl>
    - USER32:   Menu font from bold to normal again. Bold fonts are too
                big (rp7 menu split in two parts).

 2000-05-03: Sander van Leeuwen <sandervl@xs4all.nl>
    - WSOCK32:  Fixed WSAEFAULT errors in setsockopt (16 bits TCP/IP stack
                doesn't like high addresses; similar problems can also occur
                elsewhere in wsock32)
    - USER32:   Change settings return by SystemParameterInfo for SPI_GETNONCLIENTMETRICS
                Caption & menu fonts now bold; different sizes (more like Wine now)
                Set/clear WS_VISIBLE flag in SetWindowPos; don't call
                ShowWindow.
                Implemented Set/Get/ReleaseCapture without Open32
                Release capture for window that is about to be disabled
                Send WM_CAPTURECHANGED messages when capture changes

 2000-05-02: Sander van Leeuwen <sandervl@xs4all.nl>
    - KERNEL32: GetLocaleInfoA/W fix (size of buffer for i.e. LOCALE_IDATE
                should be >= 2, not > 2)
                VirtualFree: Check for ERROR_ALIAS return value

                Ported and changed/fixed XFolder stack dump code (symbol file only)
                When a win32 app crashes, a dump of the stack is written
                in odin32_0.log.
    - USER32:   Merged some Wine dialog changes (setting focus + font size)
                Extra logging for some apis
                Added support for RDW_FRAME flag to GetDCEx
    - INCLUDE\makefiles:
                Added rule for converting map to symfile
                A symbol file is now created for each exe/dll
    - INCLUDE\ODINWRAP:
                Turned off profiling by default.
                Our log is big enough as it is without even
                more logging.

 2000-05-02: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
    - makefile and tools/makefile:
                tools/install is not a "needed tool" required for
                to do the rest of the build; and it'is dependent on
                kernel32.lib which haven't been made at the time
                the needed_tools are being made. So, the making of
                tools/install is the last thing we do in the makeprocess.
    - WSOCK32, WINMM:
                ODINWRAP changes below broke WSOCK32 and WINMM.
                I've created some highly temporary fix for it this problem.
                Could someone please make a permanent fix?
    - tools/bin/wrc.exe and tools/wrc:
                Important notice: __WIN32OS2__ is not defined when making wrc!
                This was the reason why ':' was used as include separator.
                This is corrected now. ';' is now the include separator.
                A new wrc.exe has been checked in.

 2000-04-30: Patrick Haller <phaller@gmx.net>
        - ODINWRAP: added profiling support. The odin wrapper macros now
                    can measure function calls, this is the cumulative
                    method call time with 838ns accuracy (tick unit).

 2000-04-30: Sander van Leeuwen <sandervl@xs4all.nl>
	- KERNEL32: LocalFlags fix (low byte = lock count, hight byte (of low word) = memory flags)
                    LocalGetFlags, LocalLock & LocalUnlock now check if the
                    pointer is larger than 3 GB. Some apps calls these functions
                    with GDI object handles.
	- OLEAUT32: Don't create logfiles in release build

 2000-04-29: Yuri Dario <mc6530@mclink.it>
	- USER32:   Bugfix for owner of windows (set to owner instead of parent now)

 2000-04-29: Sander van Leeuwen <sandervl@xs4all.nl>
	- USER32/KERNEL32: Added selectable logging for level 2 dprintfs.

	- USER32:   Commented out default x & y position code
                    (FCF_SHELLPOSITION no longer works)
                    -> fixes menu & toolbars in MS Word 97

	- KERNEL32: Added windows directory override again
                    (NOTE: for developers *ONLY*; DO NOT USE IT)
                    [DEVDIRECTORIES]
                    WINDOWS=drive:\path
                    Default System directory is kernel32 path
                    (with new install program: x:\odin\system32)
                    Default Windows directory is parent of System Directory
                    (with new install program: x:\odin)
		    NOTE: This assumption could break current installs
                          Will be fixed in upcoming WarpIn installation distributions

                    Changed InitSystemAndRegistry:
  		    InitSystemAndRegistry creates:
			- WINDOWSDIR\SYSTEM
		        - WINDOWSDIR\AppData
		        - WINDOWSDIR\Cache
		        - WINDOWSDIR\Cookies
		 	- WINDOWSDIR\Desktop
		 	- WINDOWSDIR\Favorites
		 	- WINDOWSDIR\Fonts
		        - WINDOWSDIR\History
		 	- WINDOWSDIR\NetHood
		 	- WINDOWSDIR\My Documents
		 	- WINDOWSDIR\PrintHood
		 	- WINDOWSDIR\Recent
		 	- WINDOWSDIR\SendTo
		 	- WINDOWSDIR\Start Menu
		 	- WINDOWSDIR\Start Menu\Programs
		 	- WINDOWSDIR\Start Menu\Programs\Startup
		 	- WINDOWSDIR\ShellNew
		 	- and a minimal system registry

	- TOOLS\INSTALL: WarpIn install script + small install program
                         that calls kernel32 export (InitSystemAndRegistry)

	- TOOLS\WRC:     Forgot to add change in preproc.c (ifdef)
                         (shouldn't really matter though)

 2000-04-27: David Raison <djr@lemur.co.uk>
        - OLE32/NEW: Work-in-progress on adding apartment handling.
	  Added here for backup until ready for release.

 2000-04-27: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
        - tools/DailyBuild: Checked in the scripts used for the daily build.

 2000-04-27: Achim Hasenmueller <achimha@innotek.de>
	- put back new wrc.exe, provide workarounds in
	  header files, old one breaks comdlg32
	  TODO: find bug in new wrc and really fix it

 2000-04-26: David Raison <djr@lemur.co.uk>
        - INCLUDE/WIN: Added RPC_E_* codes to winerror.h
        - OLE32: Fixed StringFromGUID2

 2000-04-25: Achim Hasenmueller <achimha@innotek.de>
	- TOOLS/BIN: put back old wrc.exe from Oct. 99 because the
	             new one has problems with include files...

 2000-04-25: Patrick Haller <phaller@gmx.net>
        - SHLWAPI: - stubbed all the UrlXXX functions (required for IE4/5 ;-)

 2000-04-23: Sander van Leeuwen <sandervl@xs4all.nl>
	- GDI32:   Dib section blit fix (missing pixels)
	- WSOCK32: Don't send FD_CLOSE message when select returns
                   and there's no data available (recv in another thread
                   might have taken that data before the ioctl call in
                   the WSAAsyncSelect thread is executed)
                   -> fixes lost connections in RealPlayer 7

 2000-04-19: Patrick Haller <phaller@gmx.net>
        - INCLUDE/PDWIN32.TOOLS: fix build rule for (old) .asm sources

 2000-04-19: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
        - KERNEL32: Added fix for bug in FP13 DosQuerySysInfo.
                Win32k/Pe2Lx loaded files didn't work.
                Corrected TLS handling for Borland.

 2000-04-19: Sander van Leeuwen <sandervl@xs4all.nl>
	- TOOLS\WRC: Resync with latest Wine wrc + added code to produce
                     masm compatible assembly (for some reason removed from
                     wrc some time ago)
                     -> fixes file open dialog (nothing painted)
	- COMCTL32:  Check for NULL pointers before freeing memory
                     (toolbar; removes some warnings from the logfiles)

 2000-04-18: Sander van Leeuwen <sandervl@xs4all.nl>
	- USER32:   Added LR_LOADFROMFILE support for icon & cursor loading
	- GDI32:    Dib section fixes (use height/width of window when
                    dc belongs to a window; use correct stretchblit mode)
	- TOOLS\REGEDIT: Added regedit command line tool (ported this from
                         Wine with some modifications & bug fixes)
	- KERNEL32: Also set FPU control word to 0x27f before calling thread
                    functions (just to be sure)

 2000-04-16: Christoph Bratschi <cbratschi@datacomm.ch>
	- COMCTL32: added new resources: i.e. header cursors
		    changed file version to 5.80 (IE5, Win2k)
		    implemented missing listview messages, implemented some
		    extended styles

 2000-04-16: Sander van Leeuwen <sandervl@xs4all.nl>
	- KERNEL32: Put back dll search method, fixed bug in LoadLibraryEx
                    (no return after error detection)
                    Set FPU control word to 0x27F before calling exe entrypoint
                    (fixes some FPU exception problems in RealPlayer 7)

 2000-04-16: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
        - KERNEL32: Reorganized/reworte LoadLibrary/LoadLibraryEx code.
                    isPEImage was changed to return 1 if DLL and 2 if EXE.
                    (It still returns FALSE if not valid PE image.)

        - include\odin32validate.h:
                    New header file. Parameter validation macros.
        - KERNEL32: Before reading Sanders last message I had rewritten most of
                    the findDll function. So, as my implementation seems a bit
                    more flexible I decided to commit it.
                    Currently it's searching the three LIBPATH paths too. If
                    this causes any real trouble we'll disable this.

                    findDll now returns TRUE if a file were found. Callers are
                    corrected to test for this.

 2000-04-15: Christoph Bratschi <cbratschi@datacomm.ch>
        - COMCTL32: rewrote listview item handling: sort bug fix,
                    allows >= 4.70 support
                    implemented several new messages

 2000-04-15: Sander van Leeuwen <sandervl@xs4all.nl>
        - WSOCK32:  Async select fix (VPBuddy can connect again)
        - KERNEL32: Remove terminating backslash in FindFirstFileA (if present)
                    (otherwise DosFindFirst fails)
                    Fixed flushing of file maps (wrong VirtualQuery parameter)
                    Path search fix for dlls
                    Dll search order:
                    1) exe dir
                    2) current dir
                    3) windows system dir (kernel32 path)
                    4) windows dir
                    5) path environment variable

        - ODINCRT:  Added checks for failing mallocs
        - USER32:   Corrected return value of EnableWindow
                    Send WM_CANCELMODE message when disabling window
                    (return true if previous state was disabled, else false (sdk docs))
                    Don't send mouse messages to disabled windows; reroute
                    them to their parent windows (if any)

 2000-04-14: Sander van Leeuwen <sandervl@xs4all.nl>
        - KERNEL32: Hardcoded system & windows dir
                    system dir  = kernel32 dir
                    windows dir = kernel32 dir\win
                    Fixed dll attach for pe2lx/win32k & lx Odin executables
                    Command line fixes (now starts with full path of exe)
                    Search for dlls in:
                    1) current dir
                    2) win32 exe dir
                    3) windows system dir
                    4) path
                    Append backslash if GetFileAttributes fails (and it's missing
                    from the filename)
        - PELDR/KERNEL32: Fixed starting of executable with spaces in name
                          (might not be 100% complete yet)
                          Fixes for relative path of executable
        - ODIN.INI.TXT: Removed DIRECTORIES section

 2000-04-13: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Set thread message structure to 0 before dispatching it
                  Prevents app from sending the same posted message twice
                  (causing problems when freeing the postmsg struct)
                  (fixes RealPlayer 7 Update service)
        - CRTDLL: Fixed div (result must be returned in edx:eax)
        - PE:     Check PATH for executable file

 2000-04-12: Christoph Bratschi <cbratschi@datacomm.ch>
        - COMCTL32: listview: completed most version 4 features

 2000-04-10: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Added support for topmost windows

 2000-04-10: David Raison <djr@lemur.co.uk>
        - COMDLG32: fixed wrong lParam in file dialog

 2000-04-09: Sander van Leeuwen <sandervl@xs4all.nl>
        - GDI32: Y inversion fix for dib sections blits
        - WINMM: GetPosition fix (don't return 0 when stream not active)
        - KERNEL32: Fixed OSLibDosFindFirst. Return error if First DosFirstFirst
                    fails. (fixes RealPlayer 7 install)

 2000-04-09: Yuri Dario <mc6530@mclink.it>
        - INCLUDE(\WIN):
                - odin.h: define NONAMELESSUNION only for VA3.0 (now works with VA4);
                          remove buildin.h when invoked from resource compiler.
                - commctrl.h: new macros
                - mmsystem.h: define DUMMYUNIONNAME with same code used in other
                              headers to avoid precompiling errors.
                - shlguid.h: missing ID
                - shlobj.h: missing shlguid.h include
                - windows.h: define CINTERFACE only for C compilers or VA3.x
                - windowsx.h: macros
                - wingdi.h: few AW defines
                - winuser.h: new macros

 2000-04-08: Christoph Bratschi <cbratschi@datacomm.ch>
        - COMCTL32: added new styles and functionality, bug fixes

 2000-04-08: Sander van Leeuwen <sandervl@xs4all.nl>
        - WINMM:    Restart, pause & underrun fixes
        - KERNEL32: Fixed bug in CompareStringW. Unicode conversion was
                    causing heap corruption. (RealPlayer 7 crashes)

 2000-04-07: Michal Necasek <mike@mendelu.cz>
        - DDRAW\NEW: Experimental fullscreen DDraw, VIDEOPMI based.
             May not work with all video cards and may cause all
             kinds of trouble. But works swell for eg. Fallout 1/2
             or HMM3. Contains some extra bugs compared to the
             windowed DDraw, ie. Moorhuhn and others don't work
             with it at all. Please tell me about your experience
             with this shameless hack.

 2000-04-07: Sander van Leeuwen <sandervl@xs4all.nl>
        - WINMM:  Don't restart when already playing
        - USER32: Print mark in debug log with WriteLog (#ifdef DEBUG), not dprintf
                  Workaround for paint problems in RealPlayer 7 Update 1.
                  (don't clip the dc with a region in DoNCPaint if the clip
                   region has the same size as the window; doing so creates
                   update problems for no obvious reason)
        - GDI32:  Only change bitmap size in SetDIBitsToDevice if bitmap
                  is not compressed. (fixes crash during startup in Excel)
                  NOTE: Open32 doesn't implement compression type conversion
                        correctly. (black splash screen for RLE8 bitmap)
        - KERNEL32: Return length of windows or system directory when
                    GetWindowsDirectory/GetSystemDirectory is called with
                    a NULL pointer

 2000-04-07: David Raison <djr@lemur.co.uk>
        - USER32: Set lfSmCaptionFont structure in NONCLIENTMETRICSA
                  (SystemParametersInfoA/SPI_GETNONCLIENTMETRICS)

 2000-04-07: Knut St. Osmundsen <knut.stange.osmundsen@pmsc.no>
        - TOOLS\DBGINFO: Sym2Hll is now able to convert .SYM files into HLL
                debuginfo and add it to LX executables. This might be
                quite useful if you want to see system DLL while debugging.
                But before you add debuginfo to all dll's in c:\os2\dll
                I have to warn that this is _very_ alpha software. Do always
                make a backup (Sym2Hll don't create backups!) and have
                recovery boot disks ready!

 2000-04-06: Sander van Leeuwen <sandervl@xs4all.nl>
        - WINMM: Fixed message callback once more (previous fix broke rp7)
                 Fixed restart

 2000-04-08: Michal Necasek <mike@mendelu.cz>
        - WINMM: Moved phwo == NULL check below format query handling.
                 (enables sound in Jack Jazzrabbit; still not right though)

 2000-04-05: David Raison <djr@lemur.co.uk>
        - OLEAUT32: Turned default DEBUG-info down.

 2000-04-05: Knut St. Osmundsen <knut.stange.osmundsen@pmsc.no>
        - Win32k: Added fixpack 13 symbols to the symbol database.
                  Using win32k.sys with fp13 works fine here.

 2000-04-05: Sander van Leeuwen <sandervl@xs4all.nl>
        - WINMM: Smallest waveout buffer size = 128 bytes
                 Fixed callback bugs (reported by Michal Necasek)

 2000-04-03: David Raison <djr@lemur.co.uk>
        - OLE32: Added CoCreateGUID (calls RPCRT4.UuidCreate)
        - RPCRT4: Beginning of new dll:
            RpcStringFreeA, RpcStringFreeW, UuidCompare
            UuidCreate, UuidCreateNil, UuidEqual
            UuidFromStringA, UuidFromStringW, UuidHash
            UuidIsNil, UuidToStringA, UuidToStringW

 2000-04-02: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
        - SHELL32: don't sort files case sensitive

 2000-04-02: Christoph Bratschi <cbratschi@datacomm.ch>
        - KERNEL32: FindFirst: don't return "." and ".." in root
                    wrote long to short name conversion
                    added error code converter
        - USER32: removed 'What You See Is What You Get On First Of April'

 2000-04-02: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: dc.cpp cleanup
        - GDI32:  Dib section sync bugfix (todo: rgb 565 to 555 conversion if bpp == 16)
                  Set y inversion to 0 if dib section isn't flipped
                  (fixes upside down flash videos in RealPlayer 7)
        - WINMM:  Faked mixer apis

 2000-04-01: Sander van Leeuwen <sandervl@xs4all.nl>
        - GDI32: Fixed dibsection bitblits. (wrong updates of realplayer 7
                 videos)

 2000-04-01: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: added WYSIWYGOFOA interface

 2000-04-01: Edgar Buerkle <Edgar.Buerkle@gmx.net>
        - USER32: Fixed track frame width & height (now you can actually
                  see the tracking frame when moving a window)

 2000-03-31: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: readded CS_HITTEST for HT_TRANSPARENT handling, transparent
		  tooltips are now supported
		  (why is HT_TRANSPARENT in the groupbox control commented out?)
	- COMCTL32: treeview: added TTF_TRANSPARENT tooltip style

 2000-03-30: Christoph Bratschi <cbratschi@datacomm.ch>
	- KERNEL32:
	- SHLWAPI: added stubs for explorer.exe
	- COMCTL32: treeview: finished info tip

 2000-03-30: Sander van Leeuwen <sandervl@xs4all.nl>
	- KERNEL32: Also double thread stack in release build
                    (RealPlayer 7 runs out of stack sometimes)
	- WSOCK32:  Fixed bugs in WSAStartup/Cleanup & select (fixes Gnutella)

 2000-03-29: Sander van Leeuwen <sandervl@xs4all.nl>
	- KERNEL32: Throw exception when critical section times out
	- USER32:   Fixed bugs in PeekMessageA/W (fixes connection failures
                    & hangs after warning dialogs in RealPlayer 7)
	- GDI32:    Check for NULL region in GetRgnBox; can cause a crash
                    in Open32

 2000-03-29: Christoph Bratschi <cbratschi@datacomm.ch>
	- KERNEL32: added FindFileFirstMultiA for internal usage

 2000-03-28: Markus Montkowski <mmontkowski@gmx.de>
        - KERNEL32: Added workaround for GetDiskFreeSpaceA; Open32 api doesn't
                    like NULL pointers

 2000-03-28: Sander van Leeuwen <sandervl@xs4all.nl>
	- KERNEL32: Fixed VirtualQuery; cbLength is length of memory structure,
                    not range of pages
                    Fixed compare of imported api names with length < 4
                    Fixed OpenFile; if filename doesn't contain path, look for
                    it in:
		    1: dir from which the app loaded
                    2: current dir
                    3: windows system dir
                    4: windows dir
                    5: dirs in path path environment variable
          NOTE: Icon extraction in shell32 is broken; expects PE
                images even when looking for icons in shell32.
                (it should use FindResourceExA/W when looking for resources
                 in that case)
	- USER32:   Fixed combobox focus changes when showing dropdown window
        - WSOCK32:  Added support for warp 4 error messages (0 based)
                    Fixed FD_CLOSE async notification (fixes telnet ability
                    to detect lost connections)

 2000-03-28: Christoph Bratschi <cbratschi@datacomm.ch>
	- SHELL32: don't use pdump() in release build
	- GDI32: dump ROP2 mode

 2000-03-27: Sander van Leeuwen <sandervl@xs4all.nl>
	- USER32:   Fixed SetParent; remove child from parent's list (previously
                    didn't happen for children of the desktop)

 2000-03-27: Christoph Bratschi <cbratschi@datacomm.ch>
	- SHELL32: only scan dir once in CreateFolderEnumList
		   floppy drives have a fixed name
		   NOTE: delete 'bin\debug(release)\shres.*' or the resources
			 won't be updated

 2000-03-26: Christoph Bratschi <cbratschi@datacomm.ch>
	- COMDLG32:
	- SHELL32:  merged with Corel WINE 20000324

 2000-03-25: Sander van Leeuwen <sandervl@xs4all.nl>
	- KERNEL32: Fixes for GetStdHandle
	- WSOCK32:  Fixes for getservbyname & getservbyport

 2000-03-24: Sander van Leeuwen <sandervl@xs4all.nl>
	- KERNEL32: Fixed typo in pe loader (check for < 512 MB)
	- USER32:   Add size of space between two menu items when calculating
                    size of ownerdrawn menu item (fixes RealPlayer 7 menu)
	- GDI32:    Default format of 16 bits dibsection is RGB555
                    (fixes wrong colors when (sometimes) playing flash files
                     in RealPlayer 7)
	- WSOCK32\NEW: Bugfixes
        - WSOCK32:  Replaced with new wsock32

 2000-03-24: Achim Hasenmueller <achimha@innotek.de>
	- WSOCK32\NEW: Made it compile with the TCP/IP V5
	               header files.
                       NOTE: should we rely on the 32bit
	                     stack, is there any benefit for us?
	- DPLAY: Added ordinals 2 and 3 to the def file, APIs
	         already seem to be implemented?!?
	- COMDLG32: Fixed correct (Win95/OS2) dialog invocation

 2000-03-24: Christoph Bratschi <cbratschi@datacomm.ch>
	- USER32: fixed GetClipboardFormatNameW
		  fixed scrollbar memory leak
	- SHELL32: fixed IDataObject_fnGetData return value (file dialog
		   is now usable)

 2000-03-23: Sander van Leeuwen <sandervl@xs4all.nl>
	- KERNEL32: Fixed shared global mutex
                    Added VSemaphore class
	- USER32:   Fixed shared global mutex
          TODO:
          ---->> Compiler bug: during __ctordtorInit it calls the constructor
                               of global objects, even if the dll has already
                               been loaded!
                     Replaced WriteLogs by dprintfs
	- WSOCK32\NEW: Added WSAAsyncSelect + bugfixes

 2000-03-23: Christoph Bratschi <cbratschi@datacomm.ch>
	- COMDLG32: improved file dialog combobox
	- COMCTL32: removed static WINMM linking
		    several listview fixes

 2000-03-22: Sander van Leeuwen <sandervl@xs4all.nl>
	- WSOCK32\NEW: Completely rewritten (removed dependancy on pmwsock)
                       Untested and unfinished (WSAAsyncSelect)

 2000-03-21: Sander van Leeuwen <sandervl@xs4all.nl>
	- GDI32: Added RGB 555 to 565 conversion in dibsection blit.
                 (fixes wrong colors in RealPlayer 7 Update 1 (rm videos
                  only))
	- include\odinwrap.h: Disable heap checking by default for debug
                              build -> kills performance!

 2000-03-21: Edgar Buerkle <Edgar.Buerkle@gmx.net>
        - MSVCRT: Adding logging statement to _EH_prolog

 2000-03-21: Christoph Bratschi <cbratschi@datacomm.ch>
	- COMCTL32: optimized header/treeview for AMD cpuid
		    fixed dispinfo callbacks
		    reduced listview redraws
		    fixed wrong ASCII definitions in commctrl.h

 2000-03-20: David Raison <djr@lemur.co.uk>
 	- OLE32: Ported OleQueryCreateFromData, OleCreateFromData from
 	         wine/corel sources.
 	- OLEAUT32: Bugfix in ITypeLibImpl_GetDocumentation

 2000-03-20: Sander van Leeuwen <sandervl@xs4all.nl>
	- WSOCK32: Fixed relay bug in WSAAsyncSelect (delete relay slot
                   with same socket nr & window handle; there can
                   be more selects per window)

 2000-03-19: David Raison <djr@lemur.co.uk>
 	- OLE32: Bugfixes.
 	         Ported changes from wine/corel sources.
 	         Created ReadClassStm, WriteClassStm, ProgIDFromCLSID

 2000-03-19: Sander van Leeuwen <sandervl@xs4all.nl>
	- ODINCRT: Fixed FS wrapper for _fdopen & others in file.cpp
                   (missing SetFS)

 2000-03-19: Michal Necasek <mike@mendelu.cz>
        - DINPUT: Few fixes, now Fallout 1/2 almost works

 2000-03-18: Michal Necasek <mike@mendelu.cz>
        - DDRAW: Fixed messed up DPA callback calling convention
                 Added some transparent blit code which was
                 mysteriously missing

 2000-03-18: Edgar Buerkle <Edgar.Buerkle@gmx.net>
        - MSVCRT: Implemented _EH_prolog

 2000-03-18: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: merged with Corel WINE 20000317
                  added GCL_HICONSM support
                  fixed messagebox with no icon
        - COMCTL32: merged with Corel WINE 20000317 + bug fixes

 2000-03-18: Sander van Leeuwen <sandervl@xs4all.nl>
        - ODINCRT: Added FS wrapper for _fdopen
                   (fixes crash at exit in Professional MineSweeper when
                    selection About Odin from the system menu)

 2000-03-17: Christoph Bratschi <cbratschi@datacomm.ch>
        - COMCTL32: fixed trackbar buddy alignment
                    added useful internal tooltip styles

 2000-03-17: Sander van Leeuwen <sandervl@xs4all.nl>
        - WSOCK32: Semaphore protection for relay slot alloc/free
                   Fixed bug in WSAAsyncSelect.  Allow more than one
                   async call per window for RelayAlloc call. If it's not
                   alloced, pmwsock will return an error. Previously it was
                   overwriting slots for other async calls. (WSAAsyncGetHostName
                   in RealPlayer 7)
        - KERNEL32: Fixed handle creation for thread 0.

 2000-03-16: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
    - TOOLS\FASTDEP:
            Speed optimizations: using AVL trees, include dir caching,
                dependencies stored in AVL tree until all files has been
                processes, buffered write.
            Cyclic dependency check.
            All files but the objectfiles now should have fully qualified paths.

    - INCLUDE\PDWIN32.TOOLS:
            DEPEND: Enabled cyclic check.

 2000-03-16: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Fixed virtual keycode of return key
                  TODO: Not done for all keys. Should probably looks at the
                        scancode (not virtual char) to translate keys.
        - GDI32:  RP7 calls CreateDIBSection with HDC 0; Call
                  GetWindowDC(GetDesktopWindow()) in that case
                  -> fixes crash (result of CreateDIBSection failure)
                  TODO: Looks like this is allowed in NT, but need to check
                        this to be sure nothing else caused this problem.
                  (Note: most recent RealPlayer 7 version only)
        - KERNEL32: Semaphore protection of handle alloc
                    Added handlemanager class for thread handles
                    Added workaround for Open32 WaitForSingleObject bug
                    (if thread is terminated and WaitForSingleObject is
                     called with the thread's handle -> never returns
                     (new rp7 hang at exit))
                    TODO: WaitForMultipleObjects can still hang ->
                          Event, semaphore, mutex & wait apis need to
                          be redesigned (not using Open32)

 2000-03-14: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: implemented much faster LB_SETCOUNT

 2000-03-12: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Put back check (oldsel == newsel) in LISTBOX_SetSelection
                  (why was this commented out?)
                  Fixed combobox: Clear CBF_SELCHANGE flag before calling
                                  CBUpdateEdit
                                  Don't send CBN_EDITUPDATE when CBF_NOEDITNOTIFY
                                  flag is set (by combo_handletext)
                  -> fixes infinite loops in RealPlayer 7 (type name of file
                     previously used in edit box; last letter entered -> crash)
                  AdjustWindowRectEx bugfix (reported by Robert Lalla)
                  Don't clear WS_POPUP flag. (HAS_THINFRAME depends on it)
                  -> fixes wrong resolution changes in Quake 2
                  Don't clear WS_CHILD flag either. (HAS_THICKFRAME depends on it)

        - KERNEL32: Clear FILE_SHARE_DELETE flag before calling Open32's
                    CreateFile. (otherwise it fails) -> fixes RealPlayer 7
                    Basic (new update).

        - WSOCK32: Changed workaround for setsockopt bug (SO_SNDBUF/SO_RCVBUF (OS/2's
                   winsock returns WSAEINVAL if size > 64k))
                   Only change size if setsockopt returns WSAINVAL (32 bits stack
                   should support size > 64 kb (?))
                   Added selective logging feature.

 2000-03-12: Markus Montkowski <mmontkowski@gmx.de>
        - KERNEL32: Added fix for GetFileAttributes. Open32 doesn't like
                    i.e. 'c:'; needs to be changed into 'c:\'

 2000-03-12: Sander van Leeuwen <sandervl@xs4all.nl>
        - include\winconst.h: Fixed KEY_ALL_ACCESS definition
                              (reported by Yuri Dario)
        - DSOUND: Replaced dsound by new version
        - USER32: Replaced os2.h includes by os2wrap.h
                  Set message nr, wParam & lParam to 0 for dummy messages
                  (to prevent keyboard or mouse messages swallowed by dinput
                   from being dispatched)
        - KERNEL32: Replaced os2.h includes by os2wrap.h (cvtcursorgrp & oslibdebug)
        - WSOCK32: Fixed bug in setsockopt for SO_SNDBUF/SO_RCVBUF (OS/2's
                   winsock returns WSAEINVAL if size > 64k)

 2000-03-12: Michal Necasek <mike@mendelu.cz>
        - dsound\new: Fixed sound in Heroes of M&M III

 2000-03-11: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
        - OPENGL\GLIDE: Fix for Voodoo 1 glide (missing io ports)

 2000-03-11: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
        - OPENGL\GLUT: Fix for gettimeofday. This is defined conflicting in
                the toolkit sys\time.h.
        - TOOLS\BIN: Implemented an optional directory locking in
                dowithdirs.cmd. (Useful for SMP builds.)

 2000-03-11: Sander van Leeuwen <sandervl@xs4all.nl>
        - OPENGL\GLUT: Fixed compile problems + cleanup
                       (use C(XX)FLAGS_WIN32APP so you don't have to
                        explicitely specify which api type you use (ascii or unicode)!)

        - OPENGL\GLIDE: Fixed wrong binary path for voodoo1 glide
        - include\win\debugtools.h: Disable TRACE, WARN etc when DEBUG is not defined

 2000-03-11: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
        - OPENGL: Fixed error preventing build to complete

 2000-03-09: Sander van Leeuwen <sandervl@xs4all.nl>
        - KERNEL32: Set initial max nr of file handles to 256 during kernel32 init
                    Create DDRAW & DSOUND registry keys in InitRegistry
                    (NOTE: Must be done in install program!)
                    Added some win95 stubs
        - GDI32:    Added 16 bits device apis stubs

 2000-03-10: Michal Necasek <mike@mendelu.cz>
        - dsound\new: Changed DART buffer size calcualation, hopefully
                      WinAmp will sound better now.

 2000-03-09: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
        - include\pdwin32.tools: New tool, EXISTS --> \tools\bin\Exists.cmd
        - tools\bin\Exists.cmd: New tool which checks if the file passed in
                exists. If the file exists it returns 0, else 1. This is
                used to check if .depend and other files exists in the
                makefiles. (See pdwin32.post to see how.)
        - include\pdwin32.post: .depend is only included if it exists. You'll
                get a warning if it don't, but the makefile works fine.
                Added a check on OBJDIR not being empty in the clean rule.
                $(RM) $(OBJDIR)\* is will remove all files in the root dir if
                OBJDIR is empty.
        - win32k: Updated makefile with the use of EXISTS for both .depend and
                makfile.inc. An update check for makefile.inc <-> configure.cmd
                was also added.
                Added checks for empty variables in clean rule, and we no longer
                deletes * in any directory.

        A CVS tip:
            When new directories are added you have to to a 'cvs checkout .'
            from the root.
            A 'cvs update' don't get the new directories it seems
        (There have been added some dirs under win32k lately so please do this.)

 2000-03-09: Sander van Leeuwen <sandervl@xs4all.nl>
        - KERNEL32: Major rewrite of PE loader classes to correctly support
                    dll dependencies
                    TODO: Circular dependencies only partly working
                          (a->b->a works, but a->b->c->a doesn't)
        - USER32: Fixed bug in dialog constructor (class name translation)
                  (only showed up in release build)
                  Dinput mouse changes/fixes

 2000-03-08: Michal Necasek <mike@mendelu.cz>
        - dsound\new: Fixed volume and panning calculation that
                      sometimes caused ugly noise

 2000-03-08: Michal Necasek <mike@mendelu.cz>
        - dsound\new: Completely new DART-based DirectSound. Works fine
                      for me with Quake 3, Moorhuhn and WinAmp.

 2000-03-07: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
        - makefiles and include\pdwin32.*:
            * Updated nearly all makefiles to the new makefile style.
              Win32k, pe2lx and some subdirs of Winmm
            * Odin32 resource files are now to have the extention .orc
              All files have, save some under WinMM and in old/new dirs,
              been renamed. There are now new interference rules in
              pdwin32.tools which will create the resource assembly and
              assemble it into an object file. So you simply have to
              specify the output object file for Odin32 resources along
              with the other object files.
            * A little not on forwarders. ILINK returns a warning code of
              4 when aliases are generated. An errorcode <> 0 stops NMAKE
              normally. To workaround these problem we simply tell NMAKE to
              accespt all error codes in the range 0-4. This is done by
              putting '-4 ' in front of the $(LD2) statement.
              I don't want to see _any_ '-$(LD2)'!!!


 2000-03-06: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Fixed bug in edit control
                  If nyoff > nr lines in control -> bottom line in control
                  window should show last line of control
                  Wine code shows last line at the top of the control
                  (Quake 3 startup edit control shows the problem)

 2000-03-05: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
        - include\pdwin32.vac*: Added OS2RC and OS2RCFLAGS. This defines the
                OS/2 resource compiler and the flags used during compilation.
                When it comes to linking we should assume NO flags and simply
                invoke the it like this: $(OS2RC) <source>.res <target>.dll.
                (See src\kernel32\makefile for an example.)

 2000-03-05: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
        - GLUT32: Really fixed optimized build now. Was not a VACPP bug but
                  error in calling convention prototype in glutint.h

 2000-03-04: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
        - GLUT32: Added logic to escape from optimizer bug in VACPP

 2000-03-04: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
        - fastdep: Simple preprocessor. Commments and #if 0/1.
        - OPENGL: Corrected makefiles. using LD2 and LD2FLAGS. Many makefiles
                 Didn't concider the NODEBUGINFO macro causing daily builds
                 to become enormous. Daily build of 6MB is not good!.
        - include\pdwin32.v*.*:
                *Alternate linker tool, LD2. This is ilink for VAC.
                 (See src\kernel32\makefile for hints how to use it).
                *Synced configuration for the two VAC versions.

                 NOTE that NODEBUGINFO and DEBUGALL is handled within these
                 files. You don't have to test for them to set the correct
                 compiler and linker flags, this is allready done!

 2000-03-04: Sander van Leeuwen <sandervl@xs4all.nl>
        - INCLUDE\pdwin32.tools, pdwin.vac*
                   Added new build rules (conditional at this time)
                   For each dll a subdir bin\release & bin\debug is created
                   in which the object files of the release & build version
                   are saved.
        - INCLUDE\pdwin32.post
                   Common makefile rules to be included by all makefiles
        - USER32\KERNEL32: Switched to new build rules
        - WSOCK32: Fixed bug in setsockopt for SO_LINGER (options size wasn't
                   adjusted)
        - KERNEL32: Fixed shell dirs (now all created in odin\bin dir)
                    Partially fixed destruction of loaded dlls in ExitProcess
                    (TODO: dependencies are not yet right; needs new design)
                    Added check and fix for DosOpen (ERROR_TOO_MANY_OPEN_FILES)
                    to hmdevio.cpp
        - USER32: Pass on keyboard messages if dinput handler returns TRUE
                  Also send non-client mouse messages to dinput
                  (TODO: always returns true after calling dinput handler)
        - OPENGL\GLIDE:
                  Added check and fix for DosOpen (ERROR_TOO_MANY_OPEN_FILES)
                  to hmdevio.cpp (reported by Michal Necasek)

 2000-03-03: Markus Montkowski <mmontkowski@gmx.de>
        - DDRAW:  Fixed bug in CreateSurface and QueryInterface
                  (Moorhuhn now starts fine with ddraw)
        - USER32: Changed VirtualKey for VK_NEWLINE from 0x0A to 0x0D
                  in the virtualKeyTable

 2000-03-03: Sander van Leeuwen <sandervl@xs4all.nl>
        - KERNEL32: Create shell dirs in odin\bin directory
                    Cleanup (never call Open32 apis directly if the proc
                    isn't a wrapper; include win32api.h and call Odin api)
                    Fixed FS corruption for DosAliasMem
                    Fixed bug in Win32PeLdrImage::commitPage (quake 3 screensaver's
                    fixup section doesn't start on page boundary)
        - ADVAPI32/KERNEL32: Moved registry apis in kernel32 as we need them
                             there (importing them directly creates a circular
                             dependency (kernel32->advapi32->kernel32))
                             Should probably be moved to ntdll
        - WINMM: Fixed typo in DartWaveOut::init to determine bits per sample
                 (Realplayer 7 audio now works (when playing .rm files))

 2000-03-03: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
        - KERNEL32: Fixed calling convention bug in conprop2.cpp
                    (caused crashes with release build)

 2000-03-02: Sander van Leeuwen <sandervl@xs4all.nl>
        - OPENGL\GLIDE:         Use Odin OS/2 api wrappers in fxos2.cpp
        - OPENGL\MESA:          Reapplied TLS fixes
                                Check for null pointer in wglSetPixelFormat
        - OPENGL\MESA\3dfx:     Use c files from Mesa dir
                                Check for null pointer in wglSetPixelFormat
        - WINMM: Fixed DartWaveOut::getPosition (overflow)
                 (fixes mp3 playback in RealPlayer 7)
        - KERNEL32: Fixed SetCurrentDirectory (don't remove backslash
                    if app wants to change dir to "\")
                    Create shell folders + shell keys
                    (NOTE: This has to be done in the odin install program
                           once we have one)
        - ADVAPI32: Added crypt api stubs

 2000-03-01: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
        - OPENGL: Implemented DIVE support in Mesa

 2000-03-01: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Fixes for FindWindow(ExA/W) - now more like Wine
                  (FindWindowExW was not working correctly either)
                  First send WM_NCACTIVATE, then WM_ACTIVATE
                  Fixed focus problems with Odin apps
                  (Call WinSetFocus in OSLibWinSetActiveWindow instead of
                   WinSetActiveWindow when a user clicks on the titlebar
                   of an inactive window & after sending WM_MOUSEACTIVATE)
                  TODO: Does WinSetActiveWindow work properly or should we
                        always call WinSetFocus???
                  Call Dinput handler when translating mouse & keyboard
                  messages (during Get/PeekMessage)
        - OPENGL: Always build release version of glide, mesa, glu32 & glut
                  Build mesa software & 3dfx dlls; don't build OS/2 opengl
                  wrapper anymore
        - OPENGL\GLIDE\CVG\GLIDE:
                  Disable instruction scheduling in release build -> messed up
                  colors when turned on (most likely VAC optimizer bug)
                  TODO: Somebody should also check this for the voodoo 1 glide dll.
        - OPENGL\GLIDE\CVG:
                  Fixed makefile
        - OPENGL\MESA\GL\gl.h
                  Removed circular header dependency (breaks build)
        - OPENGL\MESA\3dfx:
                  Copy 3dfx opengl32.dll to bin\glide

 2000-03-01: Edgar Buerkle <Edgar.Buerkle@gmx.net>
        - USER32: Fixed dprintf in CreateWindowExW
                  Added left & right cursor keys to Win32BaseWindow::setExtendedKey

 2000-02-29: Edgar Buerkle <Edgar.Buerkle@gmx.net>
        - USER32: Added support for keyboard hooks (fixes Moorhuhn)
                 in PeekMessage & GetMessage

 2000-02-29: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
        - TOOLS\FASTDEP: Restructured it a little. Support for multiple
                    languages:
                        C and C++ (as earlier)
                        Assembly
                        Resource files (OS/2 resources at least...)
                        COBOL (just for fun! - I'll use it at job)
                    Things seems to work ok, but if an error occurs, please
                    fix it or send me a note and I'll fix it ASAP.

 2000-02-29: Sander van Leeuwen <sandervl@xs4all.nl>
        - OPENGL\MESA: Added Odin port of Mesa Opengl library
                      (Ported by Jeroen van den Horn)
          NOTE: The Mesa 3D graphics library has a different license
               (see LICENSE.TXT in the Mesa directory)
        - OPENGL\MESA\3DFX:
                Added Odin port of 3dfx Voodoo Mesa GL
               (tested with simple opengl samples only, but
                this is the first hardware accelerated Opengl
                implementation for OS/2!)
          NOTE: The Mesa 3dfx graphics library has a different license
               (see LICENSE.TXT in the Mesa\3dfx directory)
        - KERNEL32: Only call ExitProcess the first time KillWin32Process
                    is executed. Call DosExit otherwise.
                    Fix for GpdDev device io (needed for native glide dll)

 2000-02-28: Sander van Leeuwen <sandervl@xs4all.nl>
        - KERNEL32: Call ExitProcess in KillWin32Process to make sure
                   the dll libmain handlers are called after a crash.
                   (i.e. Glide needs this to restore the display)
        - INCLUDE\WIN: Added wgl definitions to wingdi.h

 2000-02-27: Sander van Leeuwen <sandervl@xs4all.nl>
        - WINMM: Implemented waveOutGetPosition

 2000-02-27: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
        - pdwin32.tools: "New" tool, MAKE_CMD. Passes on the DEBUG and
                    NODEBUGINFO macros variables to the next make job.
                    (It's better to have it here than to have it in nearly
                    all makefiles, and forgetting to put it there...)
        - WIN32K:  *The dep rule will make a makefile.inc if not present. It
                    will also make dependencies for pe2lx and lib.
                   *Have created a lib rule.
                   *The all rule will now make Pe2Lx.
        - src/makefile: win32k makes pe2lx, no need for special pe2lx stuff.

              Sander, have a look the build and rebuild rules please.

 2000-02-26: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
        - WIN32K: *Symbol Database is implemented. Contains symbols for most
                   retail kernels. (see win32k.txt or readme.txt)
                  *No scanning of the os2krnl file, the loaded image is now
                    scanned to determin which build, debug/retail and smp/uni.
                  *16-bit logging.
                  *Extract.exe rule. Extract.exe program generates the
                   SymDb.c source file found in dev16 from a collections of
                   kernel symbol files.

 2000-02-25: Christoph Bratschi <cbratschi@datacomm.ch>
        - COMCTL32: added listview unicode support
                    fixed treeview WM_VSCROLL, trap in UNILIB

 2000-02-24: Achim Hasenmueller <achimha@innotek.de>
        - COMCTL32: Added infoPtr == NULL checks in tooltips control
                    to prevent crashes when tooltip creation fails

 2000-02-25: Sander van Leeuwen <sandervl@xs4all.nl>
        - OPENGL\GLIDE: Added Odin version of Glide based on the OS/2 port
                       written by Craig Ballantyne. (Voodoo 1 & Voodoo 2)
                       NOTE: Includes 3dfx Glide license

 2000-02-24: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: WS_MAXIMIZE & WS_MINIMIZE flags updated when necessary
                 Changed/fixed RedrawWindow -> fixes lack of erase background
                 msg in AbiWord rebar control & Papyrus start dialog
                 TODO: Pingpong.exe broken again. Need to fix this correctly
                   Hide caret in BeginPaint, show it in EndPaint
        - GDI32: CreateICA/W bugfix (Open32 tests lpszDriver for NULL even though it's ignored)
                (fixes Papyrus error message about CreateIC)
        - COMCTL32: Fixed wrong calling convention for property sheet handlers
                   (prsht.h in include\win)
                     This fixes crashes in VPBUDDY (preferences dialog) AND (!)
                   fixes the empty preferences dialog in both debug & release
                   builds.
                   NOTE: I've fixed similar bugs before. Somebody should verify
                         all comctl32 handlers...

 2000-02-23: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: export 55AA pattern functions for COMCTL32
                   fixed EN_CHANGED
        - COMCTL32: converted to C++ -> needs nmake dep
                     ported animate control

 2000-02-22: Sander van Leeuwen <sandervl@xs4all.nl>
        - WINMM/GDI32/KERNEL32/USER32: Fixed compile problems for release build
        - USER32: Fixed bug in window class ctor (windowProc not set to 0)
                 (only showed up in release build)
        - KERNEL32: Fixed bug in commitPage (winimagepeldr.cpp)
                   (only showed up in release build)
                   Fixed wrong calling convention for SetLastError calls
                   in OSLibiGetModuleHandleA
                   (only showed up in release build)
                   Fixed wrong calling convention for SetLastError calls
                   in oslibdos.cpp.

 2000-02-22: Christoph Bratschi <cbratschi@datacomm.ch>
        - COMCTL32: merged with Corel WINE 20000212
                     added common base functions

 2000-02-21: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
        - CRTDLL: Added wtol, wtoi, setsystime, getsystime

 2000-02-21: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: merged controls and nc code with Corel WINE 20000212
                   added WS_EX_CONTEXTHELP button

 2000-02-21: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
        - WIN32K: *Initial support for UNIX-styled scripts
                   (files starting with an #!<interpreter> [args...])
                   This is a _very_ big hack! But never the less it's working.
                   (or at least it seems like working...)
                  *The kernel symbol importer is enhanced to support more
                   generic function prologs and to import variables and
                   16-bit functions.
                  *Segments are now locked in physical memory.
                  (Note, last changes have not been tested on Aurora yet,
                   but it will hopefully work just fine.)

 2000-02-21: Sander van Leeuwen <sandervl@xs4all.nl>
        - GDI32: SetDIBits bugfix (for dib sections)
        - USER32: Ported all Wine accelerator apis (fixes keys in calc)

 2000-02-21: Jens Wiessner <wiessnej@rfi.de>
        - RASAPI32: Added stubs
        - OLEPRO32: Ported Corel Wine stub dll
        - CRTDLL: Replaced some stubs

 2000-02-18: Sander van Leeuwen <sandervl@xs4all.nl>
        - OPENGL\GLIDE: Added Odin version of Glide based on the OS/2 port
                       written by Craig Ballantyne. (Voodoo 1)
                       NOTE: Includes 3dfx Glide license

 2000-02-17: Sander van Leeuwen <sandervl@xs4all.nl>
        - KERNEL32: Fixed memory map view bug (main map deleted when there
                   were still views left) -> fixes crash when playing Realplayer
                   video (.rm) files
        - WINMM: Added new logging feature + fixed waveout query format bug

 2000-02-16: Christoph Bratschi <cbratschi@datacomm.ch>
        - COMCTL32: treeview: switched to unicode, fixed many bugs

 2000-02-16: Sander van Leeuwen <sandervl@xs4all.nl>
        - KERNEL32/USER32/GDI32: Added new logging feature which allows users
                                 to disable or enable logging for separate source
                                 files. (see Logging.txt for details)
        - GDI32: SetDIBitsToDevice fix for RealPlayer 7 (store the right bitmap
                 size in the BITMAPINFO structure before calling Open32)

 2000-02-15: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: SetWindowPos bugfix (returned before hiding or showing windows)
                  Fixes Delphi apps
        - KERNEL32: Fixed Release method of LX dlls (didn't delete object)
                    Fixed cpuhlp assembly functions (compiler changes calling
                    convention with optimizations on (stores parameter in eax
                    instead of on the stack)

 2000-02-14: Sander van Leeuwen <sandervl@xs4all.nl>
        - COMCTL32: Added Wine license
        - KERNEL32: Search in path for dlls if the pe loader can't find them
                    (RP7 loads pngu3264.dll by changing PATH and then calling
                     LoadLibrary)

 2000-02-14: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: merged combobox with Corel 20000212
        - COMCTL32: merged treeview with Corel 20000212 and continued rewrite

 2000-02-12: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: added v5.00 messages to wndmsg.cpp
        - GDI32: LineDDA fix

 2000-02-12: David Raison <djr@lemur.co.uk>
        - OLE32: Fixed IsEqualIID issue

 2000-02-11: Vit Timchishin <tvv@sbs.kiev.ua>
        - KERNEL32: Fix for OpenFile; fill in OFSTRUCT even if api fails
                    (needed for Acrobat Reader 4.0)

 2000-02-10: Knut Stange Osmundsen (knut.stange.osmundsen@pmsc.no)
        - /tools/database/ + /src/makefile: Odin32 API DB.

 2000-02-10: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: added some stubs
                  fixed wrong pixels at the right side of menu items
        - COMCTL32: implemented LVS_NOSORTHEADER
                    increased statusbar height (temporal hack)
                    first steps of treeview rewrite

 2000-02-10: Sander van Leeuwen <sandervl@xs4all.nl>
        - GDI32: Added support for memory map handles in CreateDIBSection
                 Fixed CreateICA/W; Open32's version is case sensitive whereas
                 win32's apparently isn't.
        - TOOLS\makefile: fixed clean build
        - src\makefile: fixed clean build
        - src\makefile.smp: fixed incorrect dir change

 2000-02-10: Knut Stange Osmundsen (knut.stange.osmundsen@pmsc.no)
        - *: Updated the source tree to use autogenerated dependencies.
             You will have to do a 'nmake dep' from either /src or / before
             being able to make anything.
             -All makefiles is required to have a 'dep' rule.
             -All dll makefiles is now required to have a 'lib' rule which
              makes the libraries for the module. This rule should also
              check that the library in $(PDWIN32_LIB) is up-to-date.
        - Tools/FastDep: Dependency tool. (Fast=Quick-and-Dirty)
             Moved from /src/win32k. This is currently used to generate
             dependency information.
             Note that it doesn't have any precompiler logic! This is causeing
             some warnings...
        - include/pdwin32.tool: Two new tools DEPEND and DOWITHDIRS.
        - src/makefile: used the DOWITHDIRS to do cleanup, lib and dep.

 2000-02-10: Edgar Buerkle <Edgar.Buerkle@gmx.net>
        - GDI32: Fix alignment for 1 & 4 bits bitmaps (dibsection)
        - NTDLL: Pretend no debugger is active in NtQueryInformationProcess

 2000-02-09: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Implemented WaitForInputIdle
                  ScrollWindow fix; don't call InvalidateRect as WinScrollWindow
                  already invalidates the area (and the call to InvalidateRect was
                  wrong as it has to include the erase flag; should have called
                  RedrawWindow instead)
        - KERNEL32: WinExec: Wait for process to block on input before
                    returning
        - OpenGL base, GLUT, GLU: Added version resource, removed dll exitlist
                                  handlers

 2000-02-09: Knut Stange Osmundsen (knut.stange.osmundsen@pmsc.no)
        - OpenGL base, GLUT, GLU: NODEBUGINFO implemented in the makefiles.

 2000-02-09: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
        - ODIN.INI: OPENGL32.DLL <--> OPENGL.DLL translation, since
                    WinXX OpenGL apps can be dynamically linked with
                    MS OpenGL (OPENGL32.DLL) *or* SGI OpenGL (OPENGL.DLL).

 2000-02-09: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
        - OpenGL base: Various minor fixes
        - OpenGL GLUT: Various minor fixes
        - OpenGL GLU:  'Native' port of SGI GLU

 2000-02-08: Knut Stange Osmundsen <knut.stange.osmundsen>
        - Win32k: Temporarily disabled some unused imported kernelfunctions.
                  Corrected a problem with overloading _ldrEnum32bitRelRecs;
                  it failed on WS4eB. (Message 'DosDevIOCtl failed')

 2000-02-08: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Don't use shell positioning for child windows (breaks Notes)
                  Turn of WM_BACKERASEBKGND when calling RedrawWindow to
                  invalidate a window (without erase flag set; but also without
                  noerase) -> fixes flickering in pingpong Opengl sample
        - KERNEL32: Search path for executables when they can't be found in
                    the current directory.

 2000-02-07: Christoph Bratschi <cbratschi@datacomm.ch>
        - KERNEL32: Ported more Wine thunk apis

 2000-02-07: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Fix for DCX_INTERSECTRGN in GetDCEx (use ExtSelectClipRgn
                  to combine current & new clip region)
        - ADVAPI32: Ported Wine LookupAccountSidA/W (semi-stubs now)

 2000-02-06: Jens Wiessner <wiessnej@rfi.de>
        - WINMM: Updated MCI dlls (added version info)

 2000-02-06: Sander van Leeuwen <sandervl@xs4all.nl>
        - KERNEL32: Changed GetProcessDword ordinal to 18
        - USER32: Temporarily commented out shellposition changes
                  (breaks i.e. calc & Notes)
                  Started rewriting BeginPaint/EndPaint + DC apis

 2000-02-06: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: ported WinHelpA from WINE

 2000-02-05: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: WM_SETHOTKEY: save data
                  prototype for WS_EX_CONTEXTHELP button
                  check WS_EX_RIGHT in button control
                  fixed tasklist entry
                  implemented CW_USEDEFAULT with FCF_SHELLPOSITION

 2000-02-05: Sander van Leeuwen <sandervl@xs4all.nl>
        - KERNEL32: Memory map fixes (file maps)
        - USER32: mdi child creation fix (child still not activated when created)
                  Default WM_ERASEBKGND handler change (only erase invalid area)
                  (note: might be wrong; have to check this in NT; probably
                         need to rewrite code that sends those messages)
                  -> fixes redraws for i.e. windows behind menu windows
        - GDI32: Don't use Open32 apis to load opengl32 (nor for GetProcAddress)
                 Import wgl* apis
        - OPENGL: Removed OS2wgl apis (they had the wrong calling convention
                  -> causes crashes in gdi32 when compiled with optimizations on)

 2000-02-04: Markus Montkowski <mmontkowski@gmx.de>
        - DDRAW:  Many minor/major bugfixes at numerous places
        - DSOUND: Fixed GetCurrentBufferPos in the virtual player

 2000-02-04: Sander van Leeuwen <sandervl@xs4all.nl>
        - ALL: Added version resource (if not already present)
               Link with dllentry.obj (those dlls that don't need custom dll
               entrypoints)
               Clean up in process detach handler of win32 libmain
               (except for a few core dlls (gdi32/user32/kernel32))
        - DLLENTRY: Standard dll entrypoint

 2000-02-04: Christoph Bratschi <cbratschi@datacomm.ch>
        - COMCTL32: merged with WINE 20000130

 2000-02-03: Jens Wiessner <wiessnej@rfi.de>
        - NTDLL: Ported Wine security apis
        - CRTDLL: Update

 2000-02-03: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: merged controls with WINE 20000130

 2000-02-03: Daniela Engert <dani@ngrt.de>
        - GDI32: Implement RGB 555 to RGB 565 conversion in assembler

 2000-02-03: Sander van Leeuwen <sandervl@xs4all.nl>
        - WININET: Ported Wininet code from Corel Wine tree
        - INCLUDE\WINSOCK: MS Winsock compatible header
        - GDI32: Prelimary RGB 555 to RGB 565 conversion in SetDIBitsToDevice
                 (will be rewritten in assembly for better performance)
                 (for RealPlayer videos in 16 bits mode)
                 BitBlt fix (return after dibsection blit -> fixes Quake 2)
                 Added MMX RGB conversion.
        - USER32: Added export for OS2ToWin32Handle
        - COMDLG32: Merged with latest Wine version (20000109)
        - INCLUDE\WIN: Fixes to compile comdlg32 in C mode
                 (will be rewritten in assembly for better performance)
                 (for RealPlayer videos in 16 bits mode)
                 BitBlt fix (return after dibsection blit -> fixes Quake 2)

 2000-02-01: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
        - OPENGL: Ported SGI GLUT sources + Opengl update

 2000-02-01: Sander van Leeuwen <sandervl@xs4all.nl>
        - GDI32: Cleaned up
                 Fixes for dib section apis. RealPlayer 7 can play videos
                 now (correct in 24 bps mode; upside down and wrong colors
                 in 16 bps mode)

 2000-02-01: Knut Stange Osmundsen <knut.stange.osmundsen>
        - Pe2Lx: Makefile should be working again.
        - KERNEL32: RegisterPe2LxDll - no detach is done for Pe2Lx/Win32k DLLs.
                    This is a temporary fix.

 2000-02-01: Patrick Haller <phaller@gmx.net>
        - SHELL32: Added PathSkipRootAW

 2000-02-01: Jens Wiessner <wiessnej@rfi.de>
        - NTDLL: Updated .def file (similar to NT 4 SP6) + bugfix for impdef

 2000-01-31: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: GetDCEx with window handle 0 fails in Windows 98; now it also
                  returns an error in Odin.
                  GetWindowDC & GetDC use the desktop window handle if hwnd == 0
                  (before calling GetDCEx)
        - GDI32: Set dibsection bitmap data to 0 when allocating it.

 2000-01-30: Sander van Leeuwen <sandervl@xs4all.nl>
        - PELDR: Fixed error messages for images without fixups (peldr.dll no
                 longer required)
        - GDI32: Removed wrong bugfix for GetDIBits (breaks Lotus Notes)
        - USER32: Don't check for window visibility when calling SetWindowPos
                  in SetMenu. (fixes menu in standard minesweeper)
                  (NOTE: May need to call SetWindowPos with SWP_FRAMECHANGED
                         when showing a window (see Wine code))
                  Put back GetMenuStringA fix (return length of string if string pointer
                  or size parameter == 0) (almost fixes Realplayer 7 menu)

 2000-01-29: Sander van Leeuwen <sandervl@xs4all.nl>
        - GDI32: Save and restore FPU control word when calling
                 Open32's DrawText. DrawText trashes it which causes drawing
                 problems in RealPlayer 7.
        - USER32: Call DrawTextA in uitools.cpp, not Open32's DrawText.
                  Fix for SetWindowPos for showing hidden windows
                  (call ShowWindow) -> fixed non-visible button bar in mIRC
                  Don't set WS_VISIBLE on by default. Windows are made visible
                  during creation by calling ShowWindow.
                  Call UpdateWindow for client window, not the frame.
        - INCLUDE\WIN\wingdi.h: Added GdiFlush declaration
        - INCLUDE\makefiles: Added c/c++ definitions for win32 apps (without
          -D__WINE__ so you don't need to specify whether you use the ascii
          or unicode version of a win32 api)

 2000-01-29: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
        - KERNEL32: Added GlobalWire/GlobalUnwire

 2000-01-28: Sander van Leeuwen <sandervl@xs4all.nl>
        - GDI32: Wrong return values for GetDIBits & SetDIBitsToDevice
                 (nr of scan lines copied; not true/false)
        - USER32: Don't call default frame handler for WM_ADJUSTWINDOWPOS
                  (fixes window resize when playing videos in RealPlayer v7 &
                   dragging titlebar in Professional Mine Sweeper)

 2000-01-28: Knut St. Osmundsen <knut.stange.osmundsen@pmsc.no>
        - Win32k: Heap is splitted into a swappable and a resident heap.
                  Fixups are now applied when a page is loaded from disk.
                  This is done by overloading the kernel function called
                  (_)ldrEnum32bitRelRecs. This should improve performance a lot!

 2000-01-27: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
        - OPENGL: First version of opengl implementation

 2000-01-27: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Fixed FS corruption in OSLibPostThreadMessage
                  Send WM_CHILDACTIVATE to child windows (not only
                  to MDI children) instead of WM_ACTIVATE
        - SHELL32: Fixed FS corruption in DragAcceptFiles

 2000-01-26: Yuri Dario <mc6530@mclink.it>
        - INCLUDE\WIN: Additions & changes for compiling Opera.
        - many dlls: create correct library (impdef)

 2000-01-26: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
        - GDI32: Changes for Opengl support

 2000-01-26: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: fixed WM_MOVE, MsgFormatFrame and WM_WINDOWPOS* to use parent
                  coordinates
                  changed min frame size
        - COMCTL32: fixed wrong progress frame

 2000-01-26: Sander van Leeuwen <sandervl@xs4all.nl>
        - OLEAUT32: Don't create logfile when logging is turned off
        - PELDR:    Don't modify cmd line in PIB structure
        - INCLUDE:  Removed string.h.
        - KERNEL32: Added workaround for OS/2 DosSetMem bug in VirtualAlloc
                    (if memory is reserved, set read & write page flags)

 2000-01-25: Sander van Leeuwen <sandervl@xs4all.nl>
        - PELDR/KERNEL32: Allocate low memory at right address and with right size
                          in peldr.dll (fixes install of Windows Media Player)
        - KERNEL32: Print thread id for each log message

 2000-01-22: Michal Necasek <mike@mendelu.cz>
        - DINPUT: Fixes + basic functionality is complete; enough for many games

 2000-01-21: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Put back old WM_MOVE, MsgFormatChanged & OSLibSWPToWINDOWPOSFrame
                  Previous changes broke many apps (VPBuddy, MIrc32)
                  Don't update window if style changes (responsibility of the app)
                  Store window menu & id in same variable (fixes clock ->
                  double click on analog window -> titlebar & menu gone; menu
                  used to stay there)
                  Put back WM_CALCVALIDRECT code in pmwindow. Fixes updates
                  of clock window (who's class has CS_H/VREDRAW style).
        - KERNEL32: Fixed image loading for resource lookup only (don't care
                    where those images are loaded as we only use it to query
                    the version resource; so base address doesn't matter)
                    (-> RealPlayer 7 installs now)

 2000-01-20: Sander van Leeuwen <sandervl@xs4all.nl>
        - KERNEL32: Disabled creation of pe_x.log if logging disabled
                    Only get codepage once from odin.ini.

 2000-01-20: Vit Timchishin <tvv@sbs.kiev.ua>
        - KERNEL32: Codepage bugfix & unicode translation changes (heapstring.cpp)
        - GDI32:    Added codepage support for CreateCompatibleDC

 2000-01-20: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32: fixed WM_CONTEXTMENU
                  dispatch WM_MOUSEMOVE in menu loop

 2000-01-18: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Removed 'old' user32 and replaced it with the new one
                  Call default window proc when DefMDIChildProcA/W is called
                  for a non-MDI window.
                  Fixed menu check & submenu marks painting
        - KERNEL32: Increased shared heap reserve size to 512 kb
        - SHELL32:  Display Odin logo in Shell about dialog box

 2000-01-18: Jens Wiessner <wiessnej@rfi.de>
        - WINMM\WAVEMAP
          Updated to Wine level 20000109 + corrected compile
        - MCICDA: ported MCICDA.DLL from Wine 20000901 (Linux cdrom calls stubbed
                  so it doesn't work)

 2000-01-17: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32\NEW: Added basic support for DInput WM_CHAR notification
                      (the rest needs to be done in dinput.dll)
                      Use KEYBOARD_Enable user32 export to (un)register WM_CHAR
                      handler. (WNDPROC type) It's called when a WM_CHAR message
                      arrives for an Odin window with hwnd, msg, wParam & lParam.
        - DINPUT:     Fixed bugs reported by Michal Necasek

 2000-01-16: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32/NEW: implemented sysmenu commands: SC_SIZE and SC_TASKLIST
                      fixed WM_MOVE
                      changed HTCAPTION system menu position
                      changed maximized window position
                      don't move/size maximized windows

 2000-01-15: Jens Wiessner <wiessnej@rfi.de>
        - TWAIN_32: Update
        - WINMM\MCIANIM,MCIAVI32,MCISEQ,MCIWAVE,MIDIMAP
                    Updated to Wine level 20000109 + corrected compile errors
        - WINMM: Ported Wine wave mapper.

 2000-01-15: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32\NEW: Fixed scroll repaints (never use GetMessage with window
                      handle as that can prevent WM_PAINTs from being dispatched)
                      (may need reworking of Get/PeekMessage instead)
                      ScrollWindow changes
                      Removed frame drawing 'bugfix'.
                      Fixed system menu position for child windows (i.e. MDI)
                      Fixed titlebar tracking for child windows (i.e. MDI)
        - KERNEL32:   Check for null pointers in lstrcmpA

 2000-01-15: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32/NEW: cache menu and caption drawing
                      changed minimize button position
                      don't redraw system menu icon in menu.cpp
                      hilighted menubar items don't have an edge in Win9x
                      don't open system menu on mouseover if menubar is used and vice versa
                      show sysmenu on WM_NCRBUTTONUP with HTCAPTION set (todo: position)
                      use WIN32_STDCLASS2 for windows with CS_SAVEBITS class style

 2000-01-14: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32/NEW: added caption clipping for faster window text updates

 2000-01-14: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32\NEW: Fixed min/max bug for mdi child windows
                      Fixed DrawMenuBar (invalidate frame rectangle in
                      FrameUpdateClient if client rectangle wasn't changed)
                      Fixed bugs in MsgFormatFrame & SendNCCalcSize
                      Fixed WM_WINDOWPOSCHANGED translation for frame window (not done yet)
                      (Winamp works now)
                      Removed code that's no longer used (subclassed OS/2 frame
                      controls & OS/2 scrollbar functions etc)

 2000-01-13: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32\NEW: WM_ACTIVATEAPP should be sent when another process' window
                      is activated or deactivated
                      Send correct thread id for non-Odin windows in WM_ACTIVATEAPP
                      Set window handle of non-Odin window to window desktop in WM_ACTIVATE
                      Return window desktop handle for window handle returned by
                      SetActiveWindow if window is non-Odin.
                      Fixed activation of windows. (send WM_ACTIVATE when receiving
                      a WM_WINDOWPOSCHANGED message in pmframe.cpp)
                      Fixed DrawFrame; bottom & right frame borders now drawn correctly
                      Fixed scrollbar positioning (style.exe)
                      Fixed CS_OWNDC for GetDCEx (DCX_WINDOW); don't use a window
                      DC to save/restore a window's own dc.
                      Fixed client rectangle problems. Client rectangles
                      are always in frame coordinates; window rectangles in
                      screen coordinates. Whenever necessary (i.e WM_MOVE)
                      client coordinates are converted to coordinates relative
                      to it's parent client window.
                      Changed WM_MOVE -> client coordinates relative to parent origin
                      if child; otherwise relative to screen origin. (needs testing)
                      (WM_NCCALCSIZE needs to be done as well)
        - COMCTL32:   Version resource version nrs changed (based on NT 4 SP3)
        - KERNEL32:   Added DisableLogging & EnableLogging functions to
                      disable logging in parts of code. Logging will only be
                      done if the logcount is bigger than 0.

 2000-01-12: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32/NEW: fixed WM_CALCVALIDRECTS
                      activated WM_NCPAINT clipping
                      added improved frame redraw mechanism

 2000-01-12: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32\NEW: Changed client rectangle positioning (not done by PM frame
                      handler anymore) -> fixes problems with Shell About dialog
                      and jumping controls when resizing (Winhlp32)
                      Fixed menu tracking for different submenus
                      Fixed delayed repaints of invalidated menu rectangles
                      Ported Wine messagebox code. (for GUI consistency)
                      Fixed bugs in ShowScrollBar. (vert. scrollbar wasn't enabled
                      in notepad)
                      Fixed 'frame' control updates (resizing client window in
                      SetWindowPos for SWP_FRAMECHANGED)

 2000-01-11: Jens Wiessner <wiessnej@rfi.de>
        - TWAIN_32: Bugfix (removed test code)

 2000-01-11: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32/NEW: fixed AdjustWindowRectEx

 2000-01-11: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32\NEW: Put nonclient code in win32wbasenonclient.cpp
                      Removed hardcoded dependancy on shell32; load it on-demand
                      Fixed LoadBitmap (OBM_RADIOCHECK was missing from system bitmap list)
                      Fixed wrong return value for OSLibWinGetMsg
                      Workaround for bug in GDI32 FillRect (menu items painted
                      black instead of gray) (menu.cpp, MENU_DrawMenuItem)
                      Applied patch to Wine menu code for RealPlayer
                      Fixed default return value of DefWndProc (0)
                      Fixed SetMenu (menus should be set when a window is no child)
                      Call correct SetMenu function from MsgCreate Win32BaseWindow method
                      Use WIN32_INNERFRAME frame class for top level windows again.
                      (VPBuddy repaint problems were solved by using this class)

 2000-01-10: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Fixed message translation for WM_TIMER with no window handle or timer proc
                  Bugfix for OSLibWinGetMsg & OSLibWinPeekMsg (wrong return value)
        - WINMM:  Fixed wrong error code for waveOutOpen & waveOutGetDevCaps when
                  there's no audio device
        - USER32\NEW: Fixed message translation for WM_TIMER with no window handle or timer proc
                  Changed WM_NCHITTEST behaviour. Now sent during WM_MOUSEMOVE
                  or button down/up message translation.
                  Fixed LoadBitmap (only load from user32 if it's a system bitmap)
                  Added WM_NCACTIVATE message generation
                  Bugfix for OSLibWinGetMsg & OSLibWinPeekMsg (wrong return value)
                  Changed GetSystemMenu; added method to Win32BaseWindow class
                  (destroy old menu if present and switch back to default system
                   menu if bRevert = TRUE; needs changes in non-client code)

 2000-01-10: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32/NEW: activated menu code

 2000-01-09: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Added border size for top-level windows in OSLibWinConvertStyle
                  (borders are not drawn correctly)
                  Fixed bug in pmframe WM_WINDOWPOSCHANGED handler (don't update
                  client/window rectangle when size nor position have changed)
                  Fixed out of sync rectWindow. (children don't get notified of
                  parent position change -> rectWindow (in screen coord.) not updated)
                  Fixed LoadBitmap for system bitmaps
                  Fixes for win32 titlebar + added win32 system menu
                  System menu commands now work
                  Fixed repaint problem for win32 titlebar
                  Added Christoph's gradient filled title bars code
                  For (experimental) win32-like windows add this to odin.ini:
                        [CUSTOMIZATION]
                        OS2Look=0

                        [COLORS]
                        UseWinColors=1

 2000-01-09: David Raison <djr@lemur.co.uk>
        - OLEAUT32: Typelib - Updated TKIND_ALIAS handling.

 2000-01-09: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32/NEW: implemented scrollbar nc handling
                      windows without menus work now fine
                      implemented gradient filled title bars

 2000-01-08: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: ModifyMenuA bugfix (changing menu ids didn't work)
                  OSLibGetMsg bugfix + WM_QUIT translation fix
                  OSLibGetMenuItemRect fix (y coordinate conversion)
                  Changed WM_NCHITTEST behaviour. Now sent during WM_MOUSEMOVE
                  or button down/up message translation.
        - OLE32/OLEAUT32/OLESVR32/OLEDLG/OLECLI32:
                  Added Wine-like license that supercedes the main Odin license
        - CRTDLL: Fixed many register based floating point exports (CRTDLL__CIcos,
                  CRTDLL__CIatan etc etc)

 2000-01-08: Jens Wiessner <wiessnej@rfi.de>
        - CRTDLL: Compile fix

 2000-01-08: Patrick Haller <phaller@gmx.net>
        - SHELL32:      Update: to WINE level 2000/01/08
        - KERNEL32:     Add:    stub for GetDiskFreeSpaceExAW

 2000-01-06: Christoph Bratschi <cbratschi@datacomm.ch>
        - GDI32: added PatBlt support for negative width/height

 2000-01-06: Sander van Leeuwen <sandervl@xs4all.nl>
        - ADVAPI32: Implemented StartServiceCtrlDispatcherA/W
                    Faked RegisterServiceCtrlHandlerA/W (TODO)
                    Partly implemented SetServiceBits/SetServiceStatus
                    Improved QueryServiceStatus
                    Call RtlCreateAcl in InitializeAcl
        - LZ32: Create correct library
        - CRTDLL: Fixed CRTDLL__wcsnicmp (use Wine version)
        - VERSION: Fixed VerQueryValue32A and merged with latest Wine sources
                   (991212) (-> fixes errors in RealPlayer)
        - USER32: GetMenuStringA fix (return length of string if string pointer
                  or size parameter == 0)

 2000-01-05: Jens Wiessner <wiessnej@rfi.de>
        - TWAIN_32: Update

 2000-01-05: Christoph Bratschi <cbratschi@datacomm.ch>
        - USER32/NEW: single window works now

 2000-01-05: Sander van Leeuwen <sandervl@xs4all.nl>
        - KERNEL32/NTDLL: Partially implemented NtOpenThreadToken
                          (should be changed)
                          MS Office 2000 install (first part) almost working.
                          (installs windows installer as system service)
        - OLEAUT32: Typelib bugfix for MS Office 2k install
        - odin_ini.txt: Added information about CODEPAGES & TWAIN section

 2000-01-05: David Raison <djr@lemur.co.uk>
        - OLEAUT32: LHashValOfNameSys(A)

 2000-01-04: Jens Wiessner <wiessnej@rfi.de>
        - TWAIN_32: Created twain dll for usage with CFM Twain for OS/2.

 2000-01-04: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: InsertMenu bugfix (RealPlayer calls InsertMenu with flag 0 & pos -1)
                  Delete old region in SetWindowRegion

 2000-01-03: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
        - KERNEL32: Named pipe updates & bugfixes

 2000-01-03: Jens Wiessner <wiessnej@rfi.de>
        - LZ32/TAPI32: Updated def files to match NT 4 SP6
        - MSVCRT: Updated def files + MSVCRT40 version info
        - WINMM: Added Wine's MCI dlls (not compiled as this requires
                 a working MCI subsystem in winmm and a redesign of
                 wave & midi)

 2000-01-03: Sander van Leeuwen <sandervl@xs4all.nl>
        - LZ32: Cleaned up .def file (don't import directly) & removed
                debugtools.h
        - USER32: Fixed PostThreadMessage + bugs in GetMessage
        - KERNEL32: Set hmq & hab THDB values for newly created
                    threads (hmq not correct now)

 2000-01-02: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
        - KERNEL32: Started implementing named pipe apis

 2000-01-02: David Raison <djr@lemur.co.uk>
        - OLEAUT32: Typelib fixes - Custom Data & Default values.
                    Added private logging to tlib_n.log when reading a TLIB.
                    (Should clarify what is being read & why)
                    Now supports embedded named TLIBS in the format
                    <path>\<libname>\<id> (required for VB6, etc.)
                    Preparatory work to reduce dependance on
                    current file position to enable delaying parsing
                    data until it is requested by user.

 2000-01-02: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Implemented Set/GetWindowRgn (not activated)
        - KERNEL32: Fixed Odin zombie processes when there's a trap inside
                    vfprintf during logging.
                    Cleaned up file io procedures in oslibdos.cpp

 2000-01-01: Sander van Leeuwen <sandervl@xs4all.nl>
        - USER32: Workaround for crash in Lotus Notes when switching to a new
                  view (PM sends WM_WINDOWPOSCHANGED msg after DestroyWindow
                  has been called for a window -> don't dispatch this msg)

