home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / odin051d.zip / ChangeLog-2000 < prev    next >
Text File  |  2001-01-05  |  204KB  |  3,784 lines

  1.  /* $Id: ChangeLog-2000,v 1.8 2001/01/05 23:27:13 sandervl Exp $ */
  2.  
  3.  2000-12-31: Sander van Leeuwen <sandervl@xs4all.nl>
  4.     - KERNEL32: o Implemented ReadFile/WriteFile for COM devices (UNTESTED)
  5.     - ODINCRT:  o Don't export anything by name (we import everything by ordinal
  6.                   and it saves 15k)
  7.  
  8.  2000-12-30: Sander van Leeuwen <sandervl@xs4all.nl>
  9.     - INSTALL:  o Don't include odin.ini anymore. 
  10.     - KERNEL32: o Create 'Font Mapping' Odin.ini entry during WarpIn install
  11.                   (odininst execution)
  12.     - GDI32:    o System object can't be deleted (e.g. system pens & brushes)
  13.                   Check for those in DeleteObject.
  14.                   (TODO: also check for others (fonts)??)
  15.                   (Fixes missing background in DreamWeaver 4 demo install dialogs)
  16.  
  17.  2000-12-29: Sander van Leeuwen <sandervl@xs4all.nl>
  18.     - USER32:   o Export OS2ToWin32Handle & Win32ToOS2Handle with stdcall
  19.                   calling convention. (not mangled)
  20.     - GDI32:    o Changes for above exports
  21.  
  22.  2000-12-27: Jeroen van den Horn <J.vandenHorn@chello.nl>
  23.     - WININET:  o Resync with latest Wine + fixes/additions
  24.  
  25.  2000-12-27: Yuri Dario <mc6530@mclink.it>
  26.     - USER32:   o Wrong flag check in SetWindowPos (didn't include e.g. SWP_NOSENDCHANGING)
  27.  
  28.  2000-12-21: Sander van Leeuwen <sandervl@xs4all.nl>
  29.     - USER32:   o Fixed two FS bugs in main PM window handler. (FS not restored
  30.                   before returning)
  31.                 o Split up frame and child window PM handlers. 
  32.                 o Don't send PM WM_ACTIVATE to child windows in WM_WINDOWPOSCHANGED
  33.                   (fixes some activation problems)
  34.                 o Put back code to add MDI windows to menu (latest update doesn't work)
  35.                 o Properly invalidate non-client area when SetWindowPos is called
  36.                   with SWP_FRAMECHANGED. (fixes menu switch)
  37.                 o SetParent bugfix; when putting window at the top of the z-order we
  38.                   mustn't activate it (SWP_NOACTIVATE)
  39.                   (fixes activate problem when starting up Lotus Notes 5)
  40.     - OLEAUT32: o Ported latest Wine version (12-22-2000)
  41.                   (TODO: Port David's additions)
  42.     - TOOLS\INSTALL:
  43.                 o 3Dfx glide & opengl removed from base install
  44.                   (download opengl3dfx.zip from ftp.os2.org if you need it)
  45.                   Dllfixes win32k feature disabled (enabled by default); it's
  46.                   causing too many problems right now.
  47.  
  48.  2000-12-17: Sander van Leeuwen <sandervl@xs4all.nl>
  49.     - USER32:   o Call WH_CBT hook during OS/2 WM_CREATE message. Some apps
  50.                   rely on the window being valid when this hook is called. 
  51.                   (Girotel used GetDC which previously failed)
  52.                 o Use different PM window class for child windows. Solves some
  53.                   focus problems. (TODO)
  54.                 o Some MDI changes/fixes (from Wine)
  55.  
  56.  2000-12-16: Sander van Leeuwen <sandervl@xs4all.nl>
  57.     - USER32:   o Edit control: Limits removed. EM_SETTEXTLIMIT has no effect in 
  58.                   NT4, SP6 (EM_GETTEXTLIMIT only returns that value).
  59.                   Limits are simply ignored, no EN_MAXTEXT notification is ever sent.
  60.                   (fixes license edit control in Microsoft Visual C++ 4.2 install)
  61.                 o Static control: SS_REALSIZEIMAGE is supposed to prevent 
  62.                   control resizing, but that doesn't appear to happen in NT 
  63.                   (although the SDK docs are very clear about this)
  64.                   Need to figure out why. (not resizing messes up the bitmap 
  65.                   control in the Microsoft Visual C++ 4.2 install program)
  66.                   Same thing happens with a very simply test app, so the installer
  67.                   does nothing special.
  68.     - WNASPI32: o Fixed bug in access aspi method. (wait check reversed)
  69.     - MAKEFILES:o Update for overriding stack size of executables
  70.     - PELDR:    o Fixed makefiles (PEC was built as a PM app -> must be VIO!)
  71.     - KERNEL32: o Only call DosGetNamedSharedMem & free view if map created
  72.                   by different process. (fixes hang in Lotus Notes 5)
  73.  
  74.  2000-12-12: Sander van Leeuwen <sandervl@xs4all.nl>
  75.     - KERNEL32: o GetVolumeInformationA bugfix (lpFileSystemNameBuffer == NULL &
  76.                   lpFileSystemFlags != NULL)
  77.                 o Wrong calls to VirtualFree in memory map & tls code (size must be zero)
  78.                 o Shared memory address retrieved with DosGetNamedSharedMem not properly freed
  79.  
  80.  2000-12-12: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  81.     - Win32k:   o Fixed problem with newer kernels having a different
  82.                   prolog to ldrCheckInternalName. (Seems like either new
  83.                   compiler or better optimization.)
  84.                 o Corrected bad loop condition in configure.cmd causing
  85.                   a neverending loop during build.
  86.     - Win32kCC: o Corrected the setting of the -DllFixes parameter.
  87.     - readme.txt:
  88.                 o Corrected minor flaw: Win32k option "-PE" should be "-Pe".
  89.  
  90.  2000-12-10: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  91.     - Win32k:   o Fixed minor error in the *printf function.
  92.                 o Added the 14063 kernels (*1129[d].zip).
  93.                 o Removed OS/2 kernel limit for DLL name length.
  94.                   (Experimental - see readme.txt option -Dllfixes.)
  95.                 o Removed OS/2 kernel restriction for DLL extention.
  96.                   (Experimental - see readme.txt option -Dllfixes.)
  97.     - readme.txt:
  98.                 o Updated win32k.sys with new parameter, -Dllfixes.
  99.  
  100.  2000-12-09: Patrick Haller <patrick.haller@innotek.de>·
  101.     - KERNEL32: o accelerated FindFirst/FindNext calls (oslibdos.cpp)·
  102.     - makefile: o added support for "profile" debug build·
  103.  
  104.  2000-12-09: Sander van Leeuwen <sandervl@xs4all.nl>
  105.     - GDI32:    o Temporary fix for bugs introduced by recent handle changes.
  106.  
  107.  2000-12-07: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  108.     - USER32:   o Changed CFLAGS and CXXFLAGS overrides to a CDEFINES override.
  109.                   (This is the new way to alter the standard C and C++ defines.)
  110.  
  111.  2000-12-07: Sander van Leeuwen <sandervl@xs4all.nl>
  112.     - USER32:   o Missing USING_OPEN32 define in makefile. Might be responsible
  113.                   for a lot of problems that have recently emerged.
  114.  
  115.  2000-12-06: Sander van Leeuwen <sandervl@xs4all.nl>
  116.     - USER32:   o Must call selectClientArea after GpiSetClipRegion in BeginPaint
  117.                   When a window with CS_OWNDC looses focus, for some reason
  118.                   GpiSetClipRegion resets the window dc origin back to (0,0).
  119.                   (fixes e.g. Visual C++ 4.2 setup when switching between
  120.                    setup window & another app)
  121.     - KERNEL32: o Rewrote GetLogicalDrives
  122.                 o Minor fixes for GetDriveType (return value equals DRIVE_NO_ROOT_DIR
  123.                   for junk input; does not change last error)
  124.  
  125.  2000-12-06: Patrick Haller <patrick.haller@innotek.de>
  126.     - USER32:   o added debug macros to HOOK_ functions
  127.     - GDI32:    o added debug macros to Font related functions
  128.  
  129.  2000-12-05: Sander van Leeuwen <sandervl@xs4all.nl>
  130.     - USER32:   o 16 bits menu handles are now supported (fixes crash in MultiEdit)
  131.     - GDI32:    o Changes to local object handle management (for user32 menus)
  132.     - KERNEL32: o Don't assume resources start at section boundary.
  133.                   Must use DataDirectory virtual address.
  134.                   (fixes winrar self-extracting executables)
  135.  
  136.  2000-12-03: chris.wohlgemuth <chris.wohlgemuth@cityweb.de>
  137.     - KERNEL32: o Fix for TVFS & GetDiskFreeSpaceA (Windows Media Player
  138.                   install complains about cluster size)
  139.                   (DRIVESPACE section, key CLUSTERTO32 in odin.ini)
  140.                 o Fix in PROFILE_GetSection for crash in Windows Media Player install
  141.     - WINMM:    o Ported Wine MCI code
  142.  
  143.  2000-12-03: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  144.     - TOOLS\install:
  145.                 o More installation script fixes.
  146.     - Win32k:   o Fatal error! I mixed flags for C and C++ compilation during
  147.                   makefile rewrite. This caused C++ exceptionhandlers to be
  148.                   generated and registered, leading to Trap 000e during boot.
  149.                 o Confirmed working on the Warp 4 14.060 (at least halfstrict)
  150.                   kernel (w41106.zip).
  151.  
  152.  2000-12-03: Sander van Leeuwen <sandervl@xs4all.nl>
  153.     - TOOLS\install:
  154.                 o Installation script fixes.
  155.  
  156.  2000-12-03: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  157.     - *, makefiles, pdwin32k.*, odin32.*.mk, Configure.cmd:
  158.                 o Made some addjustments to the makefiles. Most important
  159.                   eliminating nearly all ODIN32_<dir> directory macros.
  160.                 o Changed all "PDWIN32_" to "ODIN32_".
  161.                 o Renamed pdwin32.$(CCENV).* to pdwin32.*.$(CCENV).mk
  162.                   and pdwin32.* to odin32.*.mk.
  163.                 o Added tiny rexx script, Configure.cmd, which generates
  164.                   a file with absolute directory macros; makefile.inc.
  165.                   Makefile.inc also includes /include/odin32.mk.
  166.                   NB. This script is automatically invoked the first time
  167.                   you start nmake or wmake on /makefile.
  168.                 o Restructured the win32k.sys makefiles. Now all but
  169.                   the win32k.sys makefile is using the new makefile style.
  170.                 o The tools makefiles are mostly according to the new style.
  171.                 o Compiler and debug/release specific library directory.
  172.                   ODIN32_LIB will now point to a compiler specific directory
  173.                   under /lib. Debug and release files are also separated.
  174.                 o The <>exp.def are now generated in the $(OBJDIR) directory.
  175.                 o .lib-files are also targeted to $(OBJDIR).
  176.                 o More Watcom friendly makefiles. (I didn't say that they are
  177.                   working with Watcom! I removed VAC dependencies when
  178.                   possibled or else tried to make wmake fail.)
  179.                 o Moved readmes in the /bin/glide tree to the source
  180.                   directories under opengl.
  181.     - tools/install:
  182.                 o Removed odininst.wis - odin.cmd generates this.
  183.                 o Tried to make odin.cmd more readable; uses
  184.                   the wic.exe option -c <dir> to set current directory.
  185.                   ARG! Why can't wic.exe return anything but 0? When files
  186.                   aren't found for example, I have no way of finding it out.
  187.                 o Added package which adds win32k.sys to the config.sys.
  188.                   Seems like I have to add a file to that packet, so win32k.ddp
  189.                   works as dummy file. It also seems like there is a but in
  190.                   WarpIn 0.95 - it inserts the line between the '\r' and the '\n'
  191.                   chars at the end of the previous line.
  192.  
  193.  2000-12-02: Sander van Leeuwen <sandervl@xs4all.nl>
  194.     - KERNEL32: o Added renaming for MCICDA (MCICDA.DLL -> MCICDA.DRV)
  195.  
  196.  2000-12-02: chris.wohlgemuth <chris.wohlgemuth@cityweb.de>
  197.     - WINMM\MCICDA:
  198.                 o Rewrote it for OS/2
  199.  
  200.  2000-11-26: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  201.     - Win32kCC: o Fix bootdriveletter which jumped for each save.
  202.                 o Fixed shrinking of config.sys problem.
  203.  
  204.  2000-11-28: Kai Sommerfeld <kai.sommerfeld@hamburg.de>
  205.     - SHELL32:  o Workaround for what seems to be a Wine bug dealing with
  206.                   the index of icons. (fixes wrong file open dialog icons)
  207.  
  208.  2000-11-26: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  209.     - FastDep:  o Added option '-x' to exclude files.
  210.     - Win32k:   o Exclude generated sourcefiles from dependencies.
  211.     - Win32kCC: o Added support for updating config.sys settings.
  212.     - KERNEL32: o Fix for CreateFile on readonly files with CREATE_ALWAYS_W.
  213.                   OPEN_ACTION_REPLACE_IF_EXISTS requires write access to the
  214.                   file. This broke typical install programs.
  215.  
  216.  2000-11-25: Sander van Leeuwen <sandervl@xs4all.nl>
  217.     - USER32:   o ReleaseCapture fix (endless loop in MultiEdit)
  218.     - KERNEL32: o Workaround for DosAllocSharedMem limitation. OS/2 does
  219.                   not accept shared memory names with colons. Replace
  220.                   them with underscores.
  221.                   (fixes crash at startup for PMMail 2000)
  222.  
  223.  2000-11-24: Patrick Haller <patrick.haller@innotek.de>
  224.     - WINMM:    o FS: corruption fix in MixSetup->pmixWrite (DART)
  225.  
  226.  2000-11-24: Sander van Leeuwen <sandervl@xs4all.nl>
  227.     - USER32:   o Don't send WM_CREATE or WM_NCCREATE messages to dialogs
  228.                 o Don't send WM_NCCALCSIZE to a dialog before it has received
  229.                   WM_INITDIALOG
  230.                   (looks like that's how NT4 SP6 does it)
  231.                   (fixes sysinf32 error messages about failure to create dialogs)
  232.                 o CopyIcon bugfix (CURSORICON_ExtCopy)
  233.  
  234.  2000-11-24: Kai Sommerfeld <kai.sommerfeld@hamburg.de>
  235.     - SHELL32:  o Completed ICO_ExtractIconEx rewite
  236.                 o Changed shell32 icon lookup (IExtractIconA_fnGetIconLocation)
  237.                 o Added 45 shell icons + one Explorer icon
  238.                   (Icon author: Pierre Cavanna, Icon origin: http://www.iconstreet.com)
  239.  
  240.  2000-11-24: Oliver Braun <Oliver.Braun@hamburg.de>
  241.     - OLE32:    o Synched with latest OLE clipboard implementation
  242.  
  243.  2000-11-23: Sander van Leeuwen <sandervl@xs4all.nl>
  244.     - GDI32:    o Fixed crash in SetDIBits method of DIB section class
  245.                   for compressed bitmaps.
  246.     - KERNEL32: o Fix for launching apps with spaces in their pathname
  247.                   (CreateProcessA)
  248.                 o Fix for OpenFile and file names with too many backslashes
  249.                   (NT4, SP6 accepts e.g. m:\\\ikernel.ex_; DosOpen doesn't)
  250.                 o Same fix for CreateFile (same behaviour observed in NT4, SP6)
  251.     - USER32:   o Added localized resources (copied from Wine)
  252.  
  253.  2000-11-22: Patrick Haller <patrick.haller@innotek.de>
  254.     - CRTDLL:   o Added some debug code, added missing exports ltow, ultow
  255.  
  256.  2000-11-22: Sander van Leeuwen <sandervl@xs4all.nl>
  257.     - USER32:   o When application sends invalid brush in responds to
  258.                   WM_CTLCOLOR messages -> get default brush (by calling
  259.                   DefWindowProcA)
  260.                   (fixes white background of checkboxes in Adobe Distiller's
  261.                    option dialog)
  262.                 o Workaround added for bug in StretchDIBits when stretching
  263.                   AND mask of icons. Create bitmap and use StretchBlt to blit
  264.                   and stretch/shrink the icon mask.
  265.                   (fixes wrong icons for some executables (e.g. Napster) in
  266.                    the file open dialog)
  267.     - GDI32:    o Print warning when StretchDIBits is called with 1bpp bitmap data
  268.  
  269.  2000-11-21: Patrick Haller <patrick.haller@innotek.de>
  270.     - CRTDLL:   o Merged with WINE code, numerous stubs resolved, many VAC
  271.                   CRT dependencies resolved with self-contained ODIN code
  272.  
  273.  2000-11-21: Sander van Leeuwen <sandervl@xs4all.nl>
  274.     - include\win\thread.h:
  275.                 o New TEB layout (like latest Wine)
  276.     - include\versionos2.h:
  277.                 o Increased LX dll version (new dlls incompatible with old versions)
  278.     - USER32,KERNEL32:
  279.                 o Changes for new TEB
  280.     - OLE32:    o Added CreateErrorInfo, GetErrorInfo & SetErrorInfo (Wine port)
  281.                 o Added Wine cursors to resource file
  282.     - KERNEL32: o Be careful with terminating strings in lstrcpynAtoW/WtoA
  283.                   Must not always set the last character to 0; just terminate
  284.                   the string if it's shorter than the max size. Some apps send
  285.                   the wrong string size to apis that use this function (i.e.
  286.                   GetMenuStringW (Notes)) -> overwrites stack
  287.                   (fixes crash when activating menus in Lotus Notes 5)
  288.     - USER32:   o CopyImage bugfix (black icons in file dialog)
  289.  
  290.  2000-11-21: Oliver Braun <Oliver.Braun@hamburg.de>
  291.     - USER32:   o Added support for WM_DESTROYCLIPBOARD
  292.  
  293.  2000-11-21: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  294.     - pdwin32.*:
  295.                 o Fighting with the Watcom compilers and WMAKE.
  296.                   Not at all completed. (Is now able to build fastdep.c - very usefull! ;-) )
  297.     - tools/install:
  298.                 o Corrected makefile.
  299.     - fastdep:  o Updated to compile with Watcom.
  300.     - tools/common, tools/impdef:
  301.                 o Updated to new makefile style.
  302.  
  303.  2000-11-20: Sander van Leeuwen <sandervl@xs4all.nl>
  304.     - USER32:   o Fixed bug in code that looks for the best icon (based on size/bpp)
  305.                   Don't use entry->ResInfo.icon.bColorCount, but entry->wBitCount instead.
  306.                   (Winamp 2.7 has icons with bColorCount set to 0 even though
  307.                    they're 8 bits)
  308.  
  309.  2000-11-20: Michal Necasek <michalnec@volny.cz>
  310.     - KERNEL32: o Updates and fixes for the debug api functions
  311.  
  312.  2000-11-20: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  313.     - pdwin32.*:
  314.                 o Some sdjustments and corrections.
  315.                 o Flag macros can't be added and added and added and
  316.                   added to - NMAKE don't support it.
  317.                 o Use CreatePath.cmd to makesure that OBJDIR any target
  318.                   directory for a copy (CP) operation exists.
  319.                 o Use ExecExcl.cmd to execute ILINK execlusivly. Since
  320.                   running ILINK concurrently in two processes often failes.
  321.     - src/makefile:
  322.                 o Changed the all rule.
  323.                 o Added two nice features to the all, build, lib(s), dep
  324.                   and clean rules:<ul>
  325.                     <li>MASSIVE. Define MASSIVE (on nmake commandline) and
  326.                         these rules will spawn a nmake child for each
  327.                         subdirectory.
  328.                     <li>SMP. Define SMP (on nmake commandline) and the
  329.                         subdirectories are traversed backwards. This
  330.                         replaces the makefile.smp stuff.
  331.                   </ul>
  332.                 o smp rule - dual build. Build Odin as usual but first it
  333.                   spawns a child which builds Odin backwards (SMP=1).
  334.     - makefile: o Updated the SMP ruls to use new src/makefile.
  335.     - COMCTL32: o Removed debugtools.h. Yesterdays changes by Sander depended
  336.                   on debugtools.h found in include\win.
  337.                 o Added the missing IDS_SEPARATOR from the current Wine sources.
  338.  
  339.  2000-11-19: Sander van Leeuwen <sandervl@xs4all.nl>
  340.     - COMCTL32: o Resynced new Wine code with Christoph's unicode fixes
  341.                   (animate, comboboxex, datetime, monthcalc & flatsb)
  342.     - USER32:   o Another SetWindowPos fix for SWP_FRAMECHANGED (send WM_POSCHANGING/CHANGED messages)
  343.     - PELDR:    o Fixed makefiles.
  344.  
  345.  2000-11-19: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  346.     - *:        o New makefile style implemented in the entire tree;
  347.                   except for some unused makefiles.
  348.                   As last time everything went quite well excpet for the
  349.                   opengl and win32k trees which still are quite special
  350.                   cases (especially win32k).
  351.                 o The new makefile style is designed minimal, only specifying
  352.                   what really is unique for a makefile. All general stuff is
  353.                   placed in central makefiles (the pdwin32.*.* files).
  354.                 o It is meant to work with wmake too. But that's not quite
  355.                   ready and tested yet.
  356.                 o One of the more important changes are that C, C++ and
  357.                   resource include search path is define separatly as
  358.                   CINCLUDES.
  359.                 o The same goes for defines, they are defined as CDEFINES.
  360.                   There are two alternate CDEFINES macros; CDEFINES_ODINCRT
  361.                   and CDEFINES_WIN32APP.
  362.                 o All the PDWIN32_ directory macros
  363.                 o New LIBTARGET type of makefiles.
  364.                 o Many addtions, changes and corrections to the .post files.
  365.                 o Watcom main makefiles aren't quite up-to-date.
  366.                 o If there are any errors/problems Then
  367.                     If you can fix them Then Do fix them ASAP.
  368.                     Else Send a message ASAP to the win32os2-wai list.
  369.                     Endif
  370.                   Endif
  371.     - PELDR:    o Makefile splitted into pe.mak and pec.mak.
  372.     - OLE32:    o Makefile splitted into ole32.mak and regsvr32.mak.
  373.     - MSCVRT:   o Makefile splitted into msvcrt.mak, msvcrt20.mak and msvcrt40.mak.
  374.     - OPENGL:   o For some queer reason I had to add mem.c to the mesa/3dxf
  375.                   makefile. This might be an indication that something went
  376.                   wrong here but I am unable to figure it out.
  377.     - NTDLL:    o Added dllinitstub.asm instead of the compiler specific
  378.                   object file. Should perhaps be placed in dllentry and
  379.                   made ready for Watcom.
  380.     - tools/database:
  381.                 o Fixed build bug.
  382.     - tools/fastdep:
  383.                 o Fixed option -r. It changed the object extention in stead
  384.                   of the resource target extention. (Used to generated
  385.                   dependencies for .orc files now.)
  386.  
  387.  2000-11-18: Sander van Leeuwen <sandervl@xs4all.nl>
  388.     - USER32:   o CopyImage fix for icons
  389.  
  390.  2000-11-18: Michal Necasek <michalnec@volny.cz>
  391.     - KERNEL32: o Workaround for exceptions caused by apps filling ES
  392.                   with the FS selector
  393.  
  394.  2000-11-17: Sander van Leeuwen <sandervl@xs4all.nl>
  395.     - include\win\authors.h:
  396.                 o Added Kai Sommerfeld
  397.     - USER32:   o SetWindowPos fix for frame change in Clock.exe
  398.                   (missing MsgFormatFrame call)
  399.     - KERNEL32: o CreateThread bugfix (crash in pmwinx when lpIDThread == NULL)
  400.     - COMCTL32: o Updated animate, comboboxex, datetime, monthcalc & flatsb
  401.                   controls with latest Wine code (2000-11-12)
  402.     - COMDLG32: o Temporary workaround for crash in Adobe Acrobat 4.0
  403.                   (file open dialog; weird hook call in FILEDLG95_OnOpen)
  404.  
  405.  2000-11-17: Kai Sommerfeld <kai.sommerfeld@hamburg.de>
  406.     - SHELL32:  o Added support for LX images to ICO_ExtractIconEx
  407.  
  408.  2000-11-16: Sander van Leeuwen <sandervl@xs4all.nl>
  409.     - USER32:   o Added support for SPI_GETICONMETRICS in SystemParametersInfoA
  410.                   (ported Wine code)
  411.                 o SPI_GETICONTITLELOGFONT fix for SystemParametersInfoW (wrong height)
  412.     - GDI32:    o Reimplemented GetTextExtentA. Seems to solve some
  413.                   problems with font size calculation.
  414.  
  415.  2000-11-15: Oliver Braun <Oliver.Braun@hamburg.de>
  416.     - USER32:   o Added message translation for clipboard messages
  417.                 o OpenClipboard fix for NULL window handle
  418.  
  419.  2000-11-15: Sander van Leeuwen <sandervl@xs4all.nl>
  420.     - WINSPOOL: o Partially implemented EnumPrintersA
  421.                 o Implemented DeviceCapabilitiesA/W (calls Open32)
  422.     - GDI32:    o Workaround added for coordinate problem when a window
  423.                   looses focus and SelectClipRgn is called. GpiSetClipRegion
  424.                   resets the window origin for some unknown reason
  425.                   (TODO: figure out why)
  426.                 o Same workaround added for ExtSelectClipRgn
  427.                 o Reset origin after a bitmap is selected into a window DC
  428.                 o Fix for yesterday's SetDIBits bugfix; SetBitmapBits
  429.                   expects WORD aligned scanlines; SetDIBits DWORD aligned
  430.                   Correct this when flipping the bitmap
  431.     - USER32:   o selectClientArea exported for GDI32
  432.                 o Validate rectangle returned after WM_NCCALCSIZE
  433.  
  434.  2000-11-14: Michal Necasek <michalnec@volny.cz>
  435.     - KERNEL32: o HMInitialize bugfix (initialization)
  436.                 o VirtualAlloc fix (wrong VirtualProtect call)
  437.  
  438.  2000-11-14: Sander van Leeuwen <sandervl@xs4all.nl>
  439.     - KERNEL32: o Added FindDevice method to device classes to ease searching
  440.                   for device names. (COM class now doesn't have to register
  441.                   16 devices)
  442.                 o Bugfix in COMM class (error code interpreted wrong)
  443.                 o COMx: (x=1..8) now also recognized as name for COM port
  444.     - GDI32:    o Workaround added for bugs in Open32's SetDIBits; messes
  445.                   up colors for 1 bpp bitmaps
  446.                   (reversing scanlines and calling SetBitmapBits works, but only
  447.                    if the all scanlines are updated!)
  448.  
  449.  2000-11-12: Sander van Leeuwen <sandervl@xs4all.nl>
  450.     - USER32:   o LoadBitmapW heap corruption fixes (reported by Michal Necasek)
  451.                   for OS/2 1.3 bitmaps conversion
  452.  
  453.  2000-11-11: Sander van Leeuwen <sandervl@xs4all.nl>
  454.     - USER32:   o CreateWindowExW bugfixes (atom lookup + unicode string handling)
  455.                 o Added stubs for SetWinEventHook, UnhookWinEvent & NotifyWinEvent
  456.  
  457.  2000-11-10: Patrick Haller <phaller@gmx.net>
  458.     - KERNEL32: o implemented .42 and .47 ... which are "NullFunction"s.
  459.  
  460.  2000-11-10: Sander van Leeuwen <sandervl@xs4all.nl>
  461.     - USER32:   o Fixed wrong icon colors in release build
  462.  
  463.  2000-11-10: Michal Necasek <michalnec@volny.cz>
  464.     - KERNEL32: o VirtualQuery fix for inaccessible pages
  465.  
  466.  2000-11-10: Knut St. Osmundsen <knut.stange.osmundsen@mynd.no>
  467.     - Win32k:   o Updated symbol database with the 14060 kernels from
  468.                   testcase. (Very minor changes compared to the first 14059
  469.                   release when symbols are compared.)
  470.                   Note. The 14059 kernels from 2000-10-31 are not supported
  471.                   due to build number conflict with the kernels released
  472.                   2000-10-23. The 2000-10-23 kernels are present in the
  473.                   symbol database.
  474.  
  475.  2000-11-09: Sander van Leeuwen <sandervl@xs4all.nl>
  476.     - USER32:   o Implemented LoadCursorFromFileA/W (Wine port)
  477.                 o Fixes for LoadIconA/W & LoadCursorA/W; use default width & height
  478.                   in LoadImage call
  479.                 o Fixed memory leaks in LoadCursorA/W
  480.                 o Rewrote icon apis using ported and modified Wine code
  481.                   (fixes scaling of icons + wrong size of icons)
  482.                   NOTE: Still some problems left (e.g. file open dialog icon)
  483.                         Will be fixed asap.
  484.                 o Fixed coordinate mapping problem in MDI_ChildGetMinMaxInfo
  485.                 o Added Wine user32 icons (user32\bmp)
  486.                 o Fixed resource dependency
  487.     - GDI32:    o Wrong call to dsect->SetDIBColorTable in CreateDIBSection
  488.                   (PALETTEENTRY has red & blue reversed compared to RGB2/RGBQUAD)
  489.                   (reported by Platon Fomichev)
  490.                 o Must call ReleaseDC for window dcs in DeleteDC
  491.     - KERNEL32: o Removed unused resource conversion code (bitmaps, icons & accelerators)
  492.                 o Create system32\drivers\etc directory during install
  493.     - COMCTL32: o Fixed resource dependency
  494.     - COMDLG32: o Fixed resource dependency
  495.     - SHELL32:  o Fixed resource dependency
  496.  
  497.  2000-11-09: Achim Hasenmueller <achimha@innotek.de>
  498.     - WSOCK32:  o WINSOCK_DeleteIData fix
  499.  
  500.  2000-11-09: Michal Necasek <michalnec@volny.cz>
  501.     - KERNEL32: o GetLocaleInfoW fix for Czech language (weird thousand separator)
  502.  
  503.  2000-11-06: Sander van Leeuwen <sandervl@xs4all.nl>
  504.     - COMDLG32: o Merged with latest Wine code (11-05-2000)
  505.                 o Added bugfix for empty initial dir string (file open/save dialogs)
  506.                   Should use current directory; not the desktop
  507.     - SHELL32:  o Merged with latest Wine code (11-05-2000)
  508.  
  509.  2000-11-06: Michal Necasek <michalnec@volny.cz>
  510.     - KERNEL32: o GetFullPathNameW bugfix
  511.                 o HeapReAlloc fix; must return the same pointer when shrinking
  512.                   an allocation (NT's CMD.EXE depends on this!)
  513.  
  514.  2000-11-05: Sander van Leeuwen <sandervl@xs4all.nl>
  515.     - USER32:   o Changed warning string for ExitWindows api
  516.                 o Additional exports for gdi32; moved 4 apis back into gdi32
  517.                 o Fixed SetWindowPos during WM_NCCREATE (static control (bitmaps
  518.                   + icon) resize now works)
  519.     - GDI32:    o Rewrote many transformation & coordinate apis
  520.     - KERNEL32: o Use DosLoadModule instead of O32_LoadLibrary
  521.                 o Changed exception dump logging (.dll.dll -> .dll)
  522.                 o Fix for GetDriveTypeW; return DRIVE_CANNOTDETERMINE if string
  523.                   pointer is -1 (VERIFIED in NT 4, SP6) (reported by Michal Necasek)
  524.                   (NOTE: Not true for GetDriveTypeA (crashes))
  525.     - COMDLG32: o Fix for FindReplace dialog; must return pointer to FINDREPLACEA/W
  526.                   structure when calling hook during WM_INITDIALOG; not pointer
  527.                   to custum data dword (old SDK docs were wrong; newer versions
  528.                   have been corrected)
  529.  
  530.  2000-11-04: Sander van Leeuwen <sandervl@xs4all.nl>
  531.     - GDI32:    o OffsetRgn fix
  532.     - USER32:   o Rewrote LockWindowUpdate
  533.  
  534.  2000-11-02: Sander van Leeuwen <sandervl@xs4all.nl>
  535.     - SHELL32:  o Wrong exports for several apis (SHGetSpecialFolderPathA
  536.                   & PathProcessCommandA reported by Kai Sommerfeld)
  537.                   (PathBuildRoot, PathFileExists, ParseField & DoEnvironmentSubst)
  538.                   SHGetSpecialFolderPathA export added.
  539.  
  540.  2000-11-01: Brian Smith <dbsoft@technologist.com>
  541.     - USER32:   o Fix for MENU_InsertItem (add if menu item not found)
  542.                   (from latest Wine code;
  543.                    TODO: need to sync user32 controls!)
  544.  
  545.  2000-10-30: Sander van Leeuwen <sandervl@xs4all.nl>
  546.     - KERNEL32: o Forgot to append .dll if no extension is found in 
  547.                   Win32DllBase::findModule (fixes dependency update
  548.                   for LX dlls; i.e. winhlp32 now works again)
  549.  
  550.  2000-10-28: Sander van Leeuwen <sandervl@xs4all.nl>
  551.     - SHELL32:  o Print build date in About Odin dialog
  552.     - include\win\authors.h, tools\install\odin.cmd:
  553.                 o Added Oliver Braun to authors list
  554.  
  555.  2000-10-27: knut st. osmundsen<knut.stange.osmundsen@mynd.no>
  556.     - Win32k:   o Fixed bug which prevented the symbolname to be copied to
  557.                   the szSymbolfile global variable and displayed during boot
  558.                   and in Win32kCC.
  559.                 o Added a abort stub which creates an IPE/Int3 instead
  560.                   of calling DosExit (which isn't recommended at Ring-0 i think.)
  561.                   There is some Purevirtual stub function which calls abort.
  562.  
  563.  2000-10-26: Sander van Leeuwen <sandervl@xs4all.nl>
  564.     - GDI32:    o GetObjectA/W bugfix; return required size when buffer pointer
  565.                   is NULL (Open32 doesn't always do this)
  566.                 o GetObjectW bugfix: translate face name for font object from
  567.                   ascii to unicode
  568.     - KERNEL32: o RegEnumKeyExW, RegEnumValueW & RegQueryInfoKeyW fixes (heap corruption)
  569.                 o RegEnumValueW fix; must convert value data if it's a string
  570.                 o VirtualAlloc fix for memory that is already committed.
  571.     - USER32:   o Ported EnumDisplayDevicesA/W from Wine
  572.  
  573.  2000-10-26: knut st. osmundsen<knut.stange.osmundsen@mynd.no>
  574.     - ChangeLog:
  575.                 o The ChangeLog (this file) will sooner or later be viewable
  576.                   from the web I hope. So to ease the parsing (or AI) I
  577.                   suggest that we puts an 'o' in front of each point in the
  578.                   change descriptions. Also HTML tags could be used, especially
  579.                   pre, br and p. <br>
  580.                   I've updated this file, and an attempt to convert it to HTML
  581.                   is found here: http://ktaskmgr.sourceforge.net/ChangeLogTest.html<br>
  582.                   The PHP script which does this parsing is found in
  583.                   Tools\Database\www, named Odin32ChangeLog.php.
  584.     - Win32k:   o Added kernels 14055, 14056 and 14057.
  585.                 o Comment on eComStation preview problem:
  586.                     The symbols and debug kernels are 14053 with an extra
  587.                     fix in TKSleep for Time-Critical threads (it seems).
  588.                     This fix make the debugkernels and probably release
  589.                     kernel (which I haven't found yet) 0x20 bytes bigger,
  590.                     and thus aren't supported by the symbols for the testcase
  591.                     14053 kernel in the symbol database.
  592.                     The fix is present in later kernels at testcase too,
  593.                     at least in 14057 (which also is found at service, as
  594.                     krnl1019(d).zip).<p>
  595.  
  596.                     Concerning the release kernel of eComStation, it might
  597.                     acutally be 14052. The kernel on the installation floppy
  598.                     image (os2image\disk_0) is build 14052, and Oliver Stein
  599.                     said that the conveniece(?) pack preview were 14052...<p>
  600.  
  601.                     But, currently I haven't found any other release kernel
  602.                     on the eComStation preview than the install kernel;
  603.                     and I haven't had time to install it either.
  604.  
  605.  2000-10-25: Michal Necasek <michalnec@volny.cz>
  606.     - KERNEL32: o SearchPath32A fix for IBM VAC for windows (search directory
  607.                   consists of multiple paths separated by a semi-colon)
  608.  
  609.  2000-10-25: Sander van Leeuwen <sandervl@xs4all.nl>
  610.     - KERNEL32: o Add rename entry for winspool.drv to odin.ini. (if not present)
  611.                 o Check pointers in Read/WriteProcessMemory
  612.                 o Add OLE key during installation: <pre>
  613.                   [HKEY_LOCAL_MACHINE\Software\Microsoft\OLE]
  614.                   "EnableDCOM"="Y"
  615.                   "EnableRemoteConnect"="N"</pre>
  616.  
  617.     - WINSPOOL: Removed changes. (now generates winspool.dll again)
  618.  
  619.  2000-10-23: Sander van Leeuwen <sandervl@xs4all.nl>
  620.     - KERNEL32: o Vio api doesn't support high memory; need to copy string
  621.                   to stack.
  622.                 o Rewrote module handling to include extension in module name
  623.                   when creating it (LoadLibraryExA) and searching (GetModuleHandle)
  624.                   for it.
  625.                   (now supports dlls with the same name, but different extension)
  626.                   i.e.:<pre>
  627.                   hinst = LoadLibrary("WINSPOOL.DRV");      -> succeeds
  628.                   hinst2 = GetModuleHandle("WINSPOOL.DRV"); -> succeeds
  629.                   hinst3 = GetModuleHandle("WINSPOOL.");    -> fails
  630.                   hinst4 = GetModuleHandle("WINSPOOL");     -> fails
  631.                   hinst = LoadLibrary("KERNEL32.DLL");      -> succeeds
  632.                   hinst2 = GetModuleHandle("KERNEL32.DLL"); -> succeeds
  633.                   hinst3 = GetModuleHandle("KERNEL32.");    -> fails
  634.                   hinst4 = GetModuleHandle("KERNEL32");     -> succeeds</pre>
  635.                   Same behaviour as observed in NT4, SP6
  636.  
  637.                 o Rewrote GetVersionStruct & GetVersionSize.
  638.  
  639.                 o lstrcpynWtoA and lstrcpynAtoW must zero-terminate the string
  640.                   because Wine code depends on this behaviour (i.e. comdlg32)
  641.                 o Changed console calls to these functions for new behaviour.
  642.                   (fixes error message when selecting a file in the open file
  643.                    dialog of Acrobat Distiller)
  644.     - USER32:   o Changes for GetWindowText(Length)A/W for windows created
  645.                   by a different process. NT doesn't send WM_GETTEXT(LENGTH)
  646.                   messages in that case, but copies the required information
  647.                   directly from internal structures. (VERIFIED in NT4, SP6)
  648.                   (fixes crash at the end of the RealPlayer 8 installation)
  649.     - DCIMAN32:   Added stub dll
  650.     - WINSPOOL:   Generate dll with win32 extension (.drv) instead of .dll
  651.     - INCLUDE\makefiles:
  652.                   Changed rules for targets with different extension (not .exe
  653.                   or .dll)
  654.     - TOOLS\install:
  655.                   Include winspool.drv in installation package.
  656.  
  657.  2000-10-22: Sander van Leeuwen <sandervl@xs4all.nl>
  658.     - USER32:   o Paint fix for static controls (fixes common color dialog)
  659.                 o Make sure a window handle can't be used after the window
  660.                   has received both WM_DESTROY & WM_NCDESTROY (fixes
  661.                   crash in font dialog after closing it)
  662.                 o After resize wrong parts of the window were invalidated.
  663.                   (fixes common color dialog after extending it (buttons
  664.                    previously overwritten))
  665.                 o OBM_TNTYPE missing from user32 bitmap list
  666.                 o Check if a menu handle isn't a window handle before using
  667.                   assuming it's a pointer. (IS_A_MENU macro)
  668.                   --> we really shouldn't be using pointers as menu handles
  669.                 o Set hIconSm to 0 in RegisterClassW. (was uninitialized)
  670.     - COMDLG32:   Wrong type for font dialog bitmap (was 16 bits)
  671.                   (fixes missing font names in listbox of common font dialog)
  672.  
  673.  2000-10-21: Carsten Tenbrink <Carsten@C-Tenbrink.DE>
  674.     - CAPI32:   Rewrote it. Works correctly now.
  675.  
  676.  2000-10-21: Sander van Leeuwen <sandervl@xs4all.nl>
  677.     - KERNEL32: o Add DirectPlay & DirectPlayLobby class keys to registry
  678.                   during installation
  679.                 o Add ProductType key to registry during init<pre>
  680.                   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ProductOptions]
  681.                   "ProductType"="WinNT"</pre>
  682.                   (TODO: check if names for win98 & win2k are correct!)
  683.                 o RegSetValueExW/RegQueryValueExW fixes for keys with type
  684.                   REG_SZ or REG_EXPAND_SZ. (unicode<->ascii translation)
  685.     - include\win\authors.h, tools\install\odin.cmd:
  686.                 o Added Carsten Tenbrink to authors list
  687.     - ADVAPI32: o Pretend SetThreadToken succeeded in NT mode
  688.     - COMDLG32: o Merged with latest Wine version (Wine 20001002 level (10-21-2000))
  689.                 o Now uses Wine color and font dialogs (not tested)
  690.                   All supported Wine language resources are included.
  691.  
  692.  2000-10-20: Michal Necasek <michalnec@volny.cz>
  693.     - KERNEL32: o FORMAT_MESSAGE_IGNORE_INSERTS support added for message
  694.                   handling (fixes VACPPWIN 3.5 messages)
  695.  
  696.  2000-10-20: Sander van Leeuwen <sandervl@xs4all.nl>
  697.     - KERNEL32: o Very basic support for console command line apps (output/input)
  698.                   + some changes to PM vio support to make it more flexible
  699.                   Must use special vio pe loader (pec)<br>
  700.                   <b>TODO</b>: Launch correct version of pe loader in CreateProcess
  701.                 o Fixed the stupid small PM vio window (now defaults to 80x25)
  702.     - PELDR:    o Build VIO version of PE (PEC.EXE)
  703.     - TOOLS\INSTALL:
  704.                 o Add PEC.EXE to installation package
  705.  
  706.  2000-10-18: Sander van Leeuwen <sandervl@xs4all.nl>
  707.     - USER32:   o Fixes for GetWindowPlacement & SetWindowPlacement
  708.                   (min & max position are initially -1, rcNormalPosition
  709.                    equals window rectangle)
  710.                   (Verified in NT4, SP6)
  711.                 o Started with implementation of ToAscii (Putty needs it)
  712.                 o Somebody needs to rewrite our keyboard handling...
  713.     - KERNEL32: o Add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
  714.                   during install
  715.                 o Removed test code from ::WriteFile (printed buffer)
  716.                 o Fixed closing of memory maps; delete object if no views left (CloseHandle)
  717.                   (fixes sharing violation in VAC Java install)
  718.                 o Don't use dprintf during guard page violation -> hangs
  719.                   thread when it occurs during dprintf.
  720.  
  721.  2000-10-18: Michal Necasek <michalnec@volny.cz>
  722.     - KERNEL32: o Ignore dwFlags in LoadLibraryExA for LX images
  723.                   (used to fail)
  724.  
  725.  2000-10-17: Sander van Leeuwen <sandervl@xs4all.nl>
  726.     - USER32:   o Added system menu option to trigger int 3 in debug build
  727.  
  728.  2000-10-17: Michal Necasek <michalnec@volny.cz>
  729.     - USER32:   o Changed color value for inactive caption gradient
  730.  
  731.  2000-10-17: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  732.     - Win32k:   o Corrected dependency rules (dep).
  733.  
  734.  2000-10-16: Michal Necasek <michalnec@volny.cz>
  735.     - GDI32:    o Set color masks in GetDIBits for 16, 24 or 32 bits bitmaps
  736.                   (Open32 'forgets' this)
  737.  
  738.  2000-10-16: Sander van Leeuwen <sandervl@xs4all.nl>
  739.     - USER32:   o Fix for SC_CLOSE handling (destroying controls) and added
  740.                   check to prevent beep when pressing Alt-F4.
  741.                 o SendInternalMessageA/W should check if the destination
  742.                   window procedure belongs to a different thread or process
  743.                   and use OSLibSendMessage (WinSendMsg) if true.
  744.     - KERNEL32: o LoadLibraryExA fix for dlls that have the same name as the
  745.                   executable
  746.                 o Fix for fixups in TLS section + callback fixups were wrong.
  747.                 o Added code to check if the exception handler didn't already apply
  748.                   fixups to the addresses in the TLS section. If true, then
  749.                   search for os/2 virtual address and don't manually apply fixups
  750.                    for tls index & callback addresses.
  751.                    (fixes IBM VAC for windows tools)
  752.     - RPCRT4:   o Added NdrDllRegisterProxy & NdrDllUnregisterProxy stubs
  753.     - GDI32:    o Fixed FS corruption in font & dda callbacks; need to switch
  754.                   to win32 selector before calling win32 code.
  755.  
  756.  2000-10-11: Sander van Leeuwen <sandervl@xs4all.nl>
  757.     - KERNEL32: o TLS callback fix + modify TLS callback pointers for new base address
  758.     - USER32:   o Fix for GetWindow(GW_HWNDFIRST); returned os/2 wnd handle instead
  759.                   of Odin handle (reported by Michal Necasek)
  760.  
  761.  2000-10-10: Sander van Leeuwen <sandervl@xs4all.nl>
  762.     - KERNEL32: o Print date and time of build during init (log)
  763.                 o Create system32\drivers directory during install
  764.                 o Implemented LOAD_LIBRARY_AS_DATAFILE & DONT_RESOLVE_DLL_REFERENCES
  765.                   LoadLibraryExA/W features. Removed fake image class; put
  766.                   it in the pe loader class instead.
  767.                   LoadLibraryExA now also works for executables
  768.                   (implies LOAD_LIBRARY_AS_DATAFILE & DONT_RESOLVE_DLL_REFERENCES)
  769.                 o Rewrote GetVersionSize/Struct to use LoadLibraryExA.
  770.     - MSVCRT:   o Put WriteLog call in util.asm in IFDEF DEBUG statement
  771.     - INCLUDE\makefiles
  772.                 o Add -D:DEBUG to alp command line for debug build
  773.  
  774.  2000-10-10: Michal Necasek <michalnec@volny.cz>
  775.     - WINMM:    o Timers: Don't reset TimerStatus in timer thread; timer may
  776.                   have already been started.
  777.  
  778.  2000-10-09: Yuri Dario <mc6530@mclink.it>
  779.     - USER32:   o Corrected background brush for MDI windows
  780.  
  781.  2000-10-09: Patrick Haller <phaller@gmx.net>
  782.     - KERNEL32: o Fixed console bug (left offset) reported by Michal
  783.  
  784.  2000-10-09: Michal Necasek <michalnec@volny.cz>
  785.     - KERNEL32: o IsValidLocale; don't check for kernel32 resources (that aren't there)
  786.                 o Always return true for now -> winhlp32 no longer complains about
  787.                   different languages when loading helpfiles
  788.  
  789.  2000-10-09: Sander van Leeuwen <sandervl@xs4all.nl>
  790.     - USER32:   o FrameTrackFrame fix for child windows
  791.                 o Ported Wine's ShowOwnedPopups (not tested)
  792.     - KERNEL32: o Check for name value -1 in getResSubDirA/W; previously interpreted
  793.                   as a string pointer resulting in a crash in Quicken.
  794.                 o TLS sections must be read/write as they can contain the
  795.                   TLS index value (i.e. VACPPWIN ilink + ilib)
  796.                 o Rewrote GetCurrentDirectoryA due to bugs in Open32's version
  797.                   (returns 0 if bufsize < 3 -> should return required length)
  798.  
  799.  2000-10-08: Sander van Leeuwen <sandervl@xs4all.nl>
  800.     - USER32:   o GetMinMaxInfo fix for windows with both WS_THICKFRAME and
  801.                   WS_BORDER style (differs from Wine; see comment in win32basepos.cpp
  802.                   Win32BaseWindow::GetMinMaxInfo)
  803.                 o Fix for CS_OWNDC windows (origin of client window needs to be changed
  804.                   after window size/position changes)
  805.                 o Fix for ShowScrollBar (enabling/disabling both scrollbars at once did not work (vert))
  806.                 o AdjustWindowRectEx fix:
  807.                   Scrollbars aren't checked *UNLESS* the style includes a border (any border)
  808.                   --> VERIFIED IN NT4, SP6 (fixes MFC apps with scrollbars + bar controls)
  809.     - KERNEL32: o Do not export the toolhelp apis; NT4 doesn't do that. (only win9x)
  810.  
  811.  2000-10-07: Markus Montkowski <mmontkowski@gmx.de>
  812.     - GDI32:    o Fixed bitblt, it used the size of the source DC
  813.                   when no destwindow was found. this doesn't work
  814.                   for bitblt between dibsections if the dest is larger.
  815.                   so now it checks if the dest DC belongs to a dibsection
  816.                   and uses sets hdcHeight/Width to the size of the dibsection.
  817.                   Added GetWidth() member function for this.
  818.                   Fixes: Civilisation Test of Times
  819.  
  820.  2000-10-06: Sander van Leeuwen <sandervl@xs4all.nl>
  821.     - KERNEL32: o PE loader: no longer rely on section names, but on image
  822.                   directories instead
  823.                 o Init console earlier. (before exe is loaded; some dlls want
  824.                   to send output to the console while they're being loaded)
  825.                 o EnumResourceNamesW/EnumResourceTypesW fixes (strings not terminated)
  826.                 o CreateProcessA/W fix for setting current directory of new process;
  827.                   Open32 ignores lpCurrentDirectory parameter
  828.     - PELDR:    o Special parameter for setting current directory added (/OPT[CURDIR=x])
  829.     - USER32:   o Ignore class background brush in DefDlgProc for WM_ERASEBKGND
  830.                   (always use GetSysColorBrush(COLOR_BTNFACE))
  831.                   (Wine does this and it fixes the 1st dialog of the Netscape 6 install)
  832.                 o OemToCharBuffA fix; put back special characters that got translated
  833.                   to 0xff (fixes Netscape 6 install license edit control)
  834.  
  835.  2000-10-05: Michal Necasek <michalnec@volny.cz>
  836.     - KERNEL32: o FormatMessageA/W fix; message ids can be larger than 65535
  837.                   (VACPPWIN)
  838.  
  839.  2000-10-05: Sander van Leeuwen <sandervl@xs4all.nl>
  840.     - KERNEL32: o Don't print FS warnings for OS/2 Odin applications
  841.                 o EnumResourceNamesA fix (zero terminate resource name)
  842.     - USER32:   o GetWindow GW_CHILD & GW_HWNDFIRST fixes
  843.                 o EnumDisplaySettingsA; always set refresh rate to 70hz
  844.                 o Z-order bugs fixed; GetWindow returns windows in correct order now
  845.                   hack for groupbox (clipsiblings) no longer necessary. Same
  846.                   goes for adding WS_CLIPSIBLINGS style for dialog controls.
  847.                 o Re-enabled usage of invalid region instead of invalid rectangle
  848.                   in BeginPaint -> lots of paint problems gone (i.e. winzip)
  849.  
  850.  2000-10-05: Michal Necasek <michalnec@volny.cz>
  851.     - KERNEL32: o Fixes for exception handling (as done by MSVCRT)
  852.  
  853.  2000-10-05: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  854.     - Tools\Common:
  855.                 o Implemented read and write buffering for class kFile
  856.                   to speed up kDef2Wat and ImpDef.
  857.  
  858.  2000-10-04: Sander van Leeuwen <sandervl@xs4all.nl>
  859.     - KERNEL32: o Added forwarder support for PE loader (required for msvcrt40.dll)
  860.  
  861.  2000-10-04: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  862.     - Tools\ImpDef:
  863.                 o Corrected wrong DESCRIPTION statement.
  864.                 o Corrected exception when processing src\icmp\icmp.def.
  865.  
  866.  2000-10-03: Sander van Leeuwen <sandervl@xs4all.nl>
  867.     - Include\uniconv.h
  868.                 o FS wrappers for Unicode api
  869.     - Include\heapstring.h:
  870.                 o strcasecmp & strncasecmp are case insensitive (fixes
  871.                   profile apis (and probably some other things too))
  872.     - KERNEL32: o Calculate cpu speed and set HARDWARE\DESCRIPTION\System\CentralProcessor\x\~Mhz key
  873.                 o Added GetFileType method to conin/out which return FILE_TYPE_CHAR
  874.                 o Create new keys during installation:<pre>
  875.                   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdfs]
  876.                   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Cdrom]</pre>
  877.                 o Fix for failure during DLL_PROCESS_ATTACH for LX system
  878.                   dlls (pe loader). Didn't fail properly before.
  879.                 o Check if executable exists in CreateProcessA; fixes VMWare
  880.                   installation
  881.                 o InitCommandLine fix (forgot to copy cmd line)
  882.     - USER32:   o Fix for EDIT_WM_Char (couldn't type in numbers anymore)
  883.                 o EnumDisplaySettingsA accepts negative indices
  884.     - ADVAPI32: o Cleanup
  885.  
  886.  2000-10-03: Michal Necasek <michalnec@volny.cz>
  887.     - KERNEL32: o Fix for HMGetFileType. Must return FILE_TYPE_CHAR for standard
  888.                   handles (in/out/error)
  889.  
  890.  2000-10-03: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  891.     - Watcom makefiles:
  892.                 o Wrote a converter tool to make wlink input from .def files.
  893.                   tools/common - kDef2Wat.exe (Need VA C to compiler currently)
  894.                 o Found a problem with Watcom when trying to link
  895.                   advapi32.dll; It mangles the __stdcall function when
  896.                   they aren't prototyped/delcared extern "C". Haven't found
  897.                   any solution to this, other than prototyping the
  898.                   APIs within extern "C" { }.
  899.  
  900.  2000-10-02: Sander van Leeuwen <sandervl@xs4all.nl>
  901.     - SHLWAPI:  o Rewrote VERSION_OsIsUnicode (same as SHELL_OsIsUnicode now)
  902.     - RICHED32: o 'Handle' WM_SETTEXT messages. Wine's richedit dll is very
  903.                   incomplete. It's better to use the native windows version.
  904.     - KERNEL32: o Ported Wine's LoadModule (previously used Open32)
  905.                 o Changed version apis
  906.                 o You can now tell Odin to pretend to be Windows 98 or
  907.                   Windows NT 4.0 (default = NT40)
  908.                   Odin.ini:
  909.                   [WinVersion]
  910.                   Version=Win98
  911.     - OLE32:    o Added stubs for CoGetInstanceFromFile & CoGetInstanceFromIStorage
  912.     - KERNEL32, WSOCK32, WINMM, include\odinwrap.h, SHLWAPI, WNASPI32:
  913.                 o Changes/fixes for new ODINFUNCTION macros
  914.  
  915.  2000-10-02: Patrick Haller <phaller@gmx.net>
  916.     - *:        o major change in ODINWRAP macros
  917.                   and (all) affected sources
  918.     - GDI32:    o fixed possible error in text.cpp (strrchr)
  919.     - WNETAP32: o started implementation of LAN Manager support :)<br>
  920.                   NetApiBuffer*<br>
  921.                   NetStatisticsGet<br>
  922.                   NetWkstaGetInfo<br>
  923.     - KERNEL32: o added HEAP_size export
  924.  
  925.  2000-10-02: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  926.     - KERNEL32: o Fixed Pe2Lx (ie. Win32k) TLS problem. Beyond Compare works.
  927.     - Common:   o Added very limited dump capability to kFilePE. (Used to
  928.                   understand TLS.)
  929.     - Win32k    o Added symbols for kernel 14050 (Warp4) and 14054
  930.                   (Warp4, WS4eB SMP and UNI).
  931.  
  932.  2000-10-01: Patrick Haller <phaller@gmx.net>
  933.     - KERNEL32: o Optimization of PROFILE calls
  934.     - GDI32:    o Fix for uncompressed/RGB bitmaps (biSizeImage == 0)
  935.     - WINMM:    o Fix for timer logic - timers still quite untested
  936.  
  937.  2000-10-01: Sander van Leeuwen <sandervl@xs4all.nl>
  938.     - KERNEL32: o Fixed bug introduced by recent command line changes
  939.                   (executables with spaces in name/dir)
  940.     - GDI32:    o Implemented AddFontResourceW
  941.  
  942.  2000-10-01: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  943.     - Win32k:   o Added IOCtl API for Reading or Writing into another process'
  944.                   address space. (*ProcessReadWrite)
  945.                   This is intended used to implemented ReadProcessMemory and
  946.                   WriteProcessMemory (which is essensial to debuggers I think).
  947.                   I'll implementet them soon, but it sees that it'll
  948.                   require more changes in process.c that I first thought.
  949.                 o Simplified maintaince of kernel imports. (mkcalltab)
  950.                   Removed unused imports.
  951.  
  952.  2000-09-29: Sander van Leeuwen <sandervl@xs4all.nl>
  953.     - USER32: Edit control fix; Ignore WM_SETTEXT if string is the same.
  954.               Acrobat Distiller keeps on sending WM_SETTEXT with the
  955.               same string in responds to a WM_COMMAND with EN_UPDATE -> stack
  956.               overflow (TODO: Need to check if this behaviour is correct compared to NT)
  957.  
  958.  2000-09-29: Achim Hasenmueller <achimha@innotek.de>
  959.     - COMCTL32: Added _TrackMouseEvent export for VisualAge Micro Edition
  960.                 Added SmoothScroll implementation from WINE
  961.  
  962.  2000-09-29: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  963.     - INCLUDE\pdwin32.*:
  964.                 -First attempt on new makefile style.
  965.                  (See advapi32 or dllentry for an example.)
  966.                 -Made .tools and .post compiler specific (Watcom adoptions).
  967.                 -Watcom WMAKE likes the new makefile style, but only in UNIX
  968.                  mode. So, you'll have to specify "-u" at the commandline.
  969.                  Nothing links yet.
  970.                  Anyone know if wlink would except .DEF-files? If not I'll
  971.                  have to write a .DEF -> wlink options converter (trivial
  972.                  since we has a class for parsing .DEF-files).
  973.                 -Changed object directories for VAC36 and Watcom:
  974.                     debug.vac36, release.vac36, debug.wat, release.wat.
  975.                  But before you are able to compile much, you'll have to
  976.                  manually create the global directories
  977.                  bin\debug.vac36 and bin\release.vac36  or
  978.                  bin\debug.wat and bin\release.wat.
  979.     - ADVAPI32: New makefile style example.
  980.     - DLLENTRY: New makefile style. Watcom object file (but not very useful).
  981.       (don't hope I've broken anything)
  982.  
  983.  2000-09-28: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  984.     - INCLUDE\pdwin32.wat.tools:
  985.                 Placed .asm and .orc before .cpp in the .SUFFIXES list
  986.                 to be able to make resource objectfiles.
  987.  
  988.  2000-09-26: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  989.     - Win32k: Corrected H2INC path in the makefile.
  990.  
  991.  2000-09-25: Michal Necasek <michalnec@volny.cz>
  992.     - DDRAW, DDRAW\new: Fixed way too many bugs in asmutil.cpp. Both
  993.              the MMX and non-MMX transparent blitting functions were
  994.              incredibly buggy. They probably still are, but _much_ less
  995.              so. This fixed mouse pointer in Master of Orion II among other
  996.              things (but the Win95 version of MOO2 is simply buggy anyway).
  997.              Also fixed one case of FS corruption in DDRAW\new.
  998.  
  999.  2000-09-25: Patrick Haller <phaller@gmx.net>
  1000.     - KERNEL32: GlobalMemoryStatus does no more rely on Open32 (experiment for AOE)
  1001.                 This version should "provide" more memory.
  1002.  
  1003.  2000-09-24: Markus Montkowski <mmontkowski@gmx.de>
  1004.     - DPLAYX
  1005.       INCLUDE\win\dplay.h
  1006.       INCLUDE\winpdlobby.h : Synced with latest WINE source,
  1007.                              should fix some DX version checking via COM interfaces (like in AOE)
  1008.  
  1009.  2000-09-22: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  1010.     - GLU32:    - Changed sorter.cpp to eliminate compiler error
  1011.     - OPENGL32: - Minor change to glthread.c
  1012.  
  1013.  2000-09-22: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1014.     - Win32k/Pe2Lx:
  1015.                -Always apply all-in-one-object aligment fix. This will
  1016.                 solve lots of problems. (Hopefully temporary; I will explore
  1017.                 a VMAllocMem flag for VDMs which allows allocation of
  1018.                 pagealigned objects in the tiled arenas. The flag works
  1019.                 as expected but I get IPEs during process cleanup...)
  1020.                -Corrected bug in applyFixups. Fixups was not applied when
  1021.                 the all-in-one-object aligment fix was applied.
  1022.                -The problem with the build 14053 (testcase) kernels is solved.
  1023.                 ldrOpenPath have got an addition parameter. Symbols added
  1024.                 to the SymDB.
  1025.                -Win32k.sys build now requires h2inc.exe is present in
  1026.                 the tools directory of the base DDK.
  1027.     - KERNEL32: Changed Pe2Lx to use module address (address of the header
  1028.                 object) as hinstance. Some programs depends on this.
  1029.     - opengl\glu\nurbs\internals: Turned off optimization. Internal
  1030.                 compiler error in release mode compiling sorter.cpp.
  1031.  
  1032.  2000-09-21: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1033.     - INCLUDE\makefiles: Made cleanrule omittable by defining NOCLEAN.
  1034.     - Pe2Lx:    Corrected/Made cleanrule.
  1035.     - Win32k:   New Microsoft C fix. Invokes it with no environment. Thanks goes to
  1036.                 Serge Sterck for this discovery. I hope it works out well.
  1037.  
  1038.  
  1039.  2000-09-20: Markus Montkowski <mmontkowski@gmx.de>
  1040.     - KERNEL32: Implemented COM-port APIs
  1041.                 Enhanced handlemanager to support device and handle data (for COM ports)
  1042.                 Added IOCTL to oslibdos
  1043.     - INCLUDE\handlemanager.h os2win.h win32type.h: added COM definitions
  1044.  
  1045.  2000-09-19: Michal Necasek <mike@mendelu.cz>
  1046.     - INCLUDE\makefiles: disable C++ exception handling code generation (FS:0 changes)
  1047.  
  1048.  2000-09-16: Sander van Leeuwen <sandervl@xs4all.nl>
  1049.     - KERNEL32: Fixed matchModName bugs. (compare name without extension)
  1050.     - WNASPI32: Restore win32 FS selector before calling post procedure
  1051.  
  1052.  2000-09-16: David Raison <djr@lemur.co.uk>
  1053.     - OLE32: Further updates from Wine
  1054.              IMessageFilter stubs.
  1055.     - OLEAUT32: Updates from Wine
  1056.              ITypeComp stubs.
  1057.  
  1058.  2000-09-16: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1059.     - Tools\dbginfo: Solved DosCall1.DLL problem. Successfully creates HLL
  1060.                 HLL debuginfo from .SYM files and add it to LX files.
  1061.  
  1062.  2000-09-15: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1063.     - KERNEL32: Corrected logging for GetModuleFileNameA/W (a handle and
  1064.                 a string pointer was mixed - which proved fatal with
  1065.                 logging enabled).
  1066.  
  1067.  2000-09-15: David Raison <djr@lemur.co.uk>
  1068.     - OLE32: Updates from Wine
  1069.  
  1070.  2000-09-15: Sander van Leeuwen <sandervl@xs4all.nl>
  1071.     - WNASPI32: Open and initialize aspirout during dll load; doing this
  1072.                 for *every* aspi command is very inefficient.
  1073.                 Not possible to share aspirout now, but that could be fixed
  1074.                 later on.
  1075.     - KERNEL32: Bug in recent exception handler changes; nested exception
  1076.                 are allowed to be dispatched to Odin's handlers. (PE loader
  1077.                 depends on it -> fixes crash in Lotus Notes)
  1078.                 Export WriteLogNoEOL
  1079.  
  1080.  2000-09-14: Sander van Leeuwen <sandervl@xs4all.nl>
  1081.     - WNASPI32: Fixed uninitialized variables in aspirout class
  1082.                 Fixed memory leaks (aspi object not deleted when something goes wrong)
  1083.     - KERNEL32: Implemented IOCTL_SCSI_GET_ADDRESS (not perfect; only works
  1084.                 for cdrom/dvd drives and only the first one)
  1085.  
  1086.  2000-09-13: Sander van Leeuwen <sandervl@xs4all.nl>
  1087.     - KERNEL32: InitCommandLine corrupted the heap
  1088.                 Created HandleManager class for physical disks
  1089.     - GDI32:    StretchDIBits: Open32 always returns height of bitmap (regardless of how many
  1090.                 scanlines were copied); now corrected
  1091.     - WNASPI32: Fixed FS corruption
  1092.  
  1093.  2000-09-13: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1094.     - KERNEL32: Added method matchModName to Win32ImageBase.
  1095.                 Used matchModName in LoadLibraryExA.
  1096.                 Documented and enhanced GetModuleFileNameA/W.
  1097.     - Win32k:   Display build time and date on verbose init.
  1098.                 Made sure build time and date is updated everytime
  1099.                 it's relinked.
  1100.  
  1101.  2000-09-12: Sander van Leeuwen <sandervl@xs4all.nl>
  1102.     - KERNEL32: GetCommandLine changes broke LX executable support. Fixed now.
  1103.  
  1104.  2000-09-12: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1105.     - KERNEL32: Rewrote GetCommandLineA/W. Don't depend on Open32 any longer.
  1106.                 The commandline strings are moved to global variables in
  1107.                 wprocess.cpp.
  1108.                 Added/extended some OSLib calls.
  1109.  
  1110.     - Wink32:   When invoking PE.EXE the first argument (Win32 exe name)
  1111.                 should be in quotes.
  1112.                 This is not yet corrected for the other invokers. (Scripts/Java).
  1113.  
  1114.  2000-09-09: Sander van Leeuwen <sandervl@xs4all.nl>
  1115.     - KERNEL32: Don't dispatch exceptions after application has called
  1116.                 ExitProcess. (fixes endless loop of exception handler calls
  1117.                 in RealPlayer 7)
  1118.                 Create more registry keys during installation:
  1119.                 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
  1120.                 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
  1121.                 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\iexplore.exe
  1122.                 GetFileAttributesA trashes the stack (EBX register corrupted after return)
  1123.                 If CreateFile fails to duplicate the handle, then try DosDupHandle
  1124.                 (DuplicateHandle for memory mapped files in IE5)
  1125.                 Set dwCreation flag to OPEN_EXISTING for DuplicateHandle (memory mapped files)
  1126.     - PE:       Endless loop when it can't find executable with name in quotes
  1127.  
  1128.  2000-09-08: Michal Necasek <mike@mendelu.cz>
  1129.     - KERNEL32: Changes and fixes for exception handling (now dispatches
  1130.                 exceptions to win32 apps)
  1131.  
  1132.  2000-09-08: Sander van Leeuwen <sandervl@xs4all.nl>
  1133.     - KERNEL32: Implemented EnumResourceLanguagesA/W
  1134.                 Put back some code that was changed. (environ.cpp & heap.cpp)
  1135.     - GDI32:    Fixed FS bug in OSLibDeleteRegion
  1136.     - USER32:   Removed wrapper for GetWindow; not required
  1137.  
  1138.  2000-09-07: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1139.     - Win32k:   Added last FP14 kernel to Symbol database.
  1140.                 Splitted extract.c from Probkrnl.c. Removed old debug
  1141.                 code from Probkrnl.c (Probkrnl.exe) - use win32ktst.exe
  1142.                 for Ring-3 testing now.
  1143.                 Added filehandle fix for MSC60a compiler. (fix don't work!)
  1144.  
  1145.  2000-09-07: Patrick Haller <phaller@gmx.net>
  1146.     - KERNEL32: Fixed some FS: bugs in time.cpp, environ.cpp, heap.cpp
  1147.                 Fixed language support from WINE sync
  1148.     - GDI32:    Fixed some FS: bug in DeleteObject(), DeleteDC()
  1149.  
  1150.  2000-09-07: Sander van Leeuwen <sandervl@xs4all.nl>
  1151.     - COMCTL32: TOOLBAR_SetBitmapSize & TOOLBAR_SetBitmapSize; do not return
  1152.                 FALSE when called after buttons have been created.
  1153.                 (failed assertions in MFC applications; this code is from
  1154.                  the latest Wine source tree)
  1155.     - SHELL32:  Merged more changes made by Christoph into new tree
  1156.     - KERNEL32: InitDirectories must be called before InitializeTIB or else
  1157.                 a win.ini file is created in the root dir (InitializeTIB
  1158.                 loads ntdll which depends on user32)
  1159.                 (reported by Kai Sommerfeld)
  1160.     - USER32:   GetWindow was completely wrong. Didn't take Z-order into account.
  1161.                 Fixes MFC applications (missing controls + redraw problems)
  1162.  
  1163.  2000-09-06: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1164.     - install:  Added Win32kCC.exe and kRx.EXE to the .wpi distributions.
  1165.  
  1166.  2000-09-05: Sander van Leeuwen <sandervl@xs4all.nl>
  1167.     - USER32:   WM_PARENTNOTIFY during WM_CREATE was sent to the wrong window
  1168.                 WM_FOCUSCHANGE fix; set & kill focus were sent twice
  1169.                 Added more logging.
  1170.                 Activate window after resizing (WM_WINDOWPOSCHANGED in pmwindow.cpp)
  1171.     - KERNEL32: Workaround for RegSetValueA; a call to this api in Netscape
  1172.                 fails with error 8 due to a 0 size of the key data
  1173.                 HMOpenFile fix; pHMHandleData->dwCreation must be set
  1174.                 to OPEN_EXISTING or else the memory map class will fail
  1175.                 to duplicate the handle.
  1176.  
  1177.  2000-09-04: Sander van Leeuwen <sandervl@xs4all.nl>
  1178.     - KERNEL32: GetDiskFreeSpaceExA: added support for 64 bits disk size
  1179.                 Rewrote GetDiskFreeSpace (no longer uses Open32)
  1180.     - USER32:   SetWindowLong GWL_WNDPROC changes/fixes
  1181.                 Type of SetWindowLong determines new window proc type
  1182.                 UNLESS the new window proc has already been registered
  1183.                 (use the old type in that case) (VERIFIED in NT 4, SP6)
  1184.                 Return original window procedure if types match (SetWindowLongX & proc type)
  1185.                 otherwise window proc wrapper.
  1186.                 Fixes wrong strings in Notes 5.0. (new string problems, but they
  1187.                 are caused by something else)
  1188.     - COMCTL32: CreateUpDownControl was not exported correctly
  1189.                 (reported by Reinhold Kopper)
  1190.  
  1191.  2000-09-04: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1192.     - Win32k:   Improved error reporting.
  1193.                 Corrected fatal bug in the QueryOptionsStatus IOCtl,
  1194.                 had forgotten three SSToDS()...
  1195.  
  1196.  2000-09-04: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1197.     - doc/readme.txt: Updated Win32k sections.
  1198.     - Win32k:   Fixed missing object in the 16-bit clib.lib which caused
  1199.                 linking of win32k.sys to fail in last daily build.
  1200.                 Support for comport 3 and 4.
  1201.     - Win32kCC: Updated dialog to show all information provided by the
  1202.                 Win32k IOCtl interface.
  1203.     - Include/HandleManager.h:
  1204.                 Added prototype for HMDeviceIoControl which Sander forgot.
  1205.  
  1206.  2000-09-03: Patrick Haller <phaller@gmx.net>
  1207.     - KERNEL32: NLS sync with WINE
  1208.  
  1209.  2000-09-03: Sander van Leeuwen <sandervl@xs4all.nl>
  1210.     - KERNEL32: More logging;
  1211.                 DeviceIoControl didn't have handlemanager wrapper
  1212.     - GDI32:    Missing wrapper for WinDrawTabbedText caused FS corruption.
  1213.                 PLEASE be more careful in the future!
  1214.  
  1215.  2000-09-02: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1216.     - Win32k:   Finally. I've merged the new changes into the main branch.
  1217.                 The most important things are:
  1218.                     - More correct search order for DLLs. The differences are
  1219.                       now that _ALL_ DLLs are found using the Windows search
  1220.                       order, and that the LIBPATH are also searched (last).
  1221.                     - PE.EXE may be invoked by Win32k.sys.
  1222.                       Win32k.sys will now operate in three modes:
  1223.                         - Pe2Lx mode. Only the Pe2Lx method is used.
  1224.                         - Mixed Pe2Lx and Pe.exe mode. Pe.exe is invoked for
  1225.                           executables which Pe2Lx don't currently support.
  1226.                           (like WinWord, which BTW may trap you PC if invoked
  1227.                           in Pe2Lx mode.)
  1228.                           This is the default mode.
  1229.                         - Pe.exe mode. Pe.exe is allways used.
  1230.                       (see readme.txt, I'll update it to ASAP but not to night.
  1231.                        (I tired after working 36 hours on finishing this...)
  1232.                     - UNIX Shell Scripts are working (now).
  1233.                     - JAVA invokation. If you try to load a JAVA class the
  1234.                       it is executed using java.exe. (note that the class
  1235.                       name is case sensitive!)
  1236.                     - Pure REXX. This one is for Nenad. .RX and .REX are
  1237.                       loaded using a tiny REXX starter, kRX.exe (found in
  1238.                       System32 directory).
  1239.                     - Win32k Control Center, Win32kCC.EXE. Simple PM
  1240.                       program which allows you to change the Win32k.SYS
  1241.                       options while running. It does also show some status
  1242.                       information (will be extended).
  1243.                     - Support for FP14 in the Symbol database.
  1244.                       (use the 09th Aug. kernel please).
  1245.  
  1246.     - KERNEL32: Speeded up loading by using Win32k.sys IOCtl to get
  1247.                 objecttable entries (OTE) for the Pe2Lx executable images,
  1248.                 instead of using DosQuerySysState (which gets OTEs for all
  1249.                 modules in the entrie system). (This is the reason for the
  1250.                 win32k.lib file - it's made by the 'libs' rule from src.)
  1251.  
  1252.  2000-09-02: Sander van Leeuwen <sandervl@xs4all.nl>
  1253.     - USER32:   Rewrote IsZoomed
  1254.                 Removed winzip invisible button fix; causes many repaint
  1255.                 problems. Need to find the real cause.
  1256.     - DDRAW:    More debug logging; implemented ClipGetClipList
  1257.     - WINMM:    mixerGetID fix (for NULL hmixer)
  1258.  
  1259.  2000-09-01: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1260.     - INCLUDE:  Shut up the OS/2 resource compiler (added -n to OS2RCFLAGS).
  1261.                 Added linkage macro for the OS2RC which exepacks the resource
  1262.                 object: OS2RCLFLAGS
  1263.  
  1264.  2000-09-01: Patrick Haller <phaller@gmx.net>
  1265.     - GDI32:  - Open32 fix for CreateDIBitmap: some apps claim they have
  1266.                 a bitmap w/o palette color table and then send one in to copy.
  1267.     - USER32: - PMWINDOW.CPP: WM_FOCUSCHANCE - validate GetTopParent() handle
  1268.  
  1269.  2000-08-31: Sander van Leeuwen <sandervl@xs4all.nl>
  1270.     - DDRAW:    Extra debug logging
  1271.                 GetFourCCCodes should return nr of codes returned (always)
  1272.                 QueryInterface; don't change the vtbl of the directdraw object
  1273.                 return pointer to new virtual table instead
  1274.                 (fixes crashes in dxview)
  1275.                 Don't setup DirectDraw3D interface when creating IID_IDirect3D object
  1276.                 (fixes another crash in dxview.exe)
  1277.                 Video memory set to zero for HEL caps + no DDCAPS_COLORKEYHWASSIST
  1278.                 Fixed HEL caps. (dwFXcaps)
  1279.                 Fixed Driver caps (memset for HEL caps overwrote driver structure)
  1280.                 Export DirectDrawCreateEx
  1281.     - KERNEL32: Level 2 logging for GetLastError (if lasterror != 0)
  1282.     - INCLUDE:  Header updates for compiling directx applets in OS/2
  1283.  
  1284.  2000-08-31: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  1285.     - KERNEL32: Create more class registry keys during installation
  1286.                 (for shell32 & IE)
  1287.  
  1288.  2000-08-30: Sander van Leeuwen <sandervl@xs4all.nl>
  1289.     - GDI32:    Workaround in StretchDIBits for PowerDVD (fixes wrong colors)
  1290.     - USER32:   WM_SETFOCUS fix (window can become invalid during processing)
  1291.                 (rename folder in file open dialog -> click outside editbox
  1292.                  -> crash)
  1293.     - SHELL32:  Complete merge with latest Wine shell32 
  1294.                 (fixes weird file open/save dialog box behaviour)
  1295.                 Odin changes/additions in separate files or in #ifdef __WIN32OS2__
  1296.                 statements
  1297.  
  1298.  2000-08-29: Michal Necasek <mike@mendelu.cz>
  1299.     - INCLUDE:  Watcom makefile fixes
  1300.     - ADVAPI32: Sample watcom makefile for advapi32 (not finished)
  1301.                 
  1302.  2000-08-28: Michal Necasek <mike@mendelu.cz>
  1303.     - KERNEL32: RaiseException/RtlUnwind fixes
  1304.  
  1305.  2000-08-26: Sander van Leeuwen <sandervl@xs4all.nl>
  1306.     - SHELL32:  Open/Save dialog fix
  1307.  
  1308.  2000-08-19: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1309.     - KERNEL32: PROFILE_LoadOdinIni use kernel32Path not reload KERNEL32
  1310.                 using LoadLibraryA. Internal paths are not initated yet,
  1311.                 so LoadLibraryA migth end up loading the wrong DLL
  1312.                 (Which happend for me, a NT edition of kernel32 was loaded.)
  1313.     (- Win32k:  Works ok, will merge the changes into the main branch soon.)
  1314.  
  1315.  2000-08-25: Sander van Leeuwen <sandervl@xs4all.nl>
  1316.     - KERNEL32: Create DirectX registry keys during installation
  1317.     - SHFOLDER: Compile fix
  1318.  
  1319.  2000-08-24: Sander van Leeuwen <sandervl@xs4all.nl>
  1320.     - USER32:   Export wvsnprintfW
  1321.     - SHLWAPI:  Merged with latest Wine code (20000801); separated added/changed
  1322.                 functions to ease resync in the future
  1323.                 Removed all AW exports; they belong in shell32
  1324.                 More functions exported (Wine additions)
  1325.                 Changed File and Product version to 5.00.2919.6304 (NT4, SP6 + IE 5.01)
  1326.     - SHELL32:  Merged Wine's shellpath.c
  1327.                 More exports (forwarders to shlwapi)
  1328.                 StrRetToStrNA fix
  1329.                 Changed File and Product version to 5.00.2919.6304 (NT4, SP6 + IE 5.01)
  1330.     - SHFOLDER: Added (forwarder dll for SHGetFolderPathA/W for now)
  1331.                 Version based on NT 4 SP6 + IE 5.01 (5.00.2919.6304)
  1332.  
  1333.  2000-08-23: Michal Necasek <mike@mendelu.cz>
  1334.     - KERNEL32: (cpu.c) lpMinimumApplicationAddress should be 4 MB
  1335.  
  1336.  2000-08-22: Patrick Haller <phaller@gmx.net>
  1337.     - MSVCRT: _lock() implemented
  1338.               _unlock() implemented
  1339.               CxxThrowException implemented
  1340.  
  1341.  2000-08-20: Sander van Leeuwen <sandervl@xs4all.nl>
  1342.     - INCLUDE, COMDLG32, SHLWAPI:
  1343.                 Compile errors introduced by shell32 merge fixed
  1344.  
  1345.  2000-08-19: Sander van Leeuwen <sandervl@xs4all.nl>
  1346.     - GDI32:    Changed File and Product version to 0x0400, 0x0565012A (NT4, SP6)
  1347.     - KERNEL32: Changed File and Product version to 0x0400, 0x0565012C (NT4, SP6)
  1348.                 Logging level 2 for GetUserDefaultLCID & GetSystemDefaultLCID
  1349.     - USER32:   Changed File and Product version to 0x0400, 0x05650136 (NT4, SP6)
  1350.     - ADVAPI32: Changed File and Product version to 0x0400, 0x05650119 (NT4, SP6)
  1351.     - COMCTL32: Changed File    version to 0x0551, 0x0B6718A0 (NT4, SP6, IE 5.01) (VERSIONINFO)
  1352.                 Changed Product version to 0x0500, 0x0B6718A0 (NT4, SP6, IE 5.01) (VERSIONINFO)
  1353.                 Changed "FileVersion"    to 5.81 (NT4, SP6, IE 5.01)
  1354.                 Changed "ProductVersion" to 5.00.2919.6304 (NT4, SP6, IE 5.01)
  1355.     - COMDLG32: Changed File and Product version to 0x0400 0x0565013F (NT4, SP6)
  1356.  
  1357.  2000-08-19: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1358.     - KERNEL32: Made win32k.sys resource sections writable.
  1359.  
  1360.  2000-08-18: Sander van Leeuwen <sandervl@xs4all.nl>
  1361.     - GDI32:    Added support for level 2 debug logging
  1362.                 Ported Wine's CreateHalftonePalette
  1363.                 Added more logging
  1364.                 Added RGB565 -> RGB555 conversion in sync method of DIB class
  1365.                 (PowerDVD colors still wrong)
  1366.     - KERNEL32: Added display driver keys for PowerDVD video tester applet
  1367.                 Extra logging for GetProcAddress
  1368.     - DDRAW:    Changed File and Product version to 0x0404, 0x05650114 (NT4, SP6)
  1369.     - DSOUND:   Changed File and Product version to 0x0404, 0x056500A4 (NT4, SP6)
  1370.     - DPLAY:    Changed File and Product version to 0x0400, 0x05650001 (NT4, SP6)
  1371.     - DPLAYX:   Changed File and Product version to 0x0406, 0x05650258 (NT4, SP6)
  1372.     - DINPUT:   Changed File and Product version to 0x0404, 0x05650004 (NT4, SP6)
  1373.  
  1374.  2000-08-18: Patrick Haller <phaller@gmx.net>
  1375.     - NTDLL:    roughly synchronized with current WINE
  1376.     - SHELL32:  roughly synchronized with current WINE
  1377.  
  1378.  2000-08-17: Sander van Leeuwen <sandervl@xs4all.nl>
  1379.     - KERNEL32: Only call O32_LoadLibrary if dwFlags == 0 and (LX binary
  1380.                 or win32k process)
  1381.                 GetModuleHandleA fix (uninit. var)
  1382.                 (PowerDVD install no longer complains about running InstallShield)
  1383.     - DSOUND:   Fixed wrong type for dllHandle (caused load failure)
  1384.  
  1385.  2000-08-16: Christoph Bratschi <cbratschi@datacomm.ch>
  1386.     - COMCTL32: propsheet: workaround for PROPSHEET_GetPaddingInfoWizard
  1387.                 design issue
  1388.  
  1389.  2000-08-16: Sander van Leeuwen <sandervl@xs4all.nl>
  1390.     - KERNEL32: Changed search order for resource languages:
  1391.                 According to Wine:
  1392.                 FindResourceA/W does search in the following order:
  1393.                 1. Neutral language with neutral sublanguage
  1394.                 2. Neutral language with default sublanguage
  1395.                 3. Current locale lang id
  1396.                 4. Current locale lang id with neutral sublanguage
  1397.                 5. (!) LANG_ENGLISH, SUBLANG_DEFAULT
  1398.                 6. Return first in the list
  1399.                 FindResourceExA/W does search in the following order:
  1400.                 1. Exact specified language
  1401.                 2. Language with neutral sublanguage
  1402.                 3. Neutral language with neutral sublanguage
  1403.                 4. Neutral language with default sublanguage
  1404.                 (fixes bad string in PowerDVD)
  1405.  
  1406.  2000-08-14: Sander van Leeuwen <sandervl@xs4all.nl>
  1407.     - KERNEL32: Fixed sharing violation errors in OSLibDosCreateFile
  1408.                 (FILE_SHARE_DELETE now included in share flag var)
  1409.                 (fixes error messages when playing files in RealPlayer 7)
  1410.                 TLS fix in PE loader (no .tls section, but valid tls image directory)
  1411.  
  1412.  2000-08-13: Christoph Bratschi <cbratschi@datacomm.ch>
  1413.     - COMCTL32: added propsheet, treeview Corel WINE 20000807 changes
  1414.     - GDI32: activated WinDrawText code
  1415.  
  1416.  2000-08-12: Sander van Leeuwen <sandervl@xs4all.nl>
  1417.     - KERNEL32: Do not set OPEN_ACCESS_READWRITE flag in OSLibDosCreateFile
  1418.                 (if OPEN_ACTION_CREATE_IF_NEW & readonly access)
  1419.                 This was causing access denied errors (using FILE_SHARE_WRITE
  1420.                 on a file on a readonly volume was not causing this; that's allowed)
  1421.                 Removed share mode hack. Caused by the bug mentioned above.
  1422.                 (You can change the file sharing mode when opening the same
  1423.                  file several times in OS/2)
  1424.                 Fixed system dll unload bug.
  1425.                 Extra checks in Win32ImageBase::isPEImage (nr of bytes read is correct or not)
  1426.  
  1427.  2000-08-11: Sander van Leeuwen <sandervl@xs4all.nl>
  1428.     - KERNEL32: Lock/Unlock
  1429.                 64 bits values are only supported by JFS
  1430.                 Try the 32 bits DosSetFileLocks if it fails with ERROR_INVALID_PARAMETER
  1431.                 (TODO: should check the partition type instead)
  1432.                 Build fake dll header for system dlls and use it's address
  1433.                 as instance handle.
  1434.                 VIRTUAL_MapFileA/W: open file in share read/write mode
  1435.                 Fixed  HMDuplicateHandle (check for DUPLICATE_ACCESS_READWRITE)
  1436.                 LoadLibraryExA: if dll name = executable name of current process
  1437.                 -> return handle of exe
  1438.                 (GrandPrix 3 installer does this; verified in NT)
  1439.                 FreeLibrary: if handle = exe handle of current process -> ignore
  1440.     - SRC\*\initterm.cpp
  1441.                 Changed RegisterLxDll call for fake headers.
  1442.     - INCLUDE\misc.h:
  1443.                 Removed versionos2.h dependancy
  1444.     - VERSION\version.cpp
  1445.                 Include versionos2.h
  1446.     - COMCTL32: Put back old property page code (breaks VPBuddy preferences
  1447.                 dialog). SameTime install property sheet now messed up (again).
  1448.  
  1449.  2000-08-10: Patrick Haller <phaller@gmx.net>
  1450.     - KERNEL32: OSLibDosQueryVolumeFS does no more return an error if
  1451.                 the caller is not interested in the volume name.
  1452.                 Console Input handling improved, some correction.
  1453.                 SetConsoleTitleW fixed.
  1454.           NOTE! lstrcpynAtoW and lstrcpynWtoA do no more enforce (erroneous)
  1455.                 string termination.
  1456.                 NT4's CMD.EXE is quite working now.
  1457.  
  1458.  2000-08-09: Sander van Leeuwen <sandervl@xs4all.nl>
  1459.     - KERNEL32: TLS changes (now updates THDB array instead of calling
  1460.                 Open32)
  1461.  
  1462.  2000-08-09: Christoph Bratschi <cbratschi@datacomm.ch>
  1463.     - COMCTL32: added language dependent resources
  1464.  
  1465.  2000-08-08: Christoph Bratschi <cbratschi@datacomm.ch>
  1466.     - COMCTL32: first part of Corel WINE 20000807 changes
  1467.  
  1468.  2000-08-06: Sander van Leeuwen <sandervl@xs4all.nl>
  1469.     - doc\ReportingBugs.txt:
  1470.                 Added a little more information
  1471.     - tools\install
  1472.                 Add Logging.txt + symbol files to debug build.
  1473.  
  1474.  2000-08-04: Sander van Leeuwen <sandervl@xs4all.nl>
  1475.     - KERNEL32: Temporary workaround for differences in share mode between
  1476.                 OS/2 & NT (for opening the same file multiple times):
  1477.                 NT: CreateFile with FILE_SHARE_READ
  1478.                     CreateFile with FILE_SHARE_READ | FILE_SHARE_WRITE
  1479.                     -> 2nd CreateFile overrides share flags of first one
  1480.                     -> CreateFile with GENERIC_WRITE is now allowed
  1481.                 OS2: DosOpen with OPEN_SHARE_DENYWRITE
  1482.                      DosOpen with OPEN_SHARE_DENYNONE
  1483.                      -> sharing violation; can't change share flags while
  1484.                         handle returned by 1st DosOpen isn't closed
  1485.                 --> 'Solution': always open files in FILE_SHARE_DENYNONE mode
  1486.                 (several installation programs depend on this behaviour)
  1487.  
  1488.  2000-08-01: Sander van Leeuwen <sandervl@xs4all.nl>
  1489.     - KERNEL32: Create x:\Program Files & x:\Program Files\Common Files
  1490.                 directories in odininst.exe + extra registry keys:
  1491.                 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion]
  1492.                 "ProgramFilesDir"="x:\Program Files"
  1493.                 "CommonFilesDir"="x:\Program Files\Common Files"
  1494.                 "SharedDir"="x:\Odin"
  1495.     - COMCTL32: Fixed property page bugfix (wrong position) (by merging
  1496.                 latest PROPSHEET_ShowPage from Wine)
  1497.     - DOC\ToDo.txt:
  1498.                 Added:
  1499.                 KERNEL32: Build fake PE headers for odin dlls (dll handle must be pointer to header)
  1500.                           (some applications use the handles as pointers)
  1501.  
  1502.  2000-07-26: Sander van Leeuwen <sandervl@xs4all.nl>
  1503.     - KERNEL32: Don't translate values returned by WaitForSingleObject.
  1504.                 Open32's WaitForSingleObject returns the correct values.
  1505.                 -> breaks a lot of things including RealPlayer 7
  1506.                 (removed bugfix 2000-07-17: fixed return codes for HMWaitForSingleObject)
  1507.     - DOC\ToDo.txt:
  1508.                 Added:
  1509.                 USER32: Fix LoadImage to resize icons, cursors or bitmaps
  1510.                         to the specified dimensions (if required)
  1511.  
  1512.  2000-07-25: Sander van Leeuwen <sandervl@xs4all.nl>
  1513.     - KERNEL32: Added environment setting for disabling wait on exit
  1514.                 for console applications (SET ODIN_AUTOEXITCONSOLE=1)
  1515.     - DOC\ToDo.txt:
  1516.                 Added more unassigned tasks
  1517.  
  1518.  2000-07-22: Sander van Leeuwen <sandervl@xs4all.nl>
  1519.     - DOC\ReportingBugs.txt
  1520.                 Added file that tells users how to report bugs
  1521.     - TOOLS\install: 
  1522.                 Added ReportingBugs.txt to WarpIN script
  1523.     - USER32:   Fixed BeginPaint; set clip region to update region; not update
  1524.                 rectangle -> fixes invisible buttons in winzip install
  1525.     - KERNEL32: Include message in log entry if FS != 0x150b (doesn't always
  1526.                 means FS is trashed though)
  1527.    
  1528.  2000-07-21: Sander van Leeuwen <sandervl@xs4all.nl>
  1529.     - SHLWAPI:  SHGetSpecialFolderPathA: StartMenu changed in 'Start Menu'
  1530.                 (now identical to Windows 98/NT)
  1531.     - TOOLS\install: 
  1532.                 Changed makefile for odininst; standard odin makefile now
  1533.                 Changed warpin script for new odininst location
  1534.  
  1535.  2000-07-20: Sander van Leeuwen <sandervl@xs4all.nl>
  1536.     - USER32:   SetWindowPlacement bugfix for Papyrus (do not change the
  1537.                 current window position)
  1538.                 Fixed FS corruption in CreateCaret
  1539.                 Fixed positioning of caret (needed due to client/frame -> frame window changes)
  1540.                 WM_ADJUSTWINDOWPOS & WM_WINDOWPOSCHANGED bugfixes (hwndInsertAfter
  1541.                 set to HWND_TOP if non-Odin window)
  1542.     - KERNEL32/PELDR
  1543.                 Always try to allocate an executable image at it's preferred address 
  1544.                 (even if it has fixups)
  1545.  
  1546.  2000-07-19: Sander van Leeuwen <sandervl@xs4all.nl>
  1547.     - INCLUDE\makefiles
  1548.       SRC\*\makefile
  1549.       ODINCRT
  1550.                 Build different odincrt for debug & release build (odincrtd & odincrt)
  1551.                 Odin dlls now link with correct version
  1552.     - GDI32:    Wrapper rewrite for region apis
  1553.                 Changed export for user32 (uses stdcall calling convention now
  1554.                 to avoid problem when using debug user32 with retail gdi32)
  1555.     - DOC\Readme.txt
  1556.                 Updated installation instructions
  1557.     - TOOLS\INSTALL\odin.cmd
  1558.                 Updated script for new doc directory
  1559.  
  1560.  2000-07-18: Yuri Dario <mc6530@mclink.it>
  1561.     - INCLUDE\win: 
  1562.                 Compilation fixes for Opera
  1563.     - USER32:   Extra logging information
  1564.                 Fixed sending WM_PARENTNOTIFY in ::DestroyWindow
  1565.  
  1566.  2000-07-18: Sander van Leeuwen <sandervl@xs4all.nl>
  1567.     - WINMM:    If waveOutSetVolume called with NULL waveout handle, use
  1568.                 that volume as the default for newly created streams.
  1569.                 (fixes volume in RealPlayer 7)
  1570.     - KERNEL32: Fixed old unload order bug (causes a crash when quitting 
  1571.                 RealPlayer 7); increase dynamic library count after calling
  1572.                 dll entrypoint with DLL_PROCESS_ATTACH. (used to be before;
  1573.                 -> wrong unload order of RPAP3260 & PNRS3260)
  1574.                 Call dll entrypoint with DLL_PROCESS_DETACH even when
  1575.                 thread library calls disabled.
  1576.  
  1577.  2000-07-18: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1578.     - KERNEL32: APIs are to be placed should have ordinal less than 1200
  1579.                 - even if they don't belong in the dll but just happend to be
  1580.                 implemented there. The reason is for humans and for
  1581.                 documentation tools to be able to tell which exports are APIs
  1582.                 and which are internal Odin32 function/APIs.
  1583.     - div:      Added some missing $Id keywords.
  1584.     - database: Trying to make the database more useful. Extracting more
  1585.                 data from the source files.
  1586.                 According to the doc\ToDo file we're to write structured
  1587.                 and well documented code. This database is indetended to
  1588.                 make the documentation (++) browsable. (PHP)
  1589.  
  1590.  2000-07-17: Patrick Haller <phaller@gmx.net>
  1591.     - KERNEL32: fixed ReadFile/WriteFile bugfix
  1592.                 fixed return codes for HMWaitForSingleObject
  1593.  
  1594.  2000-07-16: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1595.     - Win32k:   Created a development branch called "Grace" and checked my
  1596.                 current code in into it. (This is the reason why there are
  1597.                 some new files in the src/win32k tree.)
  1598.  
  1599.  2000-07-15: Sander van Leeuwen <sandervl@xs4all.nl>
  1600.     - USER32:   XWing vs Tie Fighter fix broke RealPlayer 7 setup (missing buttons)
  1601.                 -> rewrote RDW_INVALIDATE code in RedrawWindow to work for
  1602.                 both applications
  1603.     - KERNEL32: Added extra check in isPEImage method
  1604.                 lpNumberOfBytesRead/Written can be NULL in Read/WriteFile
  1605.     - PELDR:    Fix for arguments with quotes (first and last quote removed)
  1606.                 (i.e. pe rnuninst "RealNetworks|RealPlayer|6.0| -i -p")
  1607.                 Fix for exe name with dir containing spaces
  1608.  
  1609.  2000-07-12: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  1610.     - KERNEL32: Implemented handlemanager support for named and unnamed pipes
  1611.  
  1612.  2000-07-10: Sander van Leeuwen <sandervl@xs4all.nl>
  1613.     - KERNEL32: Don't try to search for resources if the module doesn't contain any
  1614.  
  1615.  2000-07-09: Patrick Haller <phaller@gmx.net>
  1616.     - doc:      Moved several documents to the new doc directory and
  1617.                 created initial version of "ToDo.txt". We should place
  1618.                 our open tasks in there for better overview and to be able
  1619.                 to assign priorities and people to them.
  1620.  
  1621.  2000-07-07: Sander van Leeuwen <sandervl@xs4all.nl>
  1622.     - NTDLL:    Bugfix for NtQueryInformationToken (TOKEN_USER); updated
  1623.                 with latest Wine code (TODO: NTDLL needs to be resynced)
  1624.  
  1625.  2000-07-06: Sander van Leeuwen <sandervl@xs4all.nl>
  1626.     - KERNEL32: Store user default language in thread database struct
  1627.                 Set/GetThreadLocale change/return this LCID value
  1628.                 Fixed EnumSystemLocalesA/W; now returns default user language id
  1629.                 (in text) (TODO: should return all supported locales)
  1630.     - KERNEL32/GDI32/USER32: Changed/fixed calls to strncpy (for 0 termination)
  1631.  
  1632.  2000-07-06: Vitali E. Pelenyov <Vitali.Pelenyov@dpt.ustu.ru>
  1633.     - ODINCRT:  Fixed wrong implementation of strncpy; do not 0 terminate
  1634.                 string unless length < length parameter
  1635.                 (this is correct behaviour according to C library manual)
  1636.  
  1637.  2000-07-04: Sander van Leeuwen <sandervl@xs4all.nl>
  1638.     - KERNEL32: Unstubbed CopyFileExA/W (calls CopyFileA/W; not properly implemented)
  1639.                 Unstubbed CreateDirectoryExA/W (calls CreateDirectoryA/W; not properly implemented)
  1640.                 Fixed GetShortPathNameA/W; don't touch short path parameter if
  1641.                 it's NULL; behaviour (as seen in NT 4, SP6):
  1642.                 - converts long filename to 8.3 short filname (TODO: not yet done here!)
  1643.                 - fails on volume that doesn't support 8.3 filenames
  1644.                 - if lpszShortPath 0 or cchBuffer too small -> return required length
  1645.                   (INCLUDING 0 terminator)
  1646.                 - if lpszLongPath == NULL -> ERROR_INVALID_PARAMETER (return 0)
  1647.                 - if lpszLongPath empty -> proceed as if nothing is wrong
  1648.                   (Wine claims it sets last error to ERROR_BAD_PATHNAME)
  1649.                 - does NOT clear the last error if successful!
  1650.                 - if successful -> return length of string (excluding 0 terminator)
  1651.     - USER32:   Fixed adding windows to tasklist (done too late)
  1652.     - GDI32/USER32:
  1653.                 - Rewrote Set/GetViewportExtEx, Set/GetMapMode & moved them
  1654.                   from gdi32 to user32
  1655.  
  1656.  2000-07-03: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1657.     - KERNEL32: Added IsDebuggerPresent (debug.cpp). Returns FALSE, but by
  1658.                 SETing ODIN32.DEBUGGERPRESENT=1 it will return TRUE. (Some
  1659.                 application might issue calls to OutputDebugString if they
  1660.                 think they're being debugged.)
  1661.                 Moved OutputDebugString(A/W) to debug.cpp.
  1662.  
  1663.  2000-07-02: Sander van Leeuwen <sandervl@xs4all.nl>
  1664.     - RICHED32: Fixed bug when creating edit window (needs to be WS_CHILD)
  1665.     - USER32:   Fixed moving of child windows in MsgFormatFrame & move
  1666.                 child windows if only client rectangle changes
  1667.                 (fixes Acrobat Distiller window)
  1668.     - SHELL32:  Put back check for registration of ShellView window class
  1669.                 -> RegisterClass now fails if already registered
  1670.                 (fixed openfile dialogs)
  1671.  
  1672.  2000-06-30: Sander van Leeuwen <sandervl@xs4all.nl>
  1673.     - PELDR:       Fixed bug in command line parser
  1674.     - KERNEL32:    Fixed bugs in commitPage of memory mapped files (when
  1675.                    part of the offending memory area is committed and the
  1676.                    rest is not)
  1677.                    Fixed alias check in ReadFile (include offset & size) and 
  1678.                    added the same check to WriteFile
  1679.                    Fixed bug in OpenFile (don't set structure to 0 for OF_REOPEN mode)
  1680.     - USER32:      Don't send WM_ACTIVATE in WM_WINDOWPOSCHANGED if window
  1681.                    already active (endless loop in Lotus Notes)
  1682.                    Move children if client area changed (only if window
  1683.                    was previously smaller than client area) -> fixes
  1684.                    install window in AIM installer.
  1685.  
  1686.  2000-06-30: Michal Necasek <mike@mendelu.cz>
  1687.     - KERNEL32:    Fixed lstrcpynA(toW) calls (wrong length)
  1688.     - WINMM:       Resume playback when writing a buffer in underrun state
  1689.                    Set minimal buffer size to (bytes per second)/32.
  1690.  
  1691.  2000-06-29: Michal Necasek <michalnec@volny.cz>
  1692.     - DDRAW:   Experimentally changed SurfGetDC behavior which fixed
  1693.                colors in some but not all cases. GDI image is still
  1694.                upside down.
  1695.  
  1696.  2000-06-29: Sander van Leeuwen <sandervl@xs4all.nl>
  1697.     - INCLUDE\WIN\commctrl.h:
  1698.                    Put undocumented parts in #ifdef COMCTL32UNDOC statement
  1699.     - INCLUDE\makefiles
  1700.                    Added -DCOMCTL32UNDOC to Odin compile flags
  1701.     - USER32:      Added HCBT_ACTIVATE hook call to SetActiveWindow
  1702.                    Send WM_ACTIVATE from WM_WINDOWPOSCHANGED if SWP_ACTIVATE
  1703.                    flag set -> fixes activation of odin windows
  1704.                    Removed forwarding of messages to PM frame window handler.
  1705.  
  1706.  2000-06-28: Sander van Leeuwen <sandervl@xs4all.nl>
  1707.     - KERNEL32:    Cleaned up resource handling (findResourceA/W); much
  1708.                    more efficient now (searching for different languages)
  1709.                    Sets proper error code when failing to find type or name
  1710.                    Search for language in following order:
  1711.                    - specified language (user default if LANG_GETFIRST)
  1712.                    - primary specified language with default sublanguage
  1713.                    - language neutral
  1714.                    - first available language
  1715.                    Changed return type of HMDeviceFileClass file locking
  1716.                    methods (DWORD -> BOOL; not a bugfix)
  1717.  
  1718.  2000-06-28: Michal Necasek <mike@mendelu.cz>
  1719.     - USER32:      BeginDeferWindowPos accepts count 0 as valid parameter
  1720.                    (verified in NT; negative count is illegal)
  1721.  
  1722.  2000-06-27: Patrick Haller <phaller@gmx.net>
  1723.     - KERNEL32:    Added CreatePipe() call. Note: Anonymous and named
  1724.                    pipes do NOT comply with HandleManager right now!
  1725.  
  1726.  2000-06-27: Michal Necasek <michalnec@volny.cz>
  1727.     - DINPUT:      Fixed some key values, MS uses mostly raw scan
  1728.                    codes but not always, why am I not surprised?
  1729.  
  1730.  2000-06-26: Sander van Leeuwen <sandervl@xs4all.nl>
  1731.     - GDI32:       Fixed inverse video in RealPlayer 7 with SDD video drivers
  1732.     - USER32:      Fixed bug in InvalidateRect/Rgn, don't include children
  1733.                    in WinInvalidateRect/Region call -> fixes painting of
  1734.                    background bitmap in XWing vs Tie Fighter install app.
  1735.                    WinInvalidateRegion with fIncludeChildren=0 invalidates both
  1736.                    the parent and child windows (for !WS_CLIPCHILDREN window)
  1737.                    fIncludeChildren=1 -> invalidates only child (in xwing case
  1738.                    as it overlaps the invalid region completely; though parent
  1739.                    window doesn't have WS_CLIPCHILDREN style)
  1740.     - KERNEL32:    Added check for crossing limit of relocation section when
  1741.                    applying fixups. (fixes crash in IBM VisualAge Java setup)
  1742.  
  1743.  2000-06-25: Michal Necasek <mike@mendelu.cz>
  1744.     - KERNEL32:    When creating files and mode is readonly, change to
  1745.                    read/write (or else DosOpen fails)
  1746.                    GetFileTime failed in OpenFile because handle wasn't
  1747.                    saved yet
  1748.  
  1749.  2000-06-23: Sander van Leeuwen <sandervl@xs4all.nl>
  1750.     - KERNEL32:    Changed version; Odin presents itself as Windows NT 4 Service Pack 6
  1751.                    Return build nr in high word in GetVersion
  1752.                    Minor fixes in GetSystemInfo (processor level & revision)
  1753.                    FindResource bugfix for resource types starting with '#'
  1754.                    (i.e. "#102" really means numeric id 102)
  1755.  
  1756.  2000-06-22: Michal Necasek <mike@mendelu.cz>
  1757.     - KERNEL32:    Added language support for Czech Republic
  1758.     - USER32:      wsprintf bugfix for %#04x (didn't add leading 0('s) if required)
  1759.  
  1760.  2000-06-22: Christoph Bratschi <cbratschi@datacomm.ch>
  1761.     - COMCTL32:    fixed ANIMATE_ThreadFunc's calling convention
  1762.  
  1763.  2000-06-21: Sander van Leeuwen <sandervl@xs4all.nl>
  1764.     - USER32:      Owner bugfix (WS_CHILD window has no owner)
  1765.                    Replaced calls to PM frame window handler (i.e. WM_FOCUSCHANGE)
  1766.                    Activated menu keyboard accelerators
  1767.     - KERNEL32:    Setup environment similar to NT. I.e.:
  1768.                    CPU=i386
  1769.                    HOMEDRIVE=<Odin drive>
  1770.                    HOMEPATH=\
  1771.                    NUMBER_OF_PROCESSORS=2
  1772.                    OS=Windows_NT
  1773.                    PATHEXT=.COM;.EXE;.BAT;.CMD
  1774.                    PROCESSOR_ARCHITECTURE=x86
  1775.                    PROCESSOR_IDENTIFIER=x86 Family 6 Model 6 Stepping 5, GenuineIntel
  1776.                    PROCESSOR_LEVEL=6
  1777.                    PROCESSOR_REVISION=0605
  1778.                    SystemDrive=<Odin drive>
  1779.                    SystemRoot=<Odin Windows dir>
  1780.                    windir=<Odin Windows dir>
  1781.                    TODO: Some environment variables still missing (see kernel32\initsystem.cpp)
  1782.  
  1783.  2000-06-21: Patrick Haller <phaller@gmx.net>
  1784.     - MSVCRT:      - Added stub for __CxxLongjmpUnwind (NETSCAPE 4.7)
  1785.     - CRTDLL:      - CRTDLL is in some serious troble:
  1786.                      1. CRTDLL__close() -> _close()
  1787.                         CRTDLL__openU() -> CreateFileA()
  1788.                         this combination is incompatible !
  1789.                      2. calls like _close() go into the OS/2 kernel somewhere
  1790.                         without proper FS: protection -> CRASH.
  1791.                      CRTDLL__close() is fixed (CloseHandle()) now.
  1792.  
  1793.  2000-06-18: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  1794.     - KERNEL32:    Added language support for Poland
  1795.  
  1796.  2000-06-18 Patrick Haller <phaller@gmx.net>
  1797.     - KERNEL32:    - fixed potential memory leak in GetLocaleInfoA
  1798.                    - improved GetNumberFormatA
  1799.  
  1800.  2000-06-17: Sander van Leeuwen <sandervl@xs4all.nl>
  1801.     - KERNEL32:    Bugfix in resource handling (due to yesterday's change)
  1802.                    DuplicateHandle fix
  1803.     - USER32:      Region fixes (RedrawWindow)
  1804.                    Get/SetWindowRgn fixes
  1805.     - INCLUDE\OS2WRAP.H:
  1806.                    Added missing wrappers for GpiCreatePolygonRegion,
  1807.                    GpiCreateEllipticRegion & GpiCreateRoundRectRegion
  1808.  
  1809.  2000-06-16: Sander van Leeuwen <sandervl@xs4all.nl>
  1810.     - GDI32:       Put back region 'bugfix' as it's completely wrong and breaks
  1811.                    RealPlayer 7.
  1812.     - KERNEL32:    FindResource bugfix for resource names starting with '#'
  1813.                    (i.e. "#102" really means numeric id 102)
  1814.  
  1815.  2000-06-14: Patrick Haller <phaller@gmx.net>
  1816.     - KERNEL32:     - fix in HandleManager::DuplicateHandler to call
  1817.                       OSLibDosDupHandle() instead of CreateFile
  1818.                     - fix oslibdos.h FILE_ SetFilePointer constants
  1819.                       were shifted by 1
  1820.                     - fix for signed negative 32-bit seek from llseek()
  1821.                       forwarded to the 64-bit OS/2 DosSetFilePtrL()
  1822.                       Note: need to check file locking APIs !
  1823.                     - fix GPI32 region: clientHeight, clientWidth:
  1824.                       hwnd == 0 == HWND_DESKTOP seems to be valid !
  1825.  
  1826.  2000-06-14: Sander van Leeuwen <sandervl@xs4all.nl>
  1827.     - USER32:       Rewrote ExcludeUpdateRgn & GetUpdateRgn
  1828.                     Check if update rectangle is emtpy in PM WM_PAINT msg;
  1829.                     ignore it when that's the case
  1830.                     -> fixes excessive redrawing in Lotus Notes
  1831.     - GDI32:        Put back region apis
  1832.                     Rewrote region functions
  1833.                     DIB section reversal bugs fixed (as seen in Starcraft install)
  1834.  
  1835.  2000-06-14: Patrick Haller <phaller@gmx.net>
  1836.     - KERNEL32:     Altered calling of dllEntryPoint() depending on
  1837.                     static or dynamic loading if library according
  1838.                     to the Win32 documentation. (StarCraft)
  1839.  
  1840.  2000-06-13: Sander van Leeuwen <sandervl@xs4all.nl>
  1841.     - USER32:       Check if class already exists in RegisterClass(Ex)A/W
  1842.                     and return 0 (ERROR_CLASS_ALREADY_EXISTS) if true
  1843.  
  1844.  2000-06-12: Patrick Haller <phaller@gmx.net>
  1845.     - LZ32:         Updated to current WINE level (minor changes)
  1846.  
  1847.  2000-06-11: Patrick Haller <phaller@gmx.net>
  1848.     - KERNEL32:     Moved GetNumberFormat to different source file and enhanced
  1849.                     it a little (WinRAR shows file sizes)
  1850.                     Creating an existing directory does not return an error ?!
  1851.                     Updated GetStringTypeA/W and GetStringTypeExA/W
  1852.  
  1853.     - SHLWAPI:      Added a whole lot of missing functions, forwarders, stubs
  1854.                     Only 50 more to go for IE4 ...
  1855.  
  1856.  2000-06-09: Patrick Haller <phaller@gmx.net>
  1857.     - COMCTL32:     Added some missing stubs (.9 .10 .389 .390)
  1858.     - SHLWAPI:      Added numerous missing functions, some stubs
  1859.                     (.1 .2 .3 .4 .5 .6 .7 .8 .9 .10 .11 .12 .13 .14 .15 .16
  1860.                      .23 .28 .37 .38 .40 .43 .53 .56 .59 .60 .74 .83 .94 .95
  1861.                      .102 .116 .117 .158 .197 .240)
  1862.  
  1863.  2000-06-08: Sander van Leeuwen <sandervl@xs4all.nl>
  1864.     - KERNEL32:     Fixed incorrect last error for OpenFile & LoadLibrary(Ex)
  1865.                     Added null pointer check to RegQueryValueW and fixed
  1866.                     memory leak.
  1867.     - USER32:       Ignore weird WM_ADJUSTWINDOWPOS messages (why are they sent?)
  1868.                     -> fixes combo box
  1869.                     Fixed GetUpdateRect
  1870.                     RedrawWindow changes; SetWindowPos fix (client invalidation)
  1871.                     Call MsgNCPaint in RedrawWindow (WM_NCPAINT is not posted
  1872.                     if update region doesn't include (part of) the nonclient area.
  1873.                     -> fixes RealPlayer 7 titlebar, borders & menu
  1874.                     GetTopWindow fix. (should work properly now)
  1875.  
  1876.  2000-08-03: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1877.     - tools/install:Added a stram 'close' on the changelog.
  1878.                     (4OS2 can't copy files which are opened for write(?).
  1879.                     The changelog has to be closed after copying it into
  1880.                     the odininst.wis file.)
  1881.     - tools/DailyBuild:
  1882.                     Creates .WPI releases too.
  1883.                     (odin32pack.cmd and odin32ftp2.cmd)
  1884.                     WarpIn is added to the build environment variables
  1885.                     (odin32env.cmd).
  1886.                     WarpIn is added to the build environment variables
  1887.                     (odin32env.cmd).
  1888.  
  1889.  2000-06-07: Sander van Leeuwen <sandervl@xs4all.nl>
  1890.     - USER32:       Fixed wrong dispatch of WM_NCHITTEST
  1891.                     Fixed DC leak in EndPaint (reset hps type to TYPE_1)
  1892.                     -> resulted in out of memory and very slow PM operations
  1893.                     -> ICQ 2000a install now finishes (used to run out of mem)
  1894.                     Rewrote window management; now one PM window (non-frame)
  1895.                     is created for each win32 window (used to be a frame/client
  1896.                     pair)
  1897.                     -> speeds up drawing & fixes some repaint problems
  1898.                     Window coordinates (internally stored) are now relative
  1899.                     to window parent (or screen coord. if no parent); client
  1900.                     coordinates relative to the frame window
  1901.                     GetParent now returns owner if toplevel window
  1902.                     SetParent hides and shows window when changing parent
  1903.                     Added support for DCX_USESTYLE, DCX_CLIPSIBLINGS, DCX_CLIPCHILDREN
  1904.                     and DCX_PARENTCLIP in GetDCEx
  1905.                     Rewrote Set/GetWindowPlacement + SetInternalWindowPos (Wine port)
  1906.                     Manual minimize, maximize & restore in ShowWindow + fixes
  1907.                     TODO: Repaint problems, move child windows when client position/size
  1908.                           changes
  1909.                     SetParent/GetParent fixes for desktop parent.
  1910.     - SHELL32:      Disabled system tray window for now. (appears in top/right
  1911.                     of the desktop otherwise)
  1912.  
  1913.  2000-06-03: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  1914.     - WINMM:        Don't start playback when WaveOutRestart is called
  1915.                     before any buffers have been added.
  1916.                     Clear WHDR_INQUEUE bit for buffers returned in WaveOutReset
  1917.  
  1918.  2000-06-03: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  1919.     - Win32k/REXX:  Rewrote the REXX stub program in assembly.
  1920.                     (exe size: 688 bytes) Might be able to embedd it in
  1921.                     win32k.sys... (not priority)
  1922.  
  1923.  2000-06-02: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  1924.     - SHELL32:      Systray class registered with wrong name
  1925.  
  1926.  2000-06-01: Sander van Leeuwen <sandervl@xs4all.nl>
  1927.     - GDI32/USER32: Moved GetClipRgn & GetClipBox into user32 (dc.cpp)
  1928.     - GDI32:        Added more logging
  1929.     - KERNEL32:     Rewrote CompareFileTime, DeleteFileA
  1930.                     Put file io apis in separate handlemanager object class
  1931.                     Rewrote most file io apis; includes support for 64 bits file
  1932.                     pointer/size:
  1933.                     - CreateFile/OpenFile/DuplicateHandle/CloseHandle
  1934.                     - ReadFile(Ex)/WriteFileEx/GetFileType/GetFileInformationByHandle
  1935.                     - SetEndOfFile/SetFileTime/GetFileTime/GetFileSize
  1936.                     - SetFilePointer/LockFile(Ex)/UnlockFile(Ex)/FlushFileBuffers
  1937.                     Fixed some OpenFile bugs. Put Read/WriteFileEx into file
  1938.                     io class. Fixed LockFileEx/UnlockFileEx
  1939.                     New file apis use OS/2 apis now; overlapped IO not yet
  1940.                     supported.
  1941.     - SHELL32:      Added ISF_MyComputer_fnParseDisplayName from latest Wine
  1942.                     Fixes open file dialog
  1943.  
  1944.  2000-05-31: Michal Necasek <mike@mendelu.cz>
  1945.     - KERNEL32: Remove trailing slash in SetCurrentDirectoryA
  1946.  
  1947.  2000-05-29: Jens Wiessner <wiessnej@rfi.de>
  1948.     - URLMON:   Added (Wine 26/05/2000)
  1949.     - IMAGEHLP: Updated (Wine 26/05/2000)
  1950.  
  1951.  2000-05-29: Sander van Leeuwen <sandervl@xs4all.nl>
  1952.     - KERNEL32: Make resource section read/write
  1953.                 GDI32 changes some bitmap structures to avoid problems in Open32
  1954.                 -> causes crashes if resource section is readonly
  1955.                 -> make it readonly again when gdi32 has been rewritten
  1956.     - GDI32:    StretchDIBits bugfix (check if return value equals src height; not destination)
  1957.     - USER32:   Groupbox should return HT_TRANSPARENT during WM_NCHITTEST
  1958.  
  1959.  2000-05-28: Michal Necasek <mike@mendelu.cz>
  1960.     - DINPUT:   Discard messages received multiple times. Fixes keyboard
  1961.                 in Fallout 1/2.
  1962.  
  1963.  2000-05-28: Sander van Leeuwen <sandervl@xs4all.nl>
  1964.     - SHELL32:  Merged ShellExecuteA/W of latest Wine release (old version
  1965.                 did not return process handle)
  1966.     - KERNEL32/USER32:
  1967.                 Rewrote and cleaned up resource handling. FindResource(Ex)
  1968.                 now returns IMAGE_RESOURCE_DATA_ENTRY pointer.
  1969.  
  1970.  2000-05-27: Sander van Leeuwen <sandervl@xs4all.nl>
  1971.     - KERNEL32: Don't call entrypoint when executable is loaded as dll (with
  1972.                 LoadLibrary(Ex))
  1973.                 Fixed bugs in GetVolumeInformationA
  1974.  
  1975.  2000-05-26: Sander van Leeuwen <sandervl@xs4all.nl>
  1976.     - USER32:   Don't call Dinput handlers (mouse & keyboard) during message
  1977.                 translation in PeekMessage unless msg is removed.
  1978.                 Don't use FCF_TASKLIST style anymore; manually add/remove
  1979.                 windows from tasklist (only windows with no parent are added;
  1980.                 visible in window list if window is visible; change tasklist
  1981.                 status in SetWindowPos (SWP_SHOW/HIDEWINDOW) or ShowWindow)
  1982.     - KERNEL32: Don't delete a memory map when it's file handle is closed.
  1983.                 Delete it when the last view has been unmapped. (and the handle
  1984.                 is closed)
  1985.                 Added method to query the size of a win32 image.
  1986.     - INCLUDE\makefiles:
  1987.                 Added TCPV40HDRS definition
  1988.  
  1989.  2000-05-24: Sander van Leeuwen <sandervl@xs4all.nl>
  1990.     - KERNEL32: Fixed some memory map bugs (memory sdk sample works again)
  1991.     - USER32:   Experimental generation of own WM_HITTEST messages (disabled now)
  1992.                 Don't activate active MDI child.
  1993.  
  1994.  2000-05-24: Patrick Haller <phaller@gmx.net>
  1995.     - WINMM:    finally fixed callback type of timeSetEvent() timers
  1996.     - KERNEL32: changed (experimentally) behaviour of MapViewOfFileEx:
  1997.                 lpBaseAddress is ignored (VAJ3 loads)
  1998.  
  1999.  2000-05-23: Sander van Leeuwen <sandervl@xs4all.nl>
  2000.     - KERNEL32: Rewrote GetVolumeInformationA/W
  2001.                 Fixed call to GetFileTime in OpenFile
  2002.     - DDRAW:    Bugfix for querying HEL caps in DrawGetCaps
  2003.                 (support for different DX versions)
  2004.  
  2005.  2000-05-22: Sander van Leeuwen <sandervl@xs4all.nl>
  2006.     - KERNEL32: GetFileAttributes bugfix:
  2007.                 Open32 returns FILE_ATTRIBUTE_DIRECTORY|FILE_ATTRIBUTE_NORMAL for
  2008.                 directories whereas NT 4 (SP6) only returns FILE_ATTRIBUTE_DIRECTORY
  2009.                 Fixed GetFileTime; wasn't updated for handle manager
  2010.                 (InstallShield now continues after initial window (used to
  2011.                  stop at 99%))
  2012.                 Create thread security objects during THDB creation (not complete)
  2013.                 -> fixes crash in NTDLL for thread tokens
  2014.                 -> PowerDVD 2.55 install now completes
  2015.                 FindResource(Ex)A/W: if resource not found, then try:
  2016.                        - resource with user default language
  2017.                        - resource with system default language
  2018.                        - first available resource (any language)
  2019.                 (TODO: Need to check what NT really does)
  2020.                 -> fixes wrong strings (i.e. menu & buttons) in PowerDVD
  2021.     - GDI32:    Sync dib section in StretchDIBits if destination hdc contains
  2022.                 selected dib section
  2023.                 -> fixes black windows in PowerDVD (todo: palette still wrong)
  2024.  
  2025.  2000-05-21: Christoph Bratschi <cbratschi@datacomm.ch>
  2026.     - USER32:   merged controls with Corel WINE 20000513
  2027.                 fixed titlebar double click -> restore/maximize
  2028.                 show window text changes (why was this disabled?)
  2029.     - COMCTL32: merged with Corel WINE 20000513
  2030.                 added APIs used by IE5 (credit: Patrick Haller)
  2031.  
  2032.  2000-05-20: Sander van Leeuwen <sandervl@xs4all.nl>
  2033.     - USER32:   BroadcastMessageA/W bugfix
  2034.                 Set visible state for both client & frame windows (fixes
  2035.                 redrawing of toolbar window in mIRC32) in SetWindowPos &
  2036.                 ShowWindow
  2037.     - KERNEL32: Partly implemented GetDiskFreeSpaceExA/W; need to add support
  2038.                 for 64 bits values!
  2039.  
  2040.  2000-05-19: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  2041.     - ICMP:     Initial release of ICMP.DLL and header files
  2042.     - OPENGL32: Upgraded to latest level (3.3)
  2043.  
  2044.  2000-05-19: Yuri Dario <mc6530@mclink.it>
  2045.     - USER32:   Don't send WM_PARENTNOTIFY if parent has already been destroyed
  2046.  
  2047.  2000-05-19: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  2048.     - WNASPI32: Unique id & buffer length bugfixes -> CDRWIN 3.8a
  2049.                 works now (recording on SCSI only for now)
  2050.  
  2051.  2000-05-19: Sander van Leeuwen <sandervl@xs4all.nl>
  2052.     - SHELL32:  Fixed some exports
  2053.     - SHLWAPI:  Fixed ordinals of exports (based on NT4 SP6) + added stubs
  2054.     - GDI32:    Fixed palette copy in SetDIBits (dib sections) -> fixes
  2055.                 bitmap colors in WinDVD control window & X-Wing vs. Tie-Fighter
  2056.                 install window
  2057.  
  2058.  2000-05-18: Michal Necasek <mike@mendelu.cz>
  2059.     - DSOUND:   An updated version, hopefully not too many bugs were introduced
  2060.  
  2061.  2000-05-18: Sander van Leeuwen <sandervl@xs4all.nl>
  2062.     - KERNEL32: EnumResourceNamesA bugfix (wrong length in UnicodeToAsciiN call)
  2063.                 (reported by Michal Necasek)
  2064.                 Call CheckLogException for each exception; safety guard against
  2065.                 exceptions inside WriteLog.
  2066.     - WSOCK32:  Mark cancelled async select to avoid finding it before the
  2067.                 thread removes itself from the queue
  2068.                 Check if async select thread is blocking inside select before
  2069.                 calling so_cancel to cancel or change the async select.
  2070.     - SHELL32:  Removed Path* functions; added forwarders to shlwapi.dll
  2071.     - SHLWAPI:  Merged path function with Wine 20000430 (shellpath.cpp)
  2072.                 Added DllGetVersion export.
  2073.                 Added SHCreateStdEnumFmtEtc, CIDLData_CreateFromIDArray, SHFindFiles
  2074.                 SHFindComputer + other apis used by IE5 (stubs)
  2075.     - COMCTL32: Added export 389 (return 0 as in NT 4) & 390 (stub); IE5 needs them
  2076.                 Added DPA_LoadStream & DPA_SaveStream (Wine port)
  2077.  
  2078.  2000-05-16: Sander van Leeuwen <sandervl@xs4all.nl>
  2079.     - COMDLG32: Fixed shlwapi imports (GetProcAddress failed for PathFindFileNameA
  2080.                 -> crash when calling file dialog functions)
  2081.  
  2082.  2000-05-16: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  2083.     - GDI32: Fixed bug in font.cpp
  2084.              iFontRename should use strncpy instead of memcpy since source
  2085.              string passed may be smaller than amount of bytes to copy
  2086.              resulting in GPF.
  2087.  
  2088.  2000-05-14: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  2089.     - WNASPI32: Implemented working ASPI.
  2090.  
  2091.  2000-05-14: Patrick Haller <phaller@gmx.net>
  2092.     - SHLWAPI: finally separated SHELL32 and SHLWAPI, adjusted to NT4 functions and exports
  2093.  
  2094.  2000-05-13: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  2095.     - tools\common: Corrected makefiles.
  2096.  
  2097.  2000-05-12: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  2098.     - KERNEL32: Print name of image referenced by EIP (stackdump)
  2099.  
  2100.  2000-05-12: Sander van Leeuwen <sandervl@xs4all.nl>
  2101.     - USER32:   Fixed bug in HOOK_RemoveHook (wrong call for enter semaphore method)
  2102.                 SetSysColors bugfix (called itself for some reason)
  2103.                 Fixed wrong dispatch of messages under certain conditions
  2104.     - COMDLG32: Fixed initial directory for GetOpen/SaveFileNameW
  2105.                 If initial dir string == "" -> use current dir (not only
  2106.                 when ptr equals NULL) (verified this behaviour in NT 4)
  2107.     - GDI32:    Do manual image flip in dib section blit (fixes wrong position
  2108.                 of Palm Emulator bitmap)
  2109.                 Might also fix reversed video in RealPlayer 7 (Warp 4 FP13/WSeB FP1)
  2110.  
  2111.  2000-05-10: Christoph Bratschi <cbratschi@datacomm.ch>
  2112.     - COMCTL32: Fixed treeview item height bug (reported by Markus Montkowski)
  2113.  
  2114.  2000-05-10: Sander van Leeuwen <sandervl@xs4all.nl>
  2115.     - USER32:   Fix for SetForegroundWindow (SWP_NOZORDER flag removed)
  2116.                 GetForegroundWindow now uses WinQueryActiveWindow instead
  2117.                 of Open32's GetForegroundWindow
  2118.     - KERNEL32: Extra logging for atom functions, fixed GlobalGetAtomNameW
  2119.     - COMDLG32: Added missing ascii to unicode conversions in GetFileDialog95W
  2120.                 (file name (returned), initial dir & file dialog title)
  2121.     - RICHED32: Added (Wine port)
  2122.     - TOOLS\INSTALL: Added ChangeLog to installation script
  2123.  
  2124.  2000-05-09: Sander van Leeuwen <sandervl@xs4all.nl>
  2125.     - KERNEL32: Enclose executable name in quotes if it (or it's directory)
  2126.                 contains spaces
  2127.                 Route rtl error messages to logfile (_set_crt_msg_handle)
  2128.                 Added support for system, user default & neutral language in
  2129.                 FindResourceExA/W
  2130.                 Fill in correct language id in GetUserDefaultLCID/GetSystemDefaultLCID
  2131.                 GetUserDefaultLangID & GetSystemDefaultLangID; gets country
  2132.                 with DosQueryCtryInfo
  2133.     - WSOCK32:  Return WSAWOULDBLOCK if recv returns 0 and connection is
  2134.                 still available. (experimental change for rp7)
  2135.     - USER32:   MENU_PtMenu: return when menu has no window handle (prevents
  2136.                 Moraff's YourJongg from crashing -> need to check why this
  2137.                 happens)
  2138.                 Bugfix in AdjustWindowRectEx; if style, exstyle and menu
  2139.                 = 0 -> no changes required to the input rectangle
  2140.                 (verified this in NT 4)
  2141.                 Don't send WM_ACTIVATE, WM_SET/KILLFOCUS & WM_SHOWWINDOW
  2142.                 messages when window is being destroyed.
  2143.     - SHELL32:  Wrong systray classname used when creating systray window
  2144.                 Fixed bugs in SYSTRAY_SetTip/SYSTRAY_ModifyTip; string
  2145.                 copy operations used wrong size -> heap corruption
  2146.     - DINPUT:   Check window handle if app acquired mouse input in
  2147.                 cooperative mode
  2148.     - TOOLS\INSTALL: Fixed wrong glide dll for voodoo 2 install package
  2149.  
  2150.  2000-05-06: Sander van Leeuwen <sandervl@xs4all.nl>
  2151.     - GDI32:    Added stretch blit mode support to dibsection blits
  2152.  
  2153.  2000-05-05: Sander van Leeuwen <sandervl@xs4all.nl>
  2154.     - USER32:   Fixed window property functions (ported from Wine)
  2155.                 The old ones used Open32 functions which no longer work
  2156.                 due to atom api changes a few months ago.
  2157.                 If the mouse has already been captured, then it must
  2158.                 be released before calling WinSetCapture ->
  2159.                 fixes menus & dialog in MS Word 97
  2160.     - OLE32:    Fixed BindCtxImpl_SetBindOptions/BindCtxImpl_GetBindOptions
  2161.                 Need to check size of bind structure before copying (as done in Wine)
  2162.                 -> fixes crash (stack corruption) in MS Word 97
  2163.     - WSOCK32:  When changing the receive or send buffer (setsockopt) and
  2164.                 it fails with WSAENOBUFS, decrease size until no error
  2165.                 is returned (63kb buffer is not always accepted by the
  2166.                 16 bits tcpip stack) (stops when buffer < 4096)
  2167.  
  2168.  2000-05-04: Achim Hasenmueller <achimha@innotek.de>
  2169.     - USER32:   Applied fix to GetDCEx where the check to see if
  2170.                 the window has its own DC was applying invalid
  2171.                 style flags due to missing parantheses
  2172.                 (reported by Oliver Braun)
  2173.  
  2174.  2000-05-04: Sander van Leeuwen <sandervl@xs4all.nl>
  2175.     - USER32:   Menu font from bold to normal again. Bold fonts are too
  2176.                 big (rp7 menu split in two parts).
  2177.  
  2178.  2000-05-03: Sander van Leeuwen <sandervl@xs4all.nl>
  2179.     - WSOCK32:  Fixed WSAEFAULT errors in setsockopt (16 bits TCP/IP stack
  2180.                 doesn't like high addresses; similar problems can also occur
  2181.                 elsewhere in wsock32)
  2182.     - USER32:   Change settings return by SystemParameterInfo for SPI_GETNONCLIENTMETRICS
  2183.                 Caption & menu fonts now bold; different sizes (more like Wine now)
  2184.                 Set/clear WS_VISIBLE flag in SetWindowPos; don't call
  2185.                 ShowWindow.
  2186.                 Implemented Set/Get/ReleaseCapture without Open32
  2187.                 Release capture for window that is about to be disabled
  2188.                 Send WM_CAPTURECHANGED messages when capture changes
  2189.  
  2190.  2000-05-02: Sander van Leeuwen <sandervl@xs4all.nl>
  2191.     - KERNEL32: GetLocaleInfoA/W fix (size of buffer for i.e. LOCALE_IDATE
  2192.                 should be >= 2, not > 2)
  2193.                 VirtualFree: Check for ERROR_ALIAS return value
  2194.  
  2195.                 Ported and changed/fixed XFolder stack dump code (symbol file only)
  2196.                 When a win32 app crashes, a dump of the stack is written
  2197.                 in odin32_0.log.
  2198.     - USER32:   Merged some Wine dialog changes (setting focus + font size)
  2199.                 Extra logging for some apis
  2200.                 Added support for RDW_FRAME flag to GetDCEx
  2201.     - INCLUDE\makefiles:
  2202.                 Added rule for converting map to symfile
  2203.                 A symbol file is now created for each exe/dll
  2204.     - INCLUDE\ODINWRAP:
  2205.                 Turned off profiling by default.
  2206.                 Our log is big enough as it is without even
  2207.                 more logging.
  2208.  
  2209.  2000-05-02: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  2210.     - makefile and tools/makefile:
  2211.                 tools/install is not a "needed tool" required for
  2212.                 to do the rest of the build; and it'is dependent on
  2213.                 kernel32.lib which haven't been made at the time
  2214.                 the needed_tools are being made. So, the making of
  2215.                 tools/install is the last thing we do in the makeprocess.
  2216.     - WSOCK32, WINMM:
  2217.                 ODINWRAP changes below broke WSOCK32 and WINMM.
  2218.                 I've created some highly temporary fix for it this problem.
  2219.                 Could someone please make a permanent fix?
  2220.     - tools/bin/wrc.exe and tools/wrc:
  2221.                 Important notice: __WIN32OS2__ is not defined when making wrc!
  2222.                 This was the reason why ':' was used as include separator.
  2223.                 This is corrected now. ';' is now the include separator.
  2224.                 A new wrc.exe has been checked in.
  2225.  
  2226.  2000-04-30: Patrick Haller <phaller@gmx.net>
  2227.         - ODINWRAP: added profiling support. The odin wrapper macros now
  2228.                     can measure function calls, this is the cumulative
  2229.                     method call time with 838ns accuracy (tick unit).
  2230.  
  2231.  2000-04-30: Sander van Leeuwen <sandervl@xs4all.nl>
  2232.     - KERNEL32: LocalFlags fix (low byte = lock count, hight byte (of low word) = memory flags)
  2233.                     LocalGetFlags, LocalLock & LocalUnlock now check if the
  2234.                     pointer is larger than 3 GB. Some apps calls these functions
  2235.                     with GDI object handles.
  2236.     - OLEAUT32: Don't create logfiles in release build
  2237.  
  2238.  2000-04-29: Yuri Dario <mc6530@mclink.it>
  2239.     - USER32:   Bugfix for owner of windows (set to owner instead of parent now)
  2240.  
  2241.  2000-04-29: Sander van Leeuwen <sandervl@xs4all.nl>
  2242.     - USER32/KERNEL32: Added selectable logging for level 2 dprintfs.
  2243.  
  2244.     - USER32:   Commented out default x & y position code
  2245.                     (FCF_SHELLPOSITION no longer works)
  2246.                     -> fixes menu & toolbars in MS Word 97
  2247.  
  2248.     - KERNEL32: Added windows directory override again
  2249.                     (NOTE: for developers *ONLY*; DO NOT USE IT)
  2250.                     [DEVDIRECTORIES]
  2251.                     WINDOWS=drive:\path
  2252.                     Default System directory is kernel32 path
  2253.                     (with new install program: x:\odin\system32)
  2254.                     Default Windows directory is parent of System Directory
  2255.                     (with new install program: x:\odin)
  2256.             NOTE: This assumption could break current installs
  2257.                           Will be fixed in upcoming WarpIn installation distributions
  2258.  
  2259.                     Changed InitSystemAndRegistry:
  2260.               InitSystemAndRegistry creates:
  2261.             - WINDOWSDIR\SYSTEM
  2262.                 - WINDOWSDIR\AppData
  2263.                 - WINDOWSDIR\Cache
  2264.                 - WINDOWSDIR\Cookies
  2265.              - WINDOWSDIR\Desktop
  2266.              - WINDOWSDIR\Favorites
  2267.              - WINDOWSDIR\Fonts
  2268.                 - WINDOWSDIR\History
  2269.              - WINDOWSDIR\NetHood
  2270.              - WINDOWSDIR\My Documents
  2271.              - WINDOWSDIR\PrintHood
  2272.              - WINDOWSDIR\Recent
  2273.              - WINDOWSDIR\SendTo
  2274.              - WINDOWSDIR\Start Menu
  2275.              - WINDOWSDIR\Start Menu\Programs
  2276.              - WINDOWSDIR\Start Menu\Programs\Startup
  2277.              - WINDOWSDIR\ShellNew
  2278.              - and a minimal system registry
  2279.  
  2280.     - TOOLS\INSTALL: WarpIn install script + small install program
  2281.                          that calls kernel32 export (InitSystemAndRegistry)
  2282.  
  2283.     - TOOLS\WRC:     Forgot to add change in preproc.c (ifdef)
  2284.                          (shouldn't really matter though)
  2285.  
  2286.  2000-04-27: David Raison <djr@lemur.co.uk>
  2287.         - OLE32/NEW: Work-in-progress on adding apartment handling.
  2288.       Added here for backup until ready for release.
  2289.  
  2290.  2000-04-27: knut st. osmundsen <knut.stange.osmundsen@mynd.no>
  2291.         - tools/DailyBuild: Checked in the scripts used for the daily build.
  2292.  
  2293.  2000-04-27: Achim Hasenmueller <achimha@innotek.de>
  2294.     - put back new wrc.exe, provide workarounds in
  2295.       header files, old one breaks comdlg32
  2296.       TODO: find bug in new wrc and really fix it
  2297.  
  2298.  2000-04-26: David Raison <djr@lemur.co.uk>
  2299.         - INCLUDE/WIN: Added RPC_E_* codes to winerror.h
  2300.         - OLE32: Fixed StringFromGUID2
  2301.  
  2302.  2000-04-25: Achim Hasenmueller <achimha@innotek.de>
  2303.     - TOOLS/BIN: put back old wrc.exe from Oct. 99 because the
  2304.                  new one has problems with include files...
  2305.  
  2306.  2000-04-25: Patrick Haller <phaller@gmx.net>
  2307.         - SHLWAPI: - stubbed all the UrlXXX functions (required for IE4/5 ;-)
  2308.  
  2309.  2000-04-23: Sander van Leeuwen <sandervl@xs4all.nl>
  2310.     - GDI32:   Dib section blit fix (missing pixels)
  2311.     - WSOCK32: Don't send FD_CLOSE message when select returns
  2312.                    and there's no data available (recv in another thread
  2313.                    might have taken that data before the ioctl call in
  2314.                    the WSAAsyncSelect thread is executed)
  2315.                    -> fixes lost connections in RealPlayer 7
  2316.  
  2317.  2000-04-19: Patrick Haller <phaller@gmx.net>
  2318.         - INCLUDE/PDWIN32.TOOLS: fix build rule for (old) .asm sources
  2319.  
  2320.  2000-04-19: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
  2321.         - KERNEL32: Added fix for bug in FP13 DosQuerySysInfo.
  2322.                 Win32k/Pe2Lx loaded files didn't work.
  2323.                 Corrected TLS handling for Borland.
  2324.  
  2325.  2000-04-19: Sander van Leeuwen <sandervl@xs4all.nl>
  2326.     - TOOLS\WRC: Resync with latest Wine wrc + added code to produce
  2327.                      masm compatible assembly (for some reason removed from
  2328.                      wrc some time ago)
  2329.                      -> fixes file open dialog (nothing painted)
  2330.     - COMCTL32:  Check for NULL pointers before freeing memory
  2331.                      (toolbar; removes some warnings from the logfiles)
  2332.  
  2333.  2000-04-18: Sander van Leeuwen <sandervl@xs4all.nl>
  2334.     - USER32:   Added LR_LOADFROMFILE support for icon & cursor loading
  2335.     - GDI32:    Dib section fixes (use height/width of window when
  2336.                     dc belongs to a window; use correct stretchblit mode)
  2337.     - TOOLS\REGEDIT: Added regedit command line tool (ported this from
  2338.                          Wine with some modifications & bug fixes)
  2339.     - KERNEL32: Also set FPU control word to 0x27f before calling thread
  2340.                     functions (just to be sure)
  2341.  
  2342.  2000-04-16: Christoph Bratschi <cbratschi@datacomm.ch>
  2343.     - COMCTL32: added new resources: i.e. header cursors
  2344.             changed file version to 5.80 (IE5, Win2k)
  2345.             implemented missing listview messages, implemented some
  2346.             extended styles
  2347.  
  2348.  2000-04-16: Sander van Leeuwen <sandervl@xs4all.nl>
  2349.     - KERNEL32: Put back dll search method, fixed bug in LoadLibraryEx
  2350.                     (no return after error detection)
  2351.                     Set FPU control word to 0x27F before calling exe entrypoint
  2352.                     (fixes some FPU exception problems in RealPlayer 7)
  2353.  
  2354.  2000-04-16: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
  2355.         - KERNEL32: Reorganized/reworte LoadLibrary/LoadLibraryEx code.
  2356.                     isPEImage was changed to return 1 if DLL and 2 if EXE.
  2357.                     (It still returns FALSE if not valid PE image.)
  2358.  
  2359.         - include\odin32validate.h:
  2360.                     New header file. Parameter validation macros.
  2361.         - KERNEL32: Before reading Sanders last message I had rewritten most of
  2362.                     the findDll function. So, as my implementation seems a bit
  2363.                     more flexible I decided to commit it.
  2364.                     Currently it's searching the three LIBPATH paths too. If
  2365.                     this causes any real trouble we'll disable this.
  2366.  
  2367.                     findDll now returns TRUE if a file were found. Callers are
  2368.                     corrected to test for this.
  2369.  
  2370.  2000-04-15: Christoph Bratschi <cbratschi@datacomm.ch>
  2371.         - COMCTL32: rewrote listview item handling: sort bug fix,
  2372.                     allows >= 4.70 support
  2373.                     implemented several new messages
  2374.  
  2375.  2000-04-15: Sander van Leeuwen <sandervl@xs4all.nl>
  2376.         - WSOCK32:  Async select fix (VPBuddy can connect again)
  2377.         - KERNEL32: Remove terminating backslash in FindFirstFileA (if present)
  2378.                     (otherwise DosFindFirst fails)
  2379.                     Fixed flushing of file maps (wrong VirtualQuery parameter)
  2380.                     Path search fix for dlls
  2381.                     Dll search order:
  2382.                     1) exe dir
  2383.                     2) current dir
  2384.                     3) windows system dir (kernel32 path)
  2385.                     4) windows dir
  2386.                     5) path environment variable
  2387.  
  2388.         - ODINCRT:  Added checks for failing mallocs
  2389.         - USER32:   Corrected return value of EnableWindow
  2390.                     Send WM_CANCELMODE message when disabling window
  2391.                     (return true if previous state was disabled, else false (sdk docs))
  2392.                     Don't send mouse messages to disabled windows; reroute
  2393.                     them to their parent windows (if any)
  2394.  
  2395.  2000-04-14: Sander van Leeuwen <sandervl@xs4all.nl>
  2396.         - KERNEL32: Hardcoded system & windows dir
  2397.                     system dir  = kernel32 dir
  2398.                     windows dir = kernel32 dir\win
  2399.                     Fixed dll attach for pe2lx/win32k & lx Odin executables
  2400.                     Command line fixes (now starts with full path of exe)
  2401.                     Search for dlls in:
  2402.                     1) current dir
  2403.                     2) win32 exe dir
  2404.                     3) windows system dir
  2405.                     4) path
  2406.                     Append backslash if GetFileAttributes fails (and it's missing
  2407.                     from the filename)
  2408.         - PELDR/KERNEL32: Fixed starting of executable with spaces in name
  2409.                           (might not be 100% complete yet)
  2410.                           Fixes for relative path of executable
  2411.         - ODIN.INI.TXT: Removed DIRECTORIES section
  2412.  
  2413.  2000-04-13: Sander van Leeuwen <sandervl@xs4all.nl>
  2414.         - USER32: Set thread message structure to 0 before dispatching it
  2415.                   Prevents app from sending the same posted message twice
  2416.                   (causing problems when freeing the postmsg struct)
  2417.                   (fixes RealPlayer 7 Update service)
  2418.         - CRTDLL: Fixed div (result must be returned in edx:eax)
  2419.         - PE:     Check PATH for executable file
  2420.  
  2421.  2000-04-12: Christoph Bratschi <cbratschi@datacomm.ch>
  2422.         - COMCTL32: listview: completed most version 4 features
  2423.  
  2424.  2000-04-10: Sander van Leeuwen <sandervl@xs4all.nl>
  2425.         - USER32: Added support for topmost windows
  2426.  
  2427.  2000-04-10: David Raison <djr@lemur.co.uk>
  2428.         - COMDLG32: fixed wrong lParam in file dialog
  2429.  
  2430.  2000-04-09: Sander van Leeuwen <sandervl@xs4all.nl>
  2431.         - GDI32: Y inversion fix for dib sections blits
  2432.         - WINMM: GetPosition fix (don't return 0 when stream not active)
  2433.         - KERNEL32: Fixed OSLibDosFindFirst. Return error if First DosFirstFirst
  2434.                     fails. (fixes RealPlayer 7 install)
  2435.  
  2436.  2000-04-09: Yuri Dario <mc6530@mclink.it>
  2437.         - INCLUDE(\WIN):
  2438.                 - odin.h: define NONAMELESSUNION only for VA3.0 (now works with VA4);
  2439.                           remove buildin.h when invoked from resource compiler.
  2440.                 - commctrl.h: new macros
  2441.                 - mmsystem.h: define DUMMYUNIONNAME with same code used in other
  2442.                               headers to avoid precompiling errors.
  2443.                 - shlguid.h: missing ID
  2444.                 - shlobj.h: missing shlguid.h include
  2445.                 - windows.h: define CINTERFACE only for C compilers or VA3.x
  2446.                 - windowsx.h: macros
  2447.                 - wingdi.h: few AW defines
  2448.                 - winuser.h: new macros
  2449.  
  2450.  2000-04-08: Christoph Bratschi <cbratschi@datacomm.ch>
  2451.         - COMCTL32: added new styles and functionality, bug fixes
  2452.  
  2453.  2000-04-08: Sander van Leeuwen <sandervl@xs4all.nl>
  2454.         - WINMM:    Restart, pause & underrun fixes
  2455.         - KERNEL32: Fixed bug in CompareStringW. Unicode conversion was
  2456.                     causing heap corruption. (RealPlayer 7 crashes)
  2457.  
  2458.  2000-04-07: Michal Necasek <mike@mendelu.cz>
  2459.         - DDRAW\NEW: Experimental fullscreen DDraw, VIDEOPMI based.
  2460.              May not work with all video cards and may cause all
  2461.              kinds of trouble. But works swell for eg. Fallout 1/2
  2462.              or HMM3. Contains some extra bugs compared to the
  2463.              windowed DDraw, ie. Moorhuhn and others don't work
  2464.              with it at all. Please tell me about your experience
  2465.              with this shameless hack.
  2466.  
  2467.  2000-04-07: Sander van Leeuwen <sandervl@xs4all.nl>
  2468.         - WINMM:  Don't restart when already playing
  2469.         - USER32: Print mark in debug log with WriteLog (#ifdef DEBUG), not dprintf
  2470.                   Workaround for paint problems in RealPlayer 7 Update 1.
  2471.                   (don't clip the dc with a region in DoNCPaint if the clip
  2472.                    region has the same size as the window; doing so creates
  2473.                    update problems for no obvious reason)
  2474.         - GDI32:  Only change bitmap size in SetDIBitsToDevice if bitmap
  2475.                   is not compressed. (fixes crash during startup in Excel)
  2476.                   NOTE: Open32 doesn't implement compression type conversion
  2477.                         correctly. (black splash screen for RLE8 bitmap)
  2478.         - KERNEL32: Return length of windows or system directory when
  2479.                     GetWindowsDirectory/GetSystemDirectory is called with
  2480.                     a NULL pointer
  2481.  
  2482.  2000-04-07: David Raison <djr@lemur.co.uk>
  2483.         - USER32: Set lfSmCaptionFont structure in NONCLIENTMETRICSA
  2484.                   (SystemParametersInfoA/SPI_GETNONCLIENTMETRICS)
  2485.  
  2486.  2000-04-07: Knut St. Osmundsen <knut.stange.osmundsen@pmsc.no>
  2487.         - TOOLS\DBGINFO: Sym2Hll is now able to convert .SYM files into HLL
  2488.                 debuginfo and add it to LX executables. This might be
  2489.                 quite useful if you want to see system DLL while debugging.
  2490.                 But before you add debuginfo to all dll's in c:\os2\dll
  2491.                 I have to warn that this is _very_ alpha software. Do always
  2492.                 make a backup (Sym2Hll don't create backups!) and have
  2493.                 recovery boot disks ready!
  2494.  
  2495.  2000-04-06: Sander van Leeuwen <sandervl@xs4all.nl>
  2496.         - WINMM: Fixed message callback once more (previous fix broke rp7)
  2497.                  Fixed restart
  2498.  
  2499.  2000-04-08: Michal Necasek <mike@mendelu.cz>
  2500.         - WINMM: Moved phwo == NULL check below format query handling.
  2501.                  (enables sound in Jack Jazzrabbit; still not right though)
  2502.  
  2503.  2000-04-05: David Raison <djr@lemur.co.uk>
  2504.         - OLEAUT32: Turned default DEBUG-info down.
  2505.  
  2506.  2000-04-05: Knut St. Osmundsen <knut.stange.osmundsen@pmsc.no>
  2507.         - Win32k: Added fixpack 13 symbols to the symbol database.
  2508.                   Using win32k.sys with fp13 works fine here.
  2509.  
  2510.  2000-04-05: Sander van Leeuwen <sandervl@xs4all.nl>
  2511.         - WINMM: Smallest waveout buffer size = 128 bytes
  2512.                  Fixed callback bugs (reported by Michal Necasek)
  2513.  
  2514.  2000-04-03: David Raison <djr@lemur.co.uk>
  2515.         - OLE32: Added CoCreateGUID (calls RPCRT4.UuidCreate)
  2516.         - RPCRT4: Beginning of new dll:
  2517.             RpcStringFreeA, RpcStringFreeW, UuidCompare
  2518.             UuidCreate, UuidCreateNil, UuidEqual
  2519.             UuidFromStringA, UuidFromStringW, UuidHash
  2520.             UuidIsNil, UuidToStringA, UuidToStringW
  2521.  
  2522.  2000-04-02: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  2523.         - SHELL32: don't sort files case sensitive
  2524.  
  2525.  2000-04-02: Christoph Bratschi <cbratschi@datacomm.ch>
  2526.         - KERNEL32: FindFirst: don't return "." and ".." in root
  2527.                     wrote long to short name conversion
  2528.                     added error code converter
  2529.         - USER32: removed 'What You See Is What You Get On First Of April'
  2530.  
  2531.  2000-04-02: Sander van Leeuwen <sandervl@xs4all.nl>
  2532.         - USER32: dc.cpp cleanup
  2533.         - GDI32:  Dib section sync bugfix (todo: rgb 565 to 555 conversion if bpp == 16)
  2534.                   Set y inversion to 0 if dib section isn't flipped
  2535.                   (fixes upside down flash videos in RealPlayer 7)
  2536.         - WINMM:  Faked mixer apis
  2537.  
  2538.  2000-04-01: Sander van Leeuwen <sandervl@xs4all.nl>
  2539.         - GDI32: Fixed dibsection bitblits. (wrong updates of realplayer 7
  2540.                  videos)
  2541.  
  2542.  2000-04-01: Christoph Bratschi <cbratschi@datacomm.ch>
  2543.         - USER32: added WYSIWYGOFOA interface
  2544.  
  2545.  2000-04-01: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  2546.         - USER32: Fixed track frame width & height (now you can actually
  2547.                   see the tracking frame when moving a window)
  2548.  
  2549.  2000-03-31: Christoph Bratschi <cbratschi@datacomm.ch>
  2550.     - USER32: readded CS_HITTEST for HT_TRANSPARENT handling, transparent
  2551.           tooltips are now supported
  2552.           (why is HT_TRANSPARENT in the groupbox control commented out?)
  2553.     - COMCTL32: treeview: added TTF_TRANSPARENT tooltip style
  2554.  
  2555.  2000-03-30: Christoph Bratschi <cbratschi@datacomm.ch>
  2556.     - KERNEL32:
  2557.     - SHLWAPI: added stubs for explorer.exe
  2558.     - COMCTL32: treeview: finished info tip
  2559.  
  2560.  2000-03-30: Sander van Leeuwen <sandervl@xs4all.nl>
  2561.     - KERNEL32: Also double thread stack in release build
  2562.                     (RealPlayer 7 runs out of stack sometimes)
  2563.     - WSOCK32:  Fixed bugs in WSAStartup/Cleanup & select (fixes Gnutella)
  2564.  
  2565.  2000-03-29: Sander van Leeuwen <sandervl@xs4all.nl>
  2566.     - KERNEL32: Throw exception when critical section times out
  2567.     - USER32:   Fixed bugs in PeekMessageA/W (fixes connection failures
  2568.                     & hangs after warning dialogs in RealPlayer 7)
  2569.     - GDI32:    Check for NULL region in GetRgnBox; can cause a crash
  2570.                     in Open32
  2571.  
  2572.  2000-03-29: Christoph Bratschi <cbratschi@datacomm.ch>
  2573.     - KERNEL32: added FindFileFirstMultiA for internal usage
  2574.  
  2575.  2000-03-28: Markus Montkowski <mmontkowski@gmx.de>
  2576.         - KERNEL32: Added workaround for GetDiskFreeSpaceA; Open32 api doesn't
  2577.                     like NULL pointers
  2578.  
  2579.  2000-03-28: Sander van Leeuwen <sandervl@xs4all.nl>
  2580.     - KERNEL32: Fixed VirtualQuery; cbLength is length of memory structure,
  2581.                     not range of pages
  2582.                     Fixed compare of imported api names with length < 4
  2583.                     Fixed OpenFile; if filename doesn't contain path, look for
  2584.                     it in:
  2585.             1: dir from which the app loaded
  2586.                     2: current dir
  2587.                     3: windows system dir
  2588.                     4: windows dir
  2589.                     5: dirs in path path environment variable
  2590.           NOTE: Icon extraction in shell32 is broken; expects PE
  2591.                 images even when looking for icons in shell32.
  2592.                 (it should use FindResourceExA/W when looking for resources
  2593.                  in that case)
  2594.     - USER32:   Fixed combobox focus changes when showing dropdown window
  2595.         - WSOCK32:  Added support for warp 4 error messages (0 based)
  2596.                     Fixed FD_CLOSE async notification (fixes telnet ability
  2597.                     to detect lost connections)
  2598.  
  2599.  2000-03-28: Christoph Bratschi <cbratschi@datacomm.ch>
  2600.     - SHELL32: don't use pdump() in release build
  2601.     - GDI32: dump ROP2 mode
  2602.  
  2603.  2000-03-27: Sander van Leeuwen <sandervl@xs4all.nl>
  2604.     - USER32:   Fixed SetParent; remove child from parent's list (previously
  2605.                     didn't happen for children of the desktop)
  2606.  
  2607.  2000-03-27: Christoph Bratschi <cbratschi@datacomm.ch>
  2608.     - SHELL32: only scan dir once in CreateFolderEnumList
  2609.            floppy drives have a fixed name
  2610.            NOTE: delete 'bin\debug(release)\shres.*' or the resources
  2611.              won't be updated
  2612.  
  2613.  2000-03-26: Christoph Bratschi <cbratschi@datacomm.ch>
  2614.     - COMDLG32:
  2615.     - SHELL32:  merged with Corel WINE 20000324
  2616.  
  2617.  2000-03-25: Sander van Leeuwen <sandervl@xs4all.nl>
  2618.     - KERNEL32: Fixes for GetStdHandle
  2619.     - WSOCK32:  Fixes for getservbyname & getservbyport
  2620.  
  2621.  2000-03-24: Sander van Leeuwen <sandervl@xs4all.nl>
  2622.     - KERNEL32: Fixed typo in pe loader (check for < 512 MB)
  2623.     - USER32:   Add size of space between two menu items when calculating
  2624.                     size of ownerdrawn menu item (fixes RealPlayer 7 menu)
  2625.     - GDI32:    Default format of 16 bits dibsection is RGB555
  2626.                     (fixes wrong colors when (sometimes) playing flash files
  2627.                      in RealPlayer 7)
  2628.     - WSOCK32\NEW: Bugfixes
  2629.         - WSOCK32:  Replaced with new wsock32
  2630.  
  2631.  2000-03-24: Achim Hasenmueller <achimha@innotek.de>
  2632.     - WSOCK32\NEW: Made it compile with the TCP/IP V5
  2633.                    header files.
  2634.                        NOTE: should we rely on the 32bit
  2635.                          stack, is there any benefit for us?
  2636.     - DPLAY: Added ordinals 2 and 3 to the def file, APIs
  2637.              already seem to be implemented?!?
  2638.     - COMDLG32: Fixed correct (Win95/OS2) dialog invocation
  2639.  
  2640.  2000-03-24: Christoph Bratschi <cbratschi@datacomm.ch>
  2641.     - USER32: fixed GetClipboardFormatNameW
  2642.           fixed scrollbar memory leak
  2643.     - SHELL32: fixed IDataObject_fnGetData return value (file dialog
  2644.            is now usable)
  2645.  
  2646.  2000-03-23: Sander van Leeuwen <sandervl@xs4all.nl>
  2647.     - KERNEL32: Fixed shared global mutex
  2648.                     Added VSemaphore class
  2649.     - USER32:   Fixed shared global mutex
  2650.           TODO:
  2651.           ---->> Compiler bug: during __ctordtorInit it calls the constructor
  2652.                                of global objects, even if the dll has already
  2653.                                been loaded!
  2654.                      Replaced WriteLogs by dprintfs
  2655.     - WSOCK32\NEW: Added WSAAsyncSelect + bugfixes
  2656.  
  2657.  2000-03-23: Christoph Bratschi <cbratschi@datacomm.ch>
  2658.     - COMDLG32: improved file dialog combobox
  2659.     - COMCTL32: removed static WINMM linking
  2660.             several listview fixes
  2661.  
  2662.  2000-03-22: Sander van Leeuwen <sandervl@xs4all.nl>
  2663.     - WSOCK32\NEW: Completely rewritten (removed dependancy on pmwsock)
  2664.                        Untested and unfinished (WSAAsyncSelect)
  2665.  
  2666.  2000-03-21: Sander van Leeuwen <sandervl@xs4all.nl>
  2667.     - GDI32: Added RGB 555 to 565 conversion in dibsection blit.
  2668.                  (fixes wrong colors in RealPlayer 7 Update 1 (rm videos
  2669.                   only))
  2670.     - include\odinwrap.h: Disable heap checking by default for debug
  2671.                               build -> kills performance!
  2672.  
  2673.  2000-03-21: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  2674.         - MSVCRT: Adding logging statement to _EH_prolog
  2675.  
  2676.  2000-03-21: Christoph Bratschi <cbratschi@datacomm.ch>
  2677.     - COMCTL32: optimized header/treeview for AMD cpuid
  2678.             fixed dispinfo callbacks
  2679.             reduced listview redraws
  2680.             fixed wrong ASCII definitions in commctrl.h
  2681.  
  2682.  2000-03-20: David Raison <djr@lemur.co.uk>
  2683.      - OLE32: Ported OleQueryCreateFromData, OleCreateFromData from
  2684.               wine/corel sources.
  2685.      - OLEAUT32: Bugfix in ITypeLibImpl_GetDocumentation
  2686.  
  2687.  2000-03-20: Sander van Leeuwen <sandervl@xs4all.nl>
  2688.     - WSOCK32: Fixed relay bug in WSAAsyncSelect (delete relay slot
  2689.                    with same socket nr & window handle; there can
  2690.                    be more selects per window)
  2691.  
  2692.  2000-03-19: David Raison <djr@lemur.co.uk>
  2693.      - OLE32: Bugfixes.
  2694.               Ported changes from wine/corel sources.
  2695.               Created ReadClassStm, WriteClassStm, ProgIDFromCLSID
  2696.  
  2697.  2000-03-19: Sander van Leeuwen <sandervl@xs4all.nl>
  2698.     - ODINCRT: Fixed FS wrapper for _fdopen & others in file.cpp
  2699.                    (missing SetFS)
  2700.  
  2701.  2000-03-19: Michal Necasek <mike@mendelu.cz>
  2702.         - DINPUT: Few fixes, now Fallout 1/2 almost works
  2703.  
  2704.  2000-03-18: Michal Necasek <mike@mendelu.cz>
  2705.         - DDRAW: Fixed messed up DPA callback calling convention
  2706.                  Added some transparent blit code which was
  2707.                  mysteriously missing
  2708.  
  2709.  2000-03-18: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  2710.         - MSVCRT: Implemented _EH_prolog
  2711.  
  2712.  2000-03-18: Christoph Bratschi <cbratschi@datacomm.ch>
  2713.         - USER32: merged with Corel WINE 20000317
  2714.                   added GCL_HICONSM support
  2715.                   fixed messagebox with no icon
  2716.         - COMCTL32: merged with Corel WINE 20000317 + bug fixes
  2717.  
  2718.  2000-03-18: Sander van Leeuwen <sandervl@xs4all.nl>
  2719.         - ODINCRT: Added FS wrapper for _fdopen
  2720.                    (fixes crash at exit in Professional MineSweeper when
  2721.                     selection About Odin from the system menu)
  2722.  
  2723.  2000-03-17: Christoph Bratschi <cbratschi@datacomm.ch>
  2724.         - COMCTL32: fixed trackbar buddy alignment
  2725.                     added useful internal tooltip styles
  2726.  
  2727.  2000-03-17: Sander van Leeuwen <sandervl@xs4all.nl>
  2728.         - WSOCK32: Semaphore protection for relay slot alloc/free
  2729.                    Fixed bug in WSAAsyncSelect.  Allow more than one
  2730.                    async call per window for RelayAlloc call. If it's not
  2731.                    alloced, pmwsock will return an error. Previously it was
  2732.                    overwriting slots for other async calls. (WSAAsyncGetHostName
  2733.                    in RealPlayer 7)
  2734.         - KERNEL32: Fixed handle creation for thread 0.
  2735.  
  2736.  2000-03-16: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
  2737.     - TOOLS\FASTDEP:
  2738.             Speed optimizations: using AVL trees, include dir caching,
  2739.                 dependencies stored in AVL tree until all files has been
  2740.                 processes, buffered write.
  2741.             Cyclic dependency check.
  2742.             All files but the objectfiles now should have fully qualified paths.
  2743.  
  2744.     - INCLUDE\PDWIN32.TOOLS:
  2745.             DEPEND: Enabled cyclic check.
  2746.  
  2747.  2000-03-16: Sander van Leeuwen <sandervl@xs4all.nl>
  2748.         - USER32: Fixed virtual keycode of return key
  2749.                   TODO: Not done for all keys. Should probably looks at the
  2750.                         scancode (not virtual char) to translate keys.
  2751.         - GDI32:  RP7 calls CreateDIBSection with HDC 0; Call
  2752.                   GetWindowDC(GetDesktopWindow()) in that case
  2753.                   -> fixes crash (result of CreateDIBSection failure)
  2754.                   TODO: Looks like this is allowed in NT, but need to check
  2755.                         this to be sure nothing else caused this problem.
  2756.                   (Note: most recent RealPlayer 7 version only)
  2757.         - KERNEL32: Semaphore protection of handle alloc
  2758.                     Added handlemanager class for thread handles
  2759.                     Added workaround for Open32 WaitForSingleObject bug
  2760.                     (if thread is terminated and WaitForSingleObject is
  2761.                      called with the thread's handle -> never returns
  2762.                      (new rp7 hang at exit))
  2763.                     TODO: WaitForMultipleObjects can still hang ->
  2764.                           Event, semaphore, mutex & wait apis need to
  2765.                           be redesigned (not using Open32)
  2766.  
  2767.  2000-03-14: Christoph Bratschi <cbratschi@datacomm.ch>
  2768.         - USER32: implemented much faster LB_SETCOUNT
  2769.  
  2770.  2000-03-12: Sander van Leeuwen <sandervl@xs4all.nl>
  2771.         - USER32: Put back check (oldsel == newsel) in LISTBOX_SetSelection
  2772.                   (why was this commented out?)
  2773.                   Fixed combobox: Clear CBF_SELCHANGE flag before calling
  2774.                                   CBUpdateEdit
  2775.                                   Don't send CBN_EDITUPDATE when CBF_NOEDITNOTIFY
  2776.                                   flag is set (by combo_handletext)
  2777.                   -> fixes infinite loops in RealPlayer 7 (type name of file
  2778.                      previously used in edit box; last letter entered -> crash)
  2779.                   AdjustWindowRectEx bugfix (reported by Robert Lalla)
  2780.                   Don't clear WS_POPUP flag. (HAS_THINFRAME depends on it)
  2781.                   -> fixes wrong resolution changes in Quake 2
  2782.                   Don't clear WS_CHILD flag either. (HAS_THICKFRAME depends on it)
  2783.  
  2784.         - KERNEL32: Clear FILE_SHARE_DELETE flag before calling Open32's
  2785.                     CreateFile. (otherwise it fails) -> fixes RealPlayer 7
  2786.                     Basic (new update).
  2787.  
  2788.         - WSOCK32: Changed workaround for setsockopt bug (SO_SNDBUF/SO_RCVBUF (OS/2's
  2789.                    winsock returns WSAEINVAL if size > 64k))
  2790.                    Only change size if setsockopt returns WSAINVAL (32 bits stack
  2791.                    should support size > 64 kb (?))
  2792.                    Added selective logging feature.
  2793.  
  2794.  2000-03-12: Markus Montkowski <mmontkowski@gmx.de>
  2795.         - KERNEL32: Added fix for GetFileAttributes. Open32 doesn't like
  2796.                     i.e. 'c:'; needs to be changed into 'c:\'
  2797.  
  2798.  2000-03-12: Sander van Leeuwen <sandervl@xs4all.nl>
  2799.         - include\winconst.h: Fixed KEY_ALL_ACCESS definition
  2800.                               (reported by Yuri Dario)
  2801.         - DSOUND: Replaced dsound by new version
  2802.         - USER32: Replaced os2.h includes by os2wrap.h
  2803.                   Set message nr, wParam & lParam to 0 for dummy messages
  2804.                   (to prevent keyboard or mouse messages swallowed by dinput
  2805.                    from being dispatched)
  2806.         - KERNEL32: Replaced os2.h includes by os2wrap.h (cvtcursorgrp & oslibdebug)
  2807.         - WSOCK32: Fixed bug in setsockopt for SO_SNDBUF/SO_RCVBUF (OS/2's
  2808.                    winsock returns WSAEINVAL if size > 64k)
  2809.  
  2810.  2000-03-12: Michal Necasek <mike@mendelu.cz>
  2811.         - dsound\new: Fixed sound in Heroes of M&M III
  2812.  
  2813.  2000-03-11: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  2814.         - OPENGL\GLIDE: Fix for Voodoo 1 glide (missing io ports)
  2815.  
  2816.  2000-03-11: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
  2817.         - OPENGL\GLUT: Fix for gettimeofday. This is defined conflicting in
  2818.                 the toolkit sys\time.h.
  2819.         - TOOLS\BIN: Implemented an optional directory locking in
  2820.                 dowithdirs.cmd. (Useful for SMP builds.)
  2821.  
  2822.  2000-03-11: Sander van Leeuwen <sandervl@xs4all.nl>
  2823.         - OPENGL\GLUT: Fixed compile problems + cleanup
  2824.                        (use C(XX)FLAGS_WIN32APP so you don't have to
  2825.                         explicitely specify which api type you use (ascii or unicode)!)
  2826.  
  2827.         - OPENGL\GLIDE: Fixed wrong binary path for voodoo1 glide
  2828.         - include\win\debugtools.h: Disable TRACE, WARN etc when DEBUG is not defined
  2829.  
  2830.  2000-03-11: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  2831.         - OPENGL: Fixed error preventing build to complete
  2832.  
  2833.  2000-03-09: Sander van Leeuwen <sandervl@xs4all.nl>
  2834.         - KERNEL32: Set initial max nr of file handles to 256 during kernel32 init
  2835.                     Create DDRAW & DSOUND registry keys in InitRegistry
  2836.                     (NOTE: Must be done in install program!)
  2837.                     Added some win95 stubs
  2838.         - GDI32:    Added 16 bits device apis stubs
  2839.  
  2840.  2000-03-10: Michal Necasek <mike@mendelu.cz>
  2841.         - dsound\new: Changed DART buffer size calcualation, hopefully
  2842.                       WinAmp will sound better now.
  2843.  
  2844.  2000-03-09: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
  2845.         - include\pdwin32.tools: New tool, EXISTS --> \tools\bin\Exists.cmd
  2846.         - tools\bin\Exists.cmd: New tool which checks if the file passed in
  2847.                 exists. If the file exists it returns 0, else 1. This is
  2848.                 used to check if .depend and other files exists in the
  2849.                 makefiles. (See pdwin32.post to see how.)
  2850.         - include\pdwin32.post: .depend is only included if it exists. You'll
  2851.                 get a warning if it don't, but the makefile works fine.
  2852.                 Added a check on OBJDIR not being empty in the clean rule.
  2853.                 $(RM) $(OBJDIR)\* is will remove all files in the root dir if
  2854.                 OBJDIR is empty.
  2855.         - win32k: Updated makefile with the use of EXISTS for both .depend and
  2856.                 makfile.inc. An update check for makefile.inc <-> configure.cmd
  2857.                 was also added.
  2858.                 Added checks for empty variables in clean rule, and we no longer
  2859.                 deletes * in any directory.
  2860.  
  2861.         A CVS tip:
  2862.             When new directories are added you have to to a 'cvs checkout .'
  2863.             from the root.
  2864.             A 'cvs update' don't get the new directories it seems
  2865.         (There have been added some dirs under win32k lately so please do this.)
  2866.  
  2867.  2000-03-09: Sander van Leeuwen <sandervl@xs4all.nl>
  2868.         - KERNEL32: Major rewrite of PE loader classes to correctly support
  2869.                     dll dependencies
  2870.                     TODO: Circular dependencies only partly working
  2871.                           (a->b->a works, but a->b->c->a doesn't)
  2872.         - USER32: Fixed bug in dialog constructor (class name translation)
  2873.                   (only showed up in release build)
  2874.                   Dinput mouse changes/fixes
  2875.  
  2876.  2000-03-08: Michal Necasek <mike@mendelu.cz>
  2877.         - dsound\new: Fixed volume and panning calculation that
  2878.                       sometimes caused ugly noise
  2879.  
  2880.  2000-03-08: Michal Necasek <mike@mendelu.cz>
  2881.         - dsound\new: Completely new DART-based DirectSound. Works fine
  2882.                       for me with Quake 3, Moorhuhn and WinAmp.
  2883.  
  2884.  2000-03-07: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
  2885.         - makefiles and include\pdwin32.*:
  2886.             * Updated nearly all makefiles to the new makefile style.
  2887.               Win32k, pe2lx and some subdirs of Winmm
  2888.             * Odin32 resource files are now to have the extention .orc
  2889.               All files have, save some under WinMM and in old/new dirs,
  2890.               been renamed. There are now new interference rules in
  2891.               pdwin32.tools which will create the resource assembly and
  2892.               assemble it into an object file. So you simply have to
  2893.               specify the output object file for Odin32 resources along
  2894.               with the other object files.
  2895.             * A little not on forwarders. ILINK returns a warning code of
  2896.               4 when aliases are generated. An errorcode <> 0 stops NMAKE
  2897.               normally. To workaround these problem we simply tell NMAKE to
  2898.               accespt all error codes in the range 0-4. This is done by
  2899.               putting '-4 ' in front of the $(LD2) statement.
  2900.               I don't want to see _any_ '-$(LD2)'!!!
  2901.  
  2902.  
  2903.  2000-03-06: Sander van Leeuwen <sandervl@xs4all.nl>
  2904.         - USER32: Fixed bug in edit control
  2905.                   If nyoff > nr lines in control -> bottom line in control
  2906.                   window should show last line of control
  2907.                   Wine code shows last line at the top of the control
  2908.                   (Quake 3 startup edit control shows the problem)
  2909.  
  2910.  2000-03-05: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
  2911.         - include\pdwin32.vac*: Added OS2RC and OS2RCFLAGS. This defines the
  2912.                 OS/2 resource compiler and the flags used during compilation.
  2913.                 When it comes to linking we should assume NO flags and simply
  2914.                 invoke the it like this: $(OS2RC) <source>.res <target>.dll.
  2915.                 (See src\kernel32\makefile for an example.)
  2916.  
  2917.  2000-03-05: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  2918.         - GLUT32: Really fixed optimized build now. Was not a VACPP bug but
  2919.                   error in calling convention prototype in glutint.h
  2920.  
  2921.  2000-03-04: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  2922.         - GLUT32: Added logic to escape from optimizer bug in VACPP
  2923.  
  2924.  2000-03-04: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
  2925.         - fastdep: Simple preprocessor. Commments and #if 0/1.
  2926.         - OPENGL: Corrected makefiles. using LD2 and LD2FLAGS. Many makefiles
  2927.                  Didn't concider the NODEBUGINFO macro causing daily builds
  2928.                  to become enormous. Daily build of 6MB is not good!.
  2929.         - include\pdwin32.v*.*:
  2930.                 *Alternate linker tool, LD2. This is ilink for VAC.
  2931.                  (See src\kernel32\makefile for hints how to use it).
  2932.                 *Synced configuration for the two VAC versions.
  2933.  
  2934.                  NOTE that NODEBUGINFO and DEBUGALL is handled within these
  2935.                  files. You don't have to test for them to set the correct
  2936.                  compiler and linker flags, this is allready done!
  2937.  
  2938.  2000-03-04: Sander van Leeuwen <sandervl@xs4all.nl>
  2939.         - INCLUDE\pdwin32.tools, pdwin.vac*
  2940.                    Added new build rules (conditional at this time)
  2941.                    For each dll a subdir bin\release & bin\debug is created
  2942.                    in which the object files of the release & build version
  2943.                    are saved.
  2944.         - INCLUDE\pdwin32.post
  2945.                    Common makefile rules to be included by all makefiles
  2946.         - USER32\KERNEL32: Switched to new build rules
  2947.         - WSOCK32: Fixed bug in setsockopt for SO_LINGER (options size wasn't
  2948.                    adjusted)
  2949.         - KERNEL32: Fixed shell dirs (now all created in odin\bin dir)
  2950.                     Partially fixed destruction of loaded dlls in ExitProcess
  2951.                     (TODO: dependencies are not yet right; needs new design)
  2952.                     Added check and fix for DosOpen (ERROR_TOO_MANY_OPEN_FILES)
  2953.                     to hmdevio.cpp
  2954.         - USER32: Pass on keyboard messages if dinput handler returns TRUE
  2955.                   Also send non-client mouse messages to dinput
  2956.                   (TODO: always returns true after calling dinput handler)
  2957.         - OPENGL\GLIDE:
  2958.                   Added check and fix for DosOpen (ERROR_TOO_MANY_OPEN_FILES)
  2959.                   to hmdevio.cpp (reported by Michal Necasek)
  2960.  
  2961.  2000-03-03: Markus Montkowski <mmontkowski@gmx.de>
  2962.         - DDRAW:  Fixed bug in CreateSurface and QueryInterface
  2963.                   (Moorhuhn now starts fine with ddraw)
  2964.         - USER32: Changed VirtualKey for VK_NEWLINE from 0x0A to 0x0D
  2965.                   in the virtualKeyTable
  2966.  
  2967.  2000-03-03: Sander van Leeuwen <sandervl@xs4all.nl>
  2968.         - KERNEL32: Create shell dirs in odin\bin directory
  2969.                     Cleanup (never call Open32 apis directly if the proc
  2970.                     isn't a wrapper; include win32api.h and call Odin api)
  2971.                     Fixed FS corruption for DosAliasMem
  2972.                     Fixed bug in Win32PeLdrImage::commitPage (quake 3 screensaver's
  2973.                     fixup section doesn't start on page boundary)
  2974.         - ADVAPI32/KERNEL32: Moved registry apis in kernel32 as we need them
  2975.                              there (importing them directly creates a circular
  2976.                              dependency (kernel32->advapi32->kernel32))
  2977.                              Should probably be moved to ntdll
  2978.         - WINMM: Fixed typo in DartWaveOut::init to determine bits per sample
  2979.                  (Realplayer 7 audio now works (when playing .rm files))
  2980.  
  2981.  2000-03-03: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  2982.         - KERNEL32: Fixed calling convention bug in conprop2.cpp
  2983.                     (caused crashes with release build)
  2984.  
  2985.  2000-03-02: Sander van Leeuwen <sandervl@xs4all.nl>
  2986.         - OPENGL\GLIDE:         Use Odin OS/2 api wrappers in fxos2.cpp
  2987.         - OPENGL\MESA:          Reapplied TLS fixes
  2988.                                 Check for null pointer in wglSetPixelFormat
  2989.         - OPENGL\MESA\3dfx:     Use c files from Mesa dir
  2990.                                 Check for null pointer in wglSetPixelFormat
  2991.         - WINMM: Fixed DartWaveOut::getPosition (overflow)
  2992.                  (fixes mp3 playback in RealPlayer 7)
  2993.         - KERNEL32: Fixed SetCurrentDirectory (don't remove backslash
  2994.                     if app wants to change dir to "\")
  2995.                     Create shell folders + shell keys
  2996.                     (NOTE: This has to be done in the odin install program
  2997.                            once we have one)
  2998.         - ADVAPI32: Added crypt api stubs
  2999.  
  3000.  2000-03-01: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  3001.         - OPENGL: Implemented DIVE support in Mesa
  3002.  
  3003.  2000-03-01: Sander van Leeuwen <sandervl@xs4all.nl>
  3004.         - USER32: Fixes for FindWindow(ExA/W) - now more like Wine
  3005.                   (FindWindowExW was not working correctly either)
  3006.                   First send WM_NCACTIVATE, then WM_ACTIVATE
  3007.                   Fixed focus problems with Odin apps
  3008.                   (Call WinSetFocus in OSLibWinSetActiveWindow instead of
  3009.                    WinSetActiveWindow when a user clicks on the titlebar
  3010.                    of an inactive window & after sending WM_MOUSEACTIVATE)
  3011.                   TODO: Does WinSetActiveWindow work properly or should we
  3012.                         always call WinSetFocus???
  3013.                   Call Dinput handler when translating mouse & keyboard
  3014.                   messages (during Get/PeekMessage)
  3015.         - OPENGL: Always build release version of glide, mesa, glu32 & glut
  3016.                   Build mesa software & 3dfx dlls; don't build OS/2 opengl
  3017.                   wrapper anymore
  3018.         - OPENGL\GLIDE\CVG\GLIDE:
  3019.                   Disable instruction scheduling in release build -> messed up
  3020.                   colors when turned on (most likely VAC optimizer bug)
  3021.                   TODO: Somebody should also check this for the voodoo 1 glide dll.
  3022.         - OPENGL\GLIDE\CVG:
  3023.                   Fixed makefile
  3024.         - OPENGL\MESA\GL\gl.h
  3025.                   Removed circular header dependency (breaks build)
  3026.         - OPENGL\MESA\3dfx:
  3027.                   Copy 3dfx opengl32.dll to bin\glide
  3028.  
  3029.  2000-03-01: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  3030.         - USER32: Fixed dprintf in CreateWindowExW
  3031.                   Added left & right cursor keys to Win32BaseWindow::setExtendedKey
  3032.  
  3033.  2000-02-29: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  3034.         - USER32: Added support for keyboard hooks (fixes Moorhuhn)
  3035.                  in PeekMessage & GetMessage
  3036.  
  3037.  2000-02-29: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
  3038.         - TOOLS\FASTDEP: Restructured it a little. Support for multiple
  3039.                     languages:
  3040.                         C and C++ (as earlier)
  3041.                         Assembly
  3042.                         Resource files (OS/2 resources at least...)
  3043.                         COBOL (just for fun! - I'll use it at job)
  3044.                     Things seems to work ok, but if an error occurs, please
  3045.                     fix it or send me a note and I'll fix it ASAP.
  3046.  
  3047.  2000-02-29: Sander van Leeuwen <sandervl@xs4all.nl>
  3048.         - OPENGL\MESA: Added Odin port of Mesa Opengl library
  3049.                       (Ported by Jeroen van den Horn)
  3050.           NOTE: The Mesa 3D graphics library has a different license
  3051.                (see LICENSE.TXT in the Mesa directory)
  3052.         - OPENGL\MESA\3DFX:
  3053.                 Added Odin port of 3dfx Voodoo Mesa GL
  3054.                (tested with simple opengl samples only, but
  3055.                 this is the first hardware accelerated Opengl
  3056.                 implementation for OS/2!)
  3057.           NOTE: The Mesa 3dfx graphics library has a different license
  3058.                (see LICENSE.TXT in the Mesa\3dfx directory)
  3059.         - KERNEL32: Only call ExitProcess the first time KillWin32Process
  3060.                     is executed. Call DosExit otherwise.
  3061.                     Fix for GpdDev device io (needed for native glide dll)
  3062.  
  3063.  2000-02-28: Sander van Leeuwen <sandervl@xs4all.nl>
  3064.         - KERNEL32: Call ExitProcess in KillWin32Process to make sure
  3065.                    the dll libmain handlers are called after a crash.
  3066.                    (i.e. Glide needs this to restore the display)
  3067.         - INCLUDE\WIN: Added wgl definitions to wingdi.h
  3068.  
  3069.  2000-02-27: Sander van Leeuwen <sandervl@xs4all.nl>
  3070.         - WINMM: Implemented waveOutGetPosition
  3071.  
  3072.  2000-02-27: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
  3073.         - pdwin32.tools: "New" tool, MAKE_CMD. Passes on the DEBUG and
  3074.                     NODEBUGINFO macros variables to the next make job.
  3075.                     (It's better to have it here than to have it in nearly
  3076.                     all makefiles, and forgetting to put it there...)
  3077.         - WIN32K:  *The dep rule will make a makefile.inc if not present. It
  3078.                     will also make dependencies for pe2lx and lib.
  3079.                    *Have created a lib rule.
  3080.                    *The all rule will now make Pe2Lx.
  3081.         - src/makefile: win32k makes pe2lx, no need for special pe2lx stuff.
  3082.  
  3083.               Sander, have a look the build and rebuild rules please.
  3084.  
  3085.  2000-02-26: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
  3086.         - WIN32K: *Symbol Database is implemented. Contains symbols for most
  3087.                    retail kernels. (see win32k.txt or readme.txt)
  3088.                   *No scanning of the os2krnl file, the loaded image is now
  3089.                     scanned to determin which build, debug/retail and smp/uni.
  3090.                   *16-bit logging.
  3091.                   *Extract.exe rule. Extract.exe program generates the
  3092.                    SymDb.c source file found in dev16 from a collections of
  3093.                    kernel symbol files.
  3094.  
  3095.  2000-02-25: Christoph Bratschi <cbratschi@datacomm.ch>
  3096.         - COMCTL32: added listview unicode support
  3097.                     fixed treeview WM_VSCROLL, trap in UNILIB
  3098.  
  3099.  2000-02-24: Achim Hasenmueller <achimha@innotek.de>
  3100.         - COMCTL32: Added infoPtr == NULL checks in tooltips control
  3101.                     to prevent crashes when tooltip creation fails
  3102.  
  3103.  2000-02-25: Sander van Leeuwen <sandervl@xs4all.nl>
  3104.         - OPENGL\GLIDE: Added Odin version of Glide based on the OS/2 port
  3105.                        written by Craig Ballantyne. (Voodoo 1 & Voodoo 2)
  3106.                        NOTE: Includes 3dfx Glide license
  3107.  
  3108.  2000-02-24: Sander van Leeuwen <sandervl@xs4all.nl>
  3109.         - USER32: WS_MAXIMIZE & WS_MINIMIZE flags updated when necessary
  3110.                  Changed/fixed RedrawWindow -> fixes lack of erase background
  3111.                  msg in AbiWord rebar control & Papyrus start dialog
  3112.                  TODO: Pingpong.exe broken again. Need to fix this correctly
  3113.                    Hide caret in BeginPaint, show it in EndPaint
  3114.         - GDI32: CreateICA/W bugfix (Open32 tests lpszDriver for NULL even though it's ignored)
  3115.                 (fixes Papyrus error message about CreateIC)
  3116.         - COMCTL32: Fixed wrong calling convention for property sheet handlers
  3117.                    (prsht.h in include\win)
  3118.                      This fixes crashes in VPBUDDY (preferences dialog) AND (!)
  3119.                    fixes the empty preferences dialog in both debug & release
  3120.                    builds.
  3121.                    NOTE: I've fixed similar bugs before. Somebody should verify
  3122.                          all comctl32 handlers...
  3123.  
  3124.  2000-02-23: Christoph Bratschi <cbratschi@datacomm.ch>
  3125.         - USER32: export 55AA pattern functions for COMCTL32
  3126.                    fixed EN_CHANGED
  3127.         - COMCTL32: converted to C++ -> needs nmake dep
  3128.                      ported animate control
  3129.  
  3130.  2000-02-22: Sander van Leeuwen <sandervl@xs4all.nl>
  3131.         - WINMM/GDI32/KERNEL32/USER32: Fixed compile problems for release build
  3132.         - USER32: Fixed bug in window class ctor (windowProc not set to 0)
  3133.                  (only showed up in release build)
  3134.         - KERNEL32: Fixed bug in commitPage (winimagepeldr.cpp)
  3135.                    (only showed up in release build)
  3136.                    Fixed wrong calling convention for SetLastError calls
  3137.                    in OSLibiGetModuleHandleA
  3138.                    (only showed up in release build)
  3139.                    Fixed wrong calling convention for SetLastError calls
  3140.                    in oslibdos.cpp.
  3141.  
  3142.  2000-02-22: Christoph Bratschi <cbratschi@datacomm.ch>
  3143.         - COMCTL32: merged with Corel WINE 20000212
  3144.                      added common base functions
  3145.  
  3146.  2000-02-21: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  3147.         - CRTDLL: Added wtol, wtoi, setsystime, getsystime
  3148.  
  3149.  2000-02-21: Christoph Bratschi <cbratschi@datacomm.ch>
  3150.         - USER32: merged controls and nc code with Corel WINE 20000212
  3151.                    added WS_EX_CONTEXTHELP button
  3152.  
  3153.  2000-02-21: knut st. osmundsen <knut.stange.osmundse@pmsc.no>
  3154.         - WIN32K: *Initial support for UNIX-styled scripts
  3155.                    (files starting with an #!<interpreter> [args...])
  3156.                    This is a _very_ big hack! But never the less it's working.
  3157.                    (or at least it seems like working...)
  3158.                   *The kernel symbol importer is enhanced to support more
  3159.                    generic function prologs and to import variables and
  3160.                    16-bit functions.
  3161.                   *Segments are now locked in physical memory.
  3162.                   (Note, last changes have not been tested on Aurora yet,
  3163.                    but it will hopefully work just fine.)
  3164.  
  3165.  2000-02-21: Sander van Leeuwen <sandervl@xs4all.nl>
  3166.         - GDI32: SetDIBits bugfix (for dib sections)
  3167.         - USER32: Ported all Wine accelerator apis (fixes keys in calc)
  3168.  
  3169.  2000-02-21: Jens Wiessner <wiessnej@rfi.de>
  3170.         - RASAPI32: Added stubs
  3171.         - OLEPRO32: Ported Corel Wine stub dll
  3172.         - CRTDLL: Replaced some stubs
  3173.  
  3174.  2000-02-18: Sander van Leeuwen <sandervl@xs4all.nl>
  3175.         - OPENGL\GLIDE: Added Odin version of Glide based on the OS/2 port
  3176.                        written by Craig Ballantyne. (Voodoo 1)
  3177.                        NOTE: Includes 3dfx Glide license
  3178.  
  3179.  2000-02-17: Sander van Leeuwen <sandervl@xs4all.nl>
  3180.         - KERNEL32: Fixed memory map view bug (main map deleted when there
  3181.                    were still views left) -> fixes crash when playing Realplayer
  3182.                    video (.rm) files
  3183.         - WINMM: Added new logging feature + fixed waveout query format bug
  3184.  
  3185.  2000-02-16: Christoph Bratschi <cbratschi@datacomm.ch>
  3186.         - COMCTL32: treeview: switched to unicode, fixed many bugs
  3187.  
  3188.  2000-02-16: Sander van Leeuwen <sandervl@xs4all.nl>
  3189.         - KERNEL32/USER32/GDI32: Added new logging feature which allows users
  3190.                                  to disable or enable logging for separate source
  3191.                                  files. (see Logging.txt for details)
  3192.         - GDI32: SetDIBitsToDevice fix for RealPlayer 7 (store the right bitmap
  3193.                  size in the BITMAPINFO structure before calling Open32)
  3194.  
  3195.  2000-02-15: Sander van Leeuwen <sandervl@xs4all.nl>
  3196.         - USER32: SetWindowPos bugfix (returned before hiding or showing windows)
  3197.                   Fixes Delphi apps
  3198.         - KERNEL32: Fixed Release method of LX dlls (didn't delete object)
  3199.                     Fixed cpuhlp assembly functions (compiler changes calling
  3200.                     convention with optimizations on (stores parameter in eax
  3201.                     instead of on the stack)
  3202.  
  3203.  2000-02-14: Sander van Leeuwen <sandervl@xs4all.nl>
  3204.         - COMCTL32: Added Wine license
  3205.         - KERNEL32: Search in path for dlls if the pe loader can't find them
  3206.                     (RP7 loads pngu3264.dll by changing PATH and then calling
  3207.                      LoadLibrary)
  3208.  
  3209.  2000-02-14: Christoph Bratschi <cbratschi@datacomm.ch>
  3210.         - USER32: merged combobox with Corel 20000212
  3211.         - COMCTL32: merged treeview with Corel 20000212 and continued rewrite
  3212.  
  3213.  2000-02-12: Christoph Bratschi <cbratschi@datacomm.ch>
  3214.         - USER32: added v5.00 messages to wndmsg.cpp
  3215.         - GDI32: LineDDA fix
  3216.  
  3217.  2000-02-12: David Raison <djr@lemur.co.uk>
  3218.         - OLE32: Fixed IsEqualIID issue
  3219.  
  3220.  2000-02-11: Vit Timchishin <tvv@sbs.kiev.ua>
  3221.         - KERNEL32: Fix for OpenFile; fill in OFSTRUCT even if api fails
  3222.                     (needed for Acrobat Reader 4.0)
  3223.  
  3224.  2000-02-10: Knut Stange Osmundsen (knut.stange.osmundsen@pmsc.no)
  3225.         - /tools/database/ + /src/makefile: Odin32 API DB.
  3226.  
  3227.  2000-02-10: Christoph Bratschi <cbratschi@datacomm.ch>
  3228.         - USER32: added some stubs
  3229.                   fixed wrong pixels at the right side of menu items
  3230.         - COMCTL32: implemented LVS_NOSORTHEADER
  3231.                     increased statusbar height (temporal hack)
  3232.                     first steps of treeview rewrite
  3233.  
  3234.  2000-02-10: Sander van Leeuwen <sandervl@xs4all.nl>
  3235.         - GDI32: Added support for memory map handles in CreateDIBSection
  3236.                  Fixed CreateICA/W; Open32's version is case sensitive whereas
  3237.                  win32's apparently isn't.
  3238.         - TOOLS\makefile: fixed clean build
  3239.         - src\makefile: fixed clean build
  3240.         - src\makefile.smp: fixed incorrect dir change
  3241.  
  3242.  2000-02-10: Knut Stange Osmundsen (knut.stange.osmundsen@pmsc.no)
  3243.         - *: Updated the source tree to use autogenerated dependencies.
  3244.              You will have to do a 'nmake dep' from either /src or / before
  3245.              being able to make anything.
  3246.              -All makefiles is required to have a 'dep' rule.
  3247.              -All dll makefiles is now required to have a 'lib' rule which
  3248.               makes the libraries for the module. This rule should also
  3249.               check that the library in $(PDWIN32_LIB) is up-to-date.
  3250.         - Tools/FastDep: Dependency tool. (Fast=Quick-and-Dirty)
  3251.              Moved from /src/win32k. This is currently used to generate
  3252.              dependency information.
  3253.              Note that it doesn't have any precompiler logic! This is causeing
  3254.              some warnings...
  3255.         - include/pdwin32.tool: Two new tools DEPEND and DOWITHDIRS.
  3256.         - src/makefile: used the DOWITHDIRS to do cleanup, lib and dep.
  3257.  
  3258.  2000-02-10: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  3259.         - GDI32: Fix alignment for 1 & 4 bits bitmaps (dibsection)
  3260.         - NTDLL: Pretend no debugger is active in NtQueryInformationProcess
  3261.  
  3262.  2000-02-09: Sander van Leeuwen <sandervl@xs4all.nl>
  3263.         - USER32: Implemented WaitForInputIdle
  3264.                   ScrollWindow fix; don't call InvalidateRect as WinScrollWindow
  3265.                   already invalidates the area (and the call to InvalidateRect was
  3266.                   wrong as it has to include the erase flag; should have called
  3267.                   RedrawWindow instead)
  3268.         - KERNEL32: WinExec: Wait for process to block on input before
  3269.                     returning
  3270.         - OpenGL base, GLUT, GLU: Added version resource, removed dll exitlist
  3271.                                   handlers
  3272.  
  3273.  2000-02-09: Knut Stange Osmundsen (knut.stange.osmundsen@pmsc.no)
  3274.         - OpenGL base, GLUT, GLU: NODEBUGINFO implemented in the makefiles.
  3275.  
  3276.  2000-02-09: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  3277.         - ODIN.INI: OPENGL32.DLL <--> OPENGL.DLL translation, since
  3278.                     WinXX OpenGL apps can be dynamically linked with
  3279.                     MS OpenGL (OPENGL32.DLL) *or* SGI OpenGL (OPENGL.DLL).
  3280.  
  3281.  2000-02-09: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  3282.         - OpenGL base: Various minor fixes
  3283.         - OpenGL GLUT: Various minor fixes
  3284.         - OpenGL GLU:  'Native' port of SGI GLU
  3285.  
  3286.  2000-02-08: Knut Stange Osmundsen <knut.stange.osmundsen>
  3287.         - Win32k: Temporarily disabled some unused imported kernelfunctions.
  3288.                   Corrected a problem with overloading _ldrEnum32bitRelRecs;
  3289.                   it failed on WS4eB. (Message 'DosDevIOCtl failed')
  3290.  
  3291.  2000-02-08: Sander van Leeuwen <sandervl@xs4all.nl>
  3292.         - USER32: Don't use shell positioning for child windows (breaks Notes)
  3293.                   Turn of WM_BACKERASEBKGND when calling RedrawWindow to
  3294.                   invalidate a window (without erase flag set; but also without
  3295.                   noerase) -> fixes flickering in pingpong Opengl sample
  3296.         - KERNEL32: Search path for executables when they can't be found in
  3297.                     the current directory.
  3298.  
  3299.  2000-02-07: Christoph Bratschi <cbratschi@datacomm.ch>
  3300.         - KERNEL32: Ported more Wine thunk apis
  3301.  
  3302.  2000-02-07: Sander van Leeuwen <sandervl@xs4all.nl>
  3303.         - USER32: Fix for DCX_INTERSECTRGN in GetDCEx (use ExtSelectClipRgn
  3304.                   to combine current & new clip region)
  3305.         - ADVAPI32: Ported Wine LookupAccountSidA/W (semi-stubs now)
  3306.  
  3307.  2000-02-06: Jens Wiessner <wiessnej@rfi.de>
  3308.         - WINMM: Updated MCI dlls (added version info)
  3309.  
  3310.  2000-02-06: Sander van Leeuwen <sandervl@xs4all.nl>
  3311.         - KERNEL32: Changed GetProcessDword ordinal to 18
  3312.         - USER32: Temporarily commented out shellposition changes
  3313.                   (breaks i.e. calc & Notes)
  3314.                   Started rewriting BeginPaint/EndPaint + DC apis
  3315.  
  3316.  2000-02-06: Christoph Bratschi <cbratschi@datacomm.ch>
  3317.         - USER32: ported WinHelpA from WINE
  3318.  
  3319.  2000-02-05: Christoph Bratschi <cbratschi@datacomm.ch>
  3320.         - USER32: WM_SETHOTKEY: save data
  3321.                   prototype for WS_EX_CONTEXTHELP button
  3322.                   check WS_EX_RIGHT in button control
  3323.                   fixed tasklist entry
  3324.                   implemented CW_USEDEFAULT with FCF_SHELLPOSITION
  3325.  
  3326.  2000-02-05: Sander van Leeuwen <sandervl@xs4all.nl>
  3327.         - KERNEL32: Memory map fixes (file maps)
  3328.         - USER32: mdi child creation fix (child still not activated when created)
  3329.                   Default WM_ERASEBKGND handler change (only erase invalid area)
  3330.                   (note: might be wrong; have to check this in NT; probably
  3331.                          need to rewrite code that sends those messages)
  3332.                   -> fixes redraws for i.e. windows behind menu windows
  3333.         - GDI32: Don't use Open32 apis to load opengl32 (nor for GetProcAddress)
  3334.                  Import wgl* apis
  3335.         - OPENGL: Removed OS2wgl apis (they had the wrong calling convention
  3336.                   -> causes crashes in gdi32 when compiled with optimizations on)
  3337.  
  3338.  2000-02-04: Markus Montkowski <mmontkowski@gmx.de>
  3339.         - DDRAW:  Many minor/major bugfixes at numerous places
  3340.         - DSOUND: Fixed GetCurrentBufferPos in the virtual player
  3341.  
  3342.  2000-02-04: Sander van Leeuwen <sandervl@xs4all.nl>
  3343.         - ALL: Added version resource (if not already present)
  3344.                Link with dllentry.obj (those dlls that don't need custom dll
  3345.                entrypoints)
  3346.                Clean up in process detach handler of win32 libmain
  3347.                (except for a few core dlls (gdi32/user32/kernel32))
  3348.         - DLLENTRY: Standard dll entrypoint
  3349.  
  3350.  2000-02-04: Christoph Bratschi <cbratschi@datacomm.ch>
  3351.         - COMCTL32: merged with WINE 20000130
  3352.  
  3353.  2000-02-03: Jens Wiessner <wiessnej@rfi.de>
  3354.         - NTDLL: Ported Wine security apis
  3355.         - CRTDLL: Update
  3356.  
  3357.  2000-02-03: Christoph Bratschi <cbratschi@datacomm.ch>
  3358.         - USER32: merged controls with WINE 20000130
  3359.  
  3360.  2000-02-03: Daniela Engert <dani@ngrt.de>
  3361.         - GDI32: Implement RGB 555 to RGB 565 conversion in assembler
  3362.  
  3363.  2000-02-03: Sander van Leeuwen <sandervl@xs4all.nl>
  3364.         - WININET: Ported Wininet code from Corel Wine tree
  3365.         - INCLUDE\WINSOCK: MS Winsock compatible header
  3366.         - GDI32: Prelimary RGB 555 to RGB 565 conversion in SetDIBitsToDevice
  3367.                  (will be rewritten in assembly for better performance)
  3368.                  (for RealPlayer videos in 16 bits mode)
  3369.                  BitBlt fix (return after dibsection blit -> fixes Quake 2)
  3370.                  Added MMX RGB conversion.
  3371.         - USER32: Added export for OS2ToWin32Handle
  3372.         - COMDLG32: Merged with latest Wine version (20000109)
  3373.         - INCLUDE\WIN: Fixes to compile comdlg32 in C mode
  3374.                  (will be rewritten in assembly for better performance)
  3375.                  (for RealPlayer videos in 16 bits mode)
  3376.                  BitBlt fix (return after dibsection blit -> fixes Quake 2)
  3377.  
  3378.  2000-02-01: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  3379.         - OPENGL: Ported SGI GLUT sources + Opengl update
  3380.  
  3381.  2000-02-01: Sander van Leeuwen <sandervl@xs4all.nl>
  3382.         - GDI32: Cleaned up
  3383.                  Fixes for dib section apis. RealPlayer 7 can play videos
  3384.                  now (correct in 24 bps mode; upside down and wrong colors
  3385.                  in 16 bps mode)
  3386.  
  3387.  2000-02-01: Knut Stange Osmundsen <knut.stange.osmundsen>
  3388.         - Pe2Lx: Makefile should be working again.
  3389.         - KERNEL32: RegisterPe2LxDll - no detach is done for Pe2Lx/Win32k DLLs.
  3390.                     This is a temporary fix.
  3391.  
  3392.  2000-02-01: Patrick Haller <phaller@gmx.net>
  3393.         - SHELL32: Added PathSkipRootAW
  3394.  
  3395.  2000-02-01: Jens Wiessner <wiessnej@rfi.de>
  3396.         - NTDLL: Updated .def file (similar to NT 4 SP6) + bugfix for impdef
  3397.  
  3398.  2000-01-31: Sander van Leeuwen <sandervl@xs4all.nl>
  3399.         - USER32: GetDCEx with window handle 0 fails in Windows 98; now it also
  3400.                   returns an error in Odin.
  3401.                   GetWindowDC & GetDC use the desktop window handle if hwnd == 0
  3402.                   (before calling GetDCEx)
  3403.         - GDI32: Set dibsection bitmap data to 0 when allocating it.
  3404.  
  3405.  2000-01-30: Sander van Leeuwen <sandervl@xs4all.nl>
  3406.         - PELDR: Fixed error messages for images without fixups (peldr.dll no
  3407.                  longer required)
  3408.         - GDI32: Removed wrong bugfix for GetDIBits (breaks Lotus Notes)
  3409.         - USER32: Don't check for window visibility when calling SetWindowPos
  3410.                   in SetMenu. (fixes menu in standard minesweeper)
  3411.                   (NOTE: May need to call SetWindowPos with SWP_FRAMECHANGED
  3412.                          when showing a window (see Wine code))
  3413.                   Put back GetMenuStringA fix (return length of string if string pointer
  3414.                   or size parameter == 0) (almost fixes Realplayer 7 menu)
  3415.  
  3416.  2000-01-29: Sander van Leeuwen <sandervl@xs4all.nl>
  3417.         - GDI32: Save and restore FPU control word when calling
  3418.                  Open32's DrawText. DrawText trashes it which causes drawing
  3419.                  problems in RealPlayer 7.
  3420.         - USER32: Call DrawTextA in uitools.cpp, not Open32's DrawText.
  3421.                   Fix for SetWindowPos for showing hidden windows
  3422.                   (call ShowWindow) -> fixed non-visible button bar in mIRC
  3423.                   Don't set WS_VISIBLE on by default. Windows are made visible
  3424.                   during creation by calling ShowWindow.
  3425.                   Call UpdateWindow for client window, not the frame.
  3426.         - INCLUDE\WIN\wingdi.h: Added GdiFlush declaration
  3427.         - INCLUDE\makefiles: Added c/c++ definitions for win32 apps (without
  3428.           -D__WINE__ so you don't need to specify whether you use the ascii
  3429.           or unicode version of a win32 api)
  3430.  
  3431.  2000-01-29: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  3432.         - KERNEL32: Added GlobalWire/GlobalUnwire
  3433.  
  3434.  2000-01-28: Sander van Leeuwen <sandervl@xs4all.nl>
  3435.         - GDI32: Wrong return values for GetDIBits & SetDIBitsToDevice
  3436.                  (nr of scan lines copied; not true/false)
  3437.         - USER32: Don't call default frame handler for WM_ADJUSTWINDOWPOS
  3438.                   (fixes window resize when playing videos in RealPlayer v7 &
  3439.                    dragging titlebar in Professional Mine Sweeper)
  3440.  
  3441.  2000-01-28: Knut St. Osmundsen <knut.stange.osmundsen@pmsc.no>
  3442.         - Win32k: Heap is splitted into a swappable and a resident heap.
  3443.                   Fixups are now applied when a page is loaded from disk.
  3444.                   This is done by overloading the kernel function called
  3445.                   (_)ldrEnum32bitRelRecs. This should improve performance a lot!
  3446.  
  3447.  2000-01-27: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  3448.         - OPENGL: First version of opengl implementation
  3449.  
  3450.  2000-01-27: Sander van Leeuwen <sandervl@xs4all.nl>
  3451.         - USER32: Fixed FS corruption in OSLibPostThreadMessage
  3452.                   Send WM_CHILDACTIVATE to child windows (not only
  3453.                   to MDI children) instead of WM_ACTIVATE
  3454.         - SHELL32: Fixed FS corruption in DragAcceptFiles
  3455.  
  3456.  2000-01-26: Yuri Dario <mc6530@mclink.it>
  3457.         - INCLUDE\WIN: Additions & changes for compiling Opera.
  3458.         - many dlls: create correct library (impdef)
  3459.  
  3460.  2000-01-26: Jeroen van den Horn <J.vandenHorn@fibre.a2000.nl>
  3461.         - GDI32: Changes for Opengl support
  3462.  
  3463.  2000-01-26: Christoph Bratschi <cbratschi@datacomm.ch>
  3464.         - USER32: fixed WM_MOVE, MsgFormatFrame and WM_WINDOWPOS* to use parent
  3465.                   coordinates
  3466.                   changed min frame size
  3467.         - COMCTL32: fixed wrong progress frame
  3468.  
  3469.  2000-01-26: Sander van Leeuwen <sandervl@xs4all.nl>
  3470.         - OLEAUT32: Don't create logfile when logging is turned off
  3471.         - PELDR:    Don't modify cmd line in PIB structure
  3472.         - INCLUDE:  Removed string.h.
  3473.         - KERNEL32: Added workaround for OS/2 DosSetMem bug in VirtualAlloc
  3474.                     (if memory is reserved, set read & write page flags)
  3475.  
  3476.  2000-01-25: Sander van Leeuwen <sandervl@xs4all.nl>
  3477.         - PELDR/KERNEL32: Allocate low memory at right address and with right size
  3478.                           in peldr.dll (fixes install of Windows Media Player)
  3479.         - KERNEL32: Print thread id for each log message
  3480.  
  3481.  2000-01-22: Michal Necasek <mike@mendelu.cz>
  3482.         - DINPUT: Fixes + basic functionality is complete; enough for many games
  3483.  
  3484.  2000-01-21: Sander van Leeuwen <sandervl@xs4all.nl>
  3485.         - USER32: Put back old WM_MOVE, MsgFormatChanged & OSLibSWPToWINDOWPOSFrame
  3486.                   Previous changes broke many apps (VPBuddy, MIrc32)
  3487.                   Don't update window if style changes (responsibility of the app)
  3488.                   Store window menu & id in same variable (fixes clock ->
  3489.                   double click on analog window -> titlebar & menu gone; menu
  3490.                   used to stay there)
  3491.                   Put back WM_CALCVALIDRECT code in pmwindow. Fixes updates
  3492.                   of clock window (who's class has CS_H/VREDRAW style).
  3493.         - KERNEL32: Fixed image loading for resource lookup only (don't care
  3494.                     where those images are loaded as we only use it to query
  3495.                     the version resource; so base address doesn't matter)
  3496.                     (-> RealPlayer 7 installs now)
  3497.  
  3498.  2000-01-20: Sander van Leeuwen <sandervl@xs4all.nl>
  3499.         - KERNEL32: Disabled creation of pe_x.log if logging disabled
  3500.                     Only get codepage once from odin.ini.
  3501.  
  3502.  2000-01-20: Vit Timchishin <tvv@sbs.kiev.ua>
  3503.         - KERNEL32: Codepage bugfix & unicode translation changes (heapstring.cpp)
  3504.         - GDI32:    Added codepage support for CreateCompatibleDC
  3505.  
  3506.  2000-01-20: Christoph Bratschi <cbratschi@datacomm.ch>
  3507.         - USER32: fixed WM_CONTEXTMENU
  3508.                   dispatch WM_MOUSEMOVE in menu loop
  3509.  
  3510.  2000-01-18: Sander van Leeuwen <sandervl@xs4all.nl>
  3511.         - USER32: Removed 'old' user32 and replaced it with the new one
  3512.                   Call default window proc when DefMDIChildProcA/W is called
  3513.                   for a non-MDI window.
  3514.                   Fixed menu check & submenu marks painting
  3515.         - KERNEL32: Increased shared heap reserve size to 512 kb
  3516.         - SHELL32:  Display Odin logo in Shell about dialog box
  3517.  
  3518.  2000-01-18: Jens Wiessner <wiessnej@rfi.de>
  3519.         - WINMM\WAVEMAP
  3520.           Updated to Wine level 20000109 + corrected compile
  3521.         - MCICDA: ported MCICDA.DLL from Wine 20000901 (Linux cdrom calls stubbed
  3522.                   so it doesn't work)
  3523.  
  3524.  2000-01-17: Sander van Leeuwen <sandervl@xs4all.nl>
  3525.         - USER32\NEW: Added basic support for DInput WM_CHAR notification
  3526.                       (the rest needs to be done in dinput.dll)
  3527.                       Use KEYBOARD_Enable user32 export to (un)register WM_CHAR
  3528.                       handler. (WNDPROC type) It's called when a WM_CHAR message
  3529.                       arrives for an Odin window with hwnd, msg, wParam & lParam.
  3530.         - DINPUT:     Fixed bugs reported by Michal Necasek
  3531.  
  3532.  2000-01-16: Christoph Bratschi <cbratschi@datacomm.ch>
  3533.         - USER32/NEW: implemented sysmenu commands: SC_SIZE and SC_TASKLIST
  3534.                       fixed WM_MOVE
  3535.                       changed HTCAPTION system menu position
  3536.                       changed maximized window position
  3537.                       don't move/size maximized windows
  3538.  
  3539.  2000-01-15: Jens Wiessner <wiessnej@rfi.de>
  3540.         - TWAIN_32: Update
  3541.         - WINMM\MCIANIM,MCIAVI32,MCISEQ,MCIWAVE,MIDIMAP
  3542.                     Updated to Wine level 20000109 + corrected compile errors
  3543.         - WINMM: Ported Wine wave mapper.
  3544.  
  3545.  2000-01-15: Sander van Leeuwen <sandervl@xs4all.nl>
  3546.         - USER32\NEW: Fixed scroll repaints (never use GetMessage with window
  3547.                       handle as that can prevent WM_PAINTs from being dispatched)
  3548.                       (may need reworking of Get/PeekMessage instead)
  3549.                       ScrollWindow changes
  3550.                       Removed frame drawing 'bugfix'.
  3551.                       Fixed system menu position for child windows (i.e. MDI)
  3552.                       Fixed titlebar tracking for child windows (i.e. MDI)
  3553.         - KERNEL32:   Check for null pointers in lstrcmpA
  3554.  
  3555.  2000-01-15: Christoph Bratschi <cbratschi@datacomm.ch>
  3556.         - USER32/NEW: cache menu and caption drawing
  3557.                       changed minimize button position
  3558.                       don't redraw system menu icon in menu.cpp
  3559.                       hilighted menubar items don't have an edge in Win9x
  3560.                       don't open system menu on mouseover if menubar is used and vice versa
  3561.                       show sysmenu on WM_NCRBUTTONUP with HTCAPTION set (todo: position)
  3562.                       use WIN32_STDCLASS2 for windows with CS_SAVEBITS class style
  3563.  
  3564.  2000-01-14: Christoph Bratschi <cbratschi@datacomm.ch>
  3565.         - USER32/NEW: added caption clipping for faster window text updates
  3566.  
  3567.  2000-01-14: Sander van Leeuwen <sandervl@xs4all.nl>
  3568.         - USER32\NEW: Fixed min/max bug for mdi child windows
  3569.                       Fixed DrawMenuBar (invalidate frame rectangle in
  3570.                       FrameUpdateClient if client rectangle wasn't changed)
  3571.                       Fixed bugs in MsgFormatFrame & SendNCCalcSize
  3572.                       Fixed WM_WINDOWPOSCHANGED translation for frame window (not done yet)
  3573.                       (Winamp works now)
  3574.                       Removed code that's no longer used (subclassed OS/2 frame
  3575.                       controls & OS/2 scrollbar functions etc)
  3576.  
  3577.  2000-01-13: Sander van Leeuwen <sandervl@xs4all.nl>
  3578.         - USER32\NEW: WM_ACTIVATEAPP should be sent when another process' window
  3579.                       is activated or deactivated
  3580.                       Send correct thread id for non-Odin windows in WM_ACTIVATEAPP
  3581.                       Set window handle of non-Odin window to window desktop in WM_ACTIVATE
  3582.                       Return window desktop handle for window handle returned by
  3583.                       SetActiveWindow if window is non-Odin.
  3584.                       Fixed activation of windows. (send WM_ACTIVATE when receiving
  3585.                       a WM_WINDOWPOSCHANGED message in pmframe.cpp)
  3586.                       Fixed DrawFrame; bottom & right frame borders now drawn correctly
  3587.                       Fixed scrollbar positioning (style.exe)
  3588.                       Fixed CS_OWNDC for GetDCEx (DCX_WINDOW); don't use a window
  3589.                       DC to save/restore a window's own dc.
  3590.                       Fixed client rectangle problems. Client rectangles
  3591.                       are always in frame coordinates; window rectangles in
  3592.                       screen coordinates. Whenever necessary (i.e WM_MOVE)
  3593.                       client coordinates are converted to coordinates relative
  3594.                       to it's parent client window.
  3595.                       Changed WM_MOVE -> client coordinates relative to parent origin
  3596.                       if child; otherwise relative to screen origin. (needs testing)
  3597.                       (WM_NCCALCSIZE needs to be done as well)
  3598.         - COMCTL32:   Version resource version nrs changed (based on NT 4 SP3)
  3599.         - KERNEL32:   Added DisableLogging & EnableLogging functions to
  3600.                       disable logging in parts of code. Logging will only be
  3601.                       done if the logcount is bigger than 0.
  3602.  
  3603.  2000-01-12: Christoph Bratschi <cbratschi@datacomm.ch>
  3604.         - USER32/NEW: fixed WM_CALCVALIDRECTS
  3605.                       activated WM_NCPAINT clipping
  3606.                       added improved frame redraw mechanism
  3607.  
  3608.  2000-01-12: Sander van Leeuwen <sandervl@xs4all.nl>
  3609.         - USER32\NEW: Changed client rectangle positioning (not done by PM frame
  3610.                       handler anymore) -> fixes problems with Shell About dialog
  3611.                       and jumping controls when resizing (Winhlp32)
  3612.                       Fixed menu tracking for different submenus
  3613.                       Fixed delayed repaints of invalidated menu rectangles
  3614.                       Ported Wine messagebox code. (for GUI consistency)
  3615.                       Fixed bugs in ShowScrollBar. (vert. scrollbar wasn't enabled
  3616.                       in notepad)
  3617.                       Fixed 'frame' control updates (resizing client window in
  3618.                       SetWindowPos for SWP_FRAMECHANGED)
  3619.  
  3620.  2000-01-11: Jens Wiessner <wiessnej@rfi.de>
  3621.         - TWAIN_32: Bugfix (removed test code)
  3622.  
  3623.  2000-01-11: Christoph Bratschi <cbratschi@datacomm.ch>
  3624.         - USER32/NEW: fixed AdjustWindowRectEx
  3625.  
  3626.  2000-01-11: Sander van Leeuwen <sandervl@xs4all.nl>
  3627.         - USER32\NEW: Put nonclient code in win32wbasenonclient.cpp
  3628.                       Removed hardcoded dependancy on shell32; load it on-demand
  3629.                       Fixed LoadBitmap (OBM_RADIOCHECK was missing from system bitmap list)
  3630.                       Fixed wrong return value for OSLibWinGetMsg
  3631.                       Workaround for bug in GDI32 FillRect (menu items painted
  3632.                       black instead of gray) (menu.cpp, MENU_DrawMenuItem)
  3633.                       Applied patch to Wine menu code for RealPlayer
  3634.                       Fixed default return value of DefWndProc (0)
  3635.                       Fixed SetMenu (menus should be set when a window is no child)
  3636.                       Call correct SetMenu function from MsgCreate Win32BaseWindow method
  3637.                       Use WIN32_INNERFRAME frame class for top level windows again.
  3638.                       (VPBuddy repaint problems were solved by using this class)
  3639.  
  3640.  2000-01-10: Sander van Leeuwen <sandervl@xs4all.nl>
  3641.         - USER32: Fixed message translation for WM_TIMER with no window handle or timer proc
  3642.                   Bugfix for OSLibWinGetMsg & OSLibWinPeekMsg (wrong return value)
  3643.         - WINMM:  Fixed wrong error code for waveOutOpen & waveOutGetDevCaps when
  3644.                   there's no audio device
  3645.         - USER32\NEW: Fixed message translation for WM_TIMER with no window handle or timer proc
  3646.                   Changed WM_NCHITTEST behaviour. Now sent during WM_MOUSEMOVE
  3647.                   or button down/up message translation.
  3648.                   Fixed LoadBitmap (only load from user32 if it's a system bitmap)
  3649.                   Added WM_NCACTIVATE message generation
  3650.                   Bugfix for OSLibWinGetMsg & OSLibWinPeekMsg (wrong return value)
  3651.                   Changed GetSystemMenu; added method to Win32BaseWindow class
  3652.                   (destroy old menu if present and switch back to default system
  3653.                    menu if bRevert = TRUE; needs changes in non-client code)
  3654.  
  3655.  2000-01-10: Christoph Bratschi <cbratschi@datacomm.ch>
  3656.         - USER32/NEW: activated menu code
  3657.  
  3658.  2000-01-09: Sander van Leeuwen <sandervl@xs4all.nl>
  3659.         - USER32: Added border size for top-level windows in OSLibWinConvertStyle
  3660.                   (borders are not drawn correctly)
  3661.                   Fixed bug in pmframe WM_WINDOWPOSCHANGED handler (don't update
  3662.                   client/window rectangle when size nor position have changed)
  3663.                   Fixed out of sync rectWindow. (children don't get notified of
  3664.                   parent position change -> rectWindow (in screen coord.) not updated)
  3665.                   Fixed LoadBitmap for system bitmaps
  3666.                   Fixes for win32 titlebar + added win32 system menu
  3667.                   System menu commands now work
  3668.                   Fixed repaint problem for win32 titlebar
  3669.                   Added Christoph's gradient filled title bars code
  3670.                   For (experimental) win32-like windows add this to odin.ini:
  3671.                         [CUSTOMIZATION]
  3672.                         OS2Look=0
  3673.  
  3674.                         [COLORS]
  3675.                         UseWinColors=1
  3676.  
  3677.  2000-01-09: David Raison <djr@lemur.co.uk>
  3678.         - OLEAUT32: Typelib - Updated TKIND_ALIAS handling.
  3679.  
  3680.  2000-01-09: Christoph Bratschi <cbratschi@datacomm.ch>
  3681.         - USER32/NEW: implemented scrollbar nc handling
  3682.                       windows without menus work now fine
  3683.                       implemented gradient filled title bars
  3684.  
  3685.  2000-01-08: Sander van Leeuwen <sandervl@xs4all.nl>
  3686.         - USER32: ModifyMenuA bugfix (changing menu ids didn't work)
  3687.                   OSLibGetMsg bugfix + WM_QUIT translation fix
  3688.                   OSLibGetMenuItemRect fix (y coordinate conversion)
  3689.                   Changed WM_NCHITTEST behaviour. Now sent during WM_MOUSEMOVE
  3690.                   or button down/up message translation.
  3691.         - OLE32/OLEAUT32/OLESVR32/OLEDLG/OLECLI32:
  3692.                   Added Wine-like license that supercedes the main Odin license
  3693.         - CRTDLL: Fixed many register based floating point exports (CRTDLL__CIcos,
  3694.                   CRTDLL__CIatan etc etc)
  3695.  
  3696.  2000-01-08: Jens Wiessner <wiessnej@rfi.de>
  3697.         - CRTDLL: Compile fix
  3698.  
  3699.  2000-01-08: Patrick Haller <phaller@gmx.net>
  3700.         - SHELL32:      Update: to WINE level 2000/01/08
  3701.         - KERNEL32:     Add:    stub for GetDiskFreeSpaceExAW
  3702.  
  3703.  2000-01-06: Christoph Bratschi <cbratschi@datacomm.ch>
  3704.         - GDI32: added PatBlt support for negative width/height
  3705.  
  3706.  2000-01-06: Sander van Leeuwen <sandervl@xs4all.nl>
  3707.         - ADVAPI32: Implemented StartServiceCtrlDispatcherA/W
  3708.                     Faked RegisterServiceCtrlHandlerA/W (TODO)
  3709.                     Partly implemented SetServiceBits/SetServiceStatus
  3710.                     Improved QueryServiceStatus
  3711.                     Call RtlCreateAcl in InitializeAcl
  3712.         - LZ32: Create correct library
  3713.         - CRTDLL: Fixed CRTDLL__wcsnicmp (use Wine version)
  3714.         - VERSION: Fixed VerQueryValue32A and merged with latest Wine sources
  3715.                    (991212) (-> fixes errors in RealPlayer)
  3716.         - USER32: GetMenuStringA fix (return length of string if string pointer
  3717.                   or size parameter == 0)
  3718.  
  3719.  2000-01-05: Jens Wiessner <wiessnej@rfi.de>
  3720.         - TWAIN_32: Update
  3721.  
  3722.  2000-01-05: Christoph Bratschi <cbratschi@datacomm.ch>
  3723.         - USER32/NEW: single window works now
  3724.  
  3725.  2000-01-05: Sander van Leeuwen <sandervl@xs4all.nl>
  3726.         - KERNEL32/NTDLL: Partially implemented NtOpenThreadToken
  3727.                           (should be changed)
  3728.                           MS Office 2000 install (first part) almost working.
  3729.                           (installs windows installer as system service)
  3730.         - OLEAUT32: Typelib bugfix for MS Office 2k install
  3731.         - odin_ini.txt: Added information about CODEPAGES & TWAIN section
  3732.  
  3733.  2000-01-05: David Raison <djr@lemur.co.uk>
  3734.         - OLEAUT32: LHashValOfNameSys(A)
  3735.  
  3736.  2000-01-04: Jens Wiessner <wiessnej@rfi.de>
  3737.         - TWAIN_32: Created twain dll for usage with CFM Twain for OS/2.
  3738.  
  3739.  2000-01-04: Sander van Leeuwen <sandervl@xs4all.nl>
  3740.         - USER32: InsertMenu bugfix (RealPlayer calls InsertMenu with flag 0 & pos -1)
  3741.                   Delete old region in SetWindowRegion
  3742.  
  3743.  2000-01-03: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  3744.         - KERNEL32: Named pipe updates & bugfixes
  3745.  
  3746.  2000-01-03: Jens Wiessner <wiessnej@rfi.de>
  3747.         - LZ32/TAPI32: Updated def files to match NT 4 SP6
  3748.         - MSVCRT: Updated def files + MSVCRT40 version info
  3749.         - WINMM: Added Wine's MCI dlls (not compiled as this requires
  3750.                  a working MCI subsystem in winmm and a redesign of
  3751.                  wave & midi)
  3752.  
  3753.  2000-01-03: Sander van Leeuwen <sandervl@xs4all.nl>
  3754.         - LZ32: Cleaned up .def file (don't import directly) & removed
  3755.                 debugtools.h
  3756.         - USER32: Fixed PostThreadMessage + bugs in GetMessage
  3757.         - KERNEL32: Set hmq & hab THDB values for newly created
  3758.                     threads (hmq not correct now)
  3759.  
  3760.  2000-01-02: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  3761.         - KERNEL32: Started implementing named pipe apis
  3762.  
  3763.  2000-01-02: David Raison <djr@lemur.co.uk>
  3764.         - OLEAUT32: Typelib fixes - Custom Data & Default values.
  3765.                     Added private logging to tlib_n.log when reading a TLIB.
  3766.                     (Should clarify what is being read & why)
  3767.                     Now supports embedded named TLIBS in the format
  3768.                     <path>\<libname>\<id> (required for VB6, etc.)
  3769.                     Preparatory work to reduce dependance on
  3770.                     current file position to enable delaying parsing
  3771.                     data until it is requested by user.
  3772.  
  3773.  2000-01-02: Sander van Leeuwen <sandervl@xs4all.nl>
  3774.         - USER32: Implemented Set/GetWindowRgn (not activated)
  3775.         - KERNEL32: Fixed Odin zombie processes when there's a trap inside
  3776.                     vfprintf during logging.
  3777.                     Cleaned up file io procedures in oslibdos.cpp
  3778.  
  3779.  2000-01-01: Sander van Leeuwen <sandervl@xs4all.nl>
  3780.         - USER32: Workaround for crash in Lotus Notes when switching to a new
  3781.                   view (PM sends WM_WINDOWPOSCHANGED msg after DestroyWindow
  3782.                   has been called for a window -> don't dispatch this msg)
  3783.  
  3784.