home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / odid0211.zip / ChangeLog-1999 < prev    next >
Text File  |  2000-07-09  |  139KB  |  3,173 lines

  1.  /* $Id: ChangeLog-1999,v 1.1 2000/07/09 22:27:49 phaller Exp $ */
  2.  
  3.  1999-12-31: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  4.     - WINMM: Implemented waveOutGet/SetVolume
  5.     - KERNEL32: Fixed bugs in iccio.asm (OFFSET FLAT:devname)
  6.  
  7.  1999-12-31: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  8.     - KERNEL32: Started with implementation of debug apis & support
  9.                     for debugging win32 apps (mostly for additional logging)
  10.  
  11.  1999-12-30: Christoph Bratschi <cbratschi@datacomm.ch>
  12.     - USER32: ported menu control from WINE (not yet activated)
  13.           ported icontitle control from WINE
  14.           added winswitch control (stub)
  15.           fixed Win32BaseWindow::hasWindowName
  16.  
  17.  1999-12-30: Sander van Leeuwen <sandervl@xs4all.nl>
  18.     - KERNEL32: Added stubs for Load/FreeLibrary16 & GetProcAddress16
  19.                     (ordinals 35,36 & 37)
  20.                     Added support for SEC_COMMIT memory map flag
  21.                     Don't fail for unknown handles in (Msg)WaitForMultipleObject;
  22.                     they could be thread or process handles (which we don't translate)
  23.     - USER32:   Load bitmaps file completely in LoadBitmapA. Creating
  24.                     a file mapping with reserved memory has little use
  25.                     as the entire file will be read completely anyway.
  26.                     Added some useful logging for DDE apis.
  27.                     Fixed problem with combo boxes refusing to expand if it
  28.                     the edit control doesn't have the focus.
  29.     - GDI32:    Fixed GetObject for DIB sections
  30.     - COMCTL32: Increased default height of rebar band from 20 to 36
  31.                     (temporary hack for AbiWord)
  32.  
  33.  1999-12-30: Bart van Leeuwen <Bart_van_Leeuwen@netage.nl>
  34.     - USER32: Implemented accelerator support
  35.  
  36.  1999-12-30: Patrick Haller <phaller@gmx.net>
  37.     - SHELL32:    Add: StrChrIA, StrChrIW, StrStrIA, StrStrIW
  38.     - SHLWAPI:    Add: see above, SHRegGetBoolUSValueA/W
  39.  
  40.  1999-12-29: Christoph Bratschi <cbratschi@datacomm.ch>
  41.     - USER32: rewrote coordinate mapping (map*) and fixed some 1 pixel bugs
  42.           pro memoria:
  43.             point:     newY   = windowH-1-oldY
  44.             rectangle: newTop = windowH-oldTop
  45.           fixed some wrong window handles
  46.           Win32BaseWindow: added getClientHeight/Width,
  47.           getWindowHeight returns now the window height
  48.  
  49.  1999-12-29: Patrick Haller <phaller@gmx.net>
  50.     - INCLUDE: ODINWRAP: new macros to save FS register for callback registration
  51.     - WINMM:   removed memory leak for win32 tib fs selectors in DartWaveOut::callback
  52.  
  53.  1999-12-29: Sander van Leeuwen <sandervl@xs4all.nl>
  54.     - WINMM: Created wrappers for mci* apis (to save/restore FS)
  55.                  NOTE: You must include os2mewrap.h instead of os2me.h
  56.     - USER32: Fixed PostThreadMessage (RealPlayer G2 install almost works)
  57.                   Fixed memory leak in PostMessage (structures of posted messages 
  58.                   that aren't dispatched were never freed)
  59.                   (InterVideo WinDVD 2.0 install almost works; tries to overwrite
  60.                    msvcrt.dll (which fails as the install program uses that dll))
  61.                   Fixed version resource (based on NT 4 SP3)
  62.     - KERNEL32: Removed logging from icon & cursor (group) conversion
  63.                     (compile with DEBUGALL=1 to enable it)
  64.                     Added version resource (based on NT 4 SP3)
  65.     - GDI32: Added version resource (based on NT 4 SP3)
  66.     - MSVCRT/20/40: Added version information based on NT 4 SP3 msvcrt dlls
  67.  
  68.  1999-12-28: Vit Timchishin <tvv@sbs.kiev.ua>
  69.     - USER32: Listbox fix; Commented out 'if (index == oldsel) return LB_OKAY;'
  70.                   in LISTBOX_SetSelection as this may prevent the control from
  71.                   sending a notification after a change with notify disabled.
  72.                   (i.e. MoveCarret)
  73.  
  74.  1999-12-28: Sander van Leeuwen <sandervl@xs4all.nl>
  75.     - WININET: Created stub dll
  76.     - KERNEL32: Create Software\Microsoft\Windows NT\CurrentVersion registry key + necessary values
  77.                     Put all version information in include\versionos2.h
  78.                     Faked GetSystemPowerStatus (always returns online status
  79.                     for desktop system)
  80.     - SHELL32: Implemented PathBuildRootW, PathRemoveBackslashW, PathFileExistsW,
  81.                    StrChrA & StrRChrW
  82.     - SHLWAPI: Created more forwarders to shell32 apis
  83.  
  84.  1999-12-28: Jens Wiessner <wiessnej@rfi.de>
  85.     - avifil32, comdlg32, crtdll, ddraw, dinput, dplay, dplayx, imagehlp,
  86.           mpr, msvcrt(20/40), msvfw32, olecli32, oledlg, olesvr32, psapi,
  87.           rasapi32, version:
  88.                     Added commented-out exports and changed ordinals to match 
  89.                     with the dlls from Windows NT 4.0 ServicePack 6 or Windows 
  90.                     98SE
  91.           NOTE: Requires recompile of all Odin dlls & any Odin32 apps.
  92.  
  93.  1999-12-27: Jens Wiessner <wiessnej@rfi.de>
  94.     - WINSPOOL: Added stubs
  95.     - ADVAPI32: Added crypto stubs
  96.  
  97.  1999-12-27: Vit Timchishin <tvv@sbs.kiev.ua>
  98.     - KERNEL32: Implemented preliminary codepage support
  99.     - USER32: Added code to init for codepage support
  100.               Fixed combo box bugs (COMBO_Command; use lParam for hwnd compares)
  101.  
  102.  1999-12-27: Christoph Bratschi <cbratschi@datacomm.ch>
  103.     - USER32: fixed SetWindowPos
  104.  
  105.  1999-12-27: Sander van Leeuwen <sandervl@xs4all.nl>
  106.     - USER32: Fixed GetActiveWindow (also fixes problem with mouse messages
  107.                   in FreeCell)
  108.                   Fixed PeekMessageW (used old way of calling OSLibWinPeekMsg)
  109.                   Changed translation of message filters (still not 100% correct)
  110.                   Fixed bugs in OSLibPeekMessage
  111.     - KERNEL32: Enable write access for code sections which have this flag
  112.                     set in the PE image (fixes crash in WinDVD)
  113.  
  114.  1999-12-26: Christoph Bratschi <cbratschi@datacomm.ch>
  115.     - USER32: implemented WM_NCHITTEST, added WM_SYSCOMMAND handling
  116.           ported DIALOG_IsAccelerator
  117.           implemented Get/SetMessageExtraInfo
  118.           extended DefWindowProcA handling
  119.           several other bug fixes
  120.     - COMCTL32: changed non-client handling
  121.  
  122.  1999-12-24: Sander van Leeuwen <sandervl@xs4all.nl>
  123.     - USER32: Fixed bug in OSLibWinQueryQueueStatus (uninitialized local variable)
  124.               Changed message handling. Messages are translated in Get/PeekMessage
  125.                   now. (or in the PM window handler, if it was sent directly)
  126.                   TranslateMessage now translates WM_(SYS)KEYDOWN/UP to
  127.                   WM_(SYS)(DEAD)CHAR
  128.                   Fixed ChildWindowFromPointEx
  129.     - CRTDLL: Removed excessive logging (compile with DEBUGALL=1 to enable it)
  130.     - SRC\MAKEFILE: Included dplayx
  131.  
  132.  1999-12-24: Markus Montkowski <mmontkowski@gmx.de>
  133.         - dplayx: compiles and links now 
  134.  
  135.  1999-12-22: Christoph Bratschi <cbratschi@datacomm.ch>
  136.     - USER32: fixed WinGetKeyState in WM_MOUSEMOVE (WinAmp's equalizer works now fine)
  137.  
  138.  1999-12-21: Jens Wiessner <wiessnej@rfi.de>
  139.     - MSVCRT: Updated msvcrt20 & msvcrt40 def files
  140.  
  141.  1999-12-21: Christoph Bratschi <cbratschi@datacomm.ch>
  142.     - USER32: merged controls with WINE 991212
  143.           fixed listbox WM_SETREDRAW bug
  144.  
  145.  1999-12-21: Markus Montkowski <mmontkowski@gmx.de>
  146.         - ddraw: Some cleanup in surface handling 
  147.                  more colorconversion code:
  148.                   8bit to all hicolormodes(16,24,32) and 
  149.                   between the highcolormodes
  150.                  Do Colorfills for the above modes. 
  151.                  Removed inhertiance from IBASE in DDRectangle
  152.  
  153.  1999-12-21: Sander van Leeuwen <sandervl@xs4all.nl>
  154.     - ADVAPI32: Fixed some bugs in service.cpp; implemented some service apis
  155.     - INCLUDE\WIN: Added winsvc.h; removed service definitions from winbase.h & winreg.h
  156.     - NTDLL/CRTDLL: Moved all CRT functions into CRTDLL
  157.                         CRTDLL should contain all shared RTL functions (in addition
  158.                         to those present in the win32 version); this is more
  159.                         consistent than putting half the rtl functions in NTDLL
  160.                         and the rest in CRTDLL.
  161.     - CRTDLL: Fixed memory allocation bug (CRTDLL_calloc called calloc, while
  162.                   free calls HeapFree; everything uses private CRTDLL heap now)
  163.     - MSVCRT: Removed all forwarders from def file. Link with CRTDLL instead.
  164.                   NOTE: Non-existant forwarders don't generate errors when loading
  165.                         this dll!!!
  166.                         Linking with a lib makes sure the import really exists.
  167.     - KERNEL32: Moved memmove to NTDLL (forwarded to CRTDLL)
  168.     - ODINCRT: Added wrappers for file io functions (to prevent FS corruption)
  169.  
  170.  1999-12-20: Rene Pronk <R.Pronk@twi.tudelft.nl>
  171.     - WINMM: Bugfixes in waveOutOpen (flags) for winamp
  172.  
  173.  1999-12-20  Markus Montkowski <mmontkowski@gmx.de>
  174.     - USER32: Fixed Coordinate conversion in WM_HITTEST (don't use handles as a coordinates)
  175.  
  176.  1999-12-20: Christoph Bratschi <cbratschi@datacomm.ch>
  177.     - USER32: changed icon title font size in SystemParametersInfo to 12
  178.           fixed DrawIcon/DrawIconEx
  179.           fixed GetIconInfo (still bugs in load/create code)
  180.  
  181.  1999-12-20: Sander van Leeuwen <sandervl@xs4all.nl>
  182.     - CRTDLL: Added bsearch from EMX
  183.     - MSVCRT: Copy dlls into bin directory. Most apps seem to work
  184.                   (Notes, solitaire, winhlp32)
  185.     - NTDLL: Added qsort, ftol, CIpow, ltoa, ultoa
  186.                  (ftol fixes black Notes toolbars)
  187.  
  188.  1999-12-20: Jens Wiessner <wiessnej@rfi.de>
  189.     - MSVCRT: Added stubs
  190.  
  191.  1999-12-19: Christoph Bratschi <cbratschi@datacomm.ch>
  192.     - USER32: fixed child positioning
  193.           removed CS_SIZEREDRAW, do it manually if window really needs it
  194.            handled in WM_CALCVALIDRECTS, PM aligns windows top-left
  195.            -> much faster, Calc: radiobuttons are at the right place
  196.               RegEdit: treeview redraw problems fixed
  197.  
  198.  1999-12-19: Sander van Leeuwen <sandervl@xs4all.nl>
  199.     - ADVAPI32/NTDLL: Forward sid apis to ntdll (need to check return
  200.                           type of some Rtl SID apis (bool or status dword?))
  201.                           Moved Service apis into separate sourcefile
  202.                           Implemented some service apis (not completely)
  203.     - KERNEL32: Fix for loading images (RSRC_LOAD)
  204.                     Implemented FindResourceExA/W
  205.                     CreateProcessW bugfix (string conversion)
  206.             FormatMessageA/W bugfix (wrong calling convention for 
  207.                     WVSPRINTFAPROC type (should be WIN32API!) -> fixes crash
  208.                     in regedit
  209.     - USER32: SendMessageW bugfix
  210.  
  211.  1999-12-18: Achim Hasenmueller <achimha@innotek.de>
  212.         - COMCTL32: Merged with latest WINE 991212 code
  213.  
  214.  1999-12-18: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  215.     - KERNEL32: Partially implemented GetThreadContext, Read/WriteProcessMemory
  216.  
  217.  1999-12-18: Christoph Bratschi <cbratschi@datacomm.ch>
  218.     - USER32: added MDI menu window switching
  219.           fixed ChildWindowFromPointEx
  220.           fixed WM_MDIDESTROY
  221.  
  222.  1999-12-18: Sander van Leeuwen <sandervl@xs4all.nl>
  223.     - MSACM32: Compile fixes (internal.cpp)
  224.     - USER32: WindowFromPoint fix (return 0 if no windows found, not the desktop wnd handle)
  225.                   SetMenuItemInfoA bugfix (for novamatic) (still not completely
  226.                   implemented though)
  227.     - AVIFIL32: updated with the latest code from Wine 991212.
  228.     - KERNEL32: Partly implemented GetCurrencyFormatA/W (not correct, but 
  229.                     to make apps happy)
  230.                     Added handlemanager class for tokens and HMHandleGetUserData
  231.                     export to query the userdata dword of a handle.
  232.     - NTDLL: Partially implemented some Token & SID apis in order to get
  233.                  MS Office 2000 install to work.
  234.  
  235.  1999-12-18: Jens Wiessner <wiessnej@rfi.de>
  236.     - MSACM32: Updated with latest Wine code (991212)
  237.     - CRTDLL:  Removed the ERRNO Defs from CRTINC.H and included ERRNO.H
  238.  
  239.  1999-12-17: Christoph Bratschi <cbratschi@datacomm.ch>
  240.     - USER32: WM_NOTIFYPARENT: map cursor pos
  241.           implemented MDI cascade/tile
  242.  
  243.  1999-12-17: Sander van Leeuwen <sandervl@xs4all.nl>
  244.     - KERNEL32: Delete thread's THDB structure when it quits
  245.     - USER32: Hook removal bugfix
  246.  
  247.  1999-12-17: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  248.     - INCLUDE\winconst.h/wintypes.h/win\winbase.h: Added definitions
  249.     - KERNEL32: Set DEBUG_PROCESS flag for DEBUG_ONLY_THIS_PROCESS flag
  250.                     in CreateProcess (open32 doesn't support the latter flag)
  251.  
  252.  1999-12-16: Christoph Bratschi <cbratschi@datacomm.ch>
  253.     - USER32: fixed 'dancing characters' in edit control
  254.           ported GrayString from WINE
  255.           desktop: terminate string in WM_GETTEXT
  256.           free timers after WM_DESTROY
  257.     - GDI32: several bug fixes for text output functions
  258.          implemented PolyTextOutA/W
  259.  
  260.  1999-12-14: Sander van Leeuwen <sandervl@xs4all.nl>
  261.     - USER32: Tasklist fix
  262.                   Rewrote SendMessage handling; Uses WinSendMsg now if window
  263.                   is created by a different process/thread.
  264.                   Started with port of Wine hook code
  265.                   ShowWindowAsync calls ShowWindow now (not correct, but better than nothing)
  266.     - KERNEL32: Added GetTHDBFromThreadId (used in USER32) & link THDB structures during creation
  267.                     Put back old interlocked code (Wine port + InterlockedExchange fix)
  268.     - GDI32: Extra logging for Create*Rgn apis
  269.  
  270.  1999-12-13: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  271.     - KERNEL32: Added null pointer checks in lstrcatA/W
  272.     - USER32:   Removed unicode to ascii translation during MDI child creation
  273.                     (message translation code already takes care of this)
  274.  
  275.  1999-12-13: Sander van Leeuwen <sandervl@xs4all.nl>
  276.     - KERNEL32: Fixed performance problem in mmap.cpp
  277.                     Report correct dll when exe loading fails
  278.                     Fixed command line bug in CreateProcess (if app & cmd line
  279.                     are specified, skip exe name in cmd line)
  280.         - INCLUDE\WIN\winnt.h: Header fixes
  281.     - Porting.txt: Fixed sample makefile (you need to add -D__i386__ as compiler option)
  282.     - USER32:   NotifyParent bugfix (use id & handle of 1st child window)
  283.             Added WM_INITMENU message support
  284.                     Experimental CS_PARENTDC support (disabled for now)
  285.  
  286.  1999-12-12: Sander van Leeuwen <sandervl@xs4all.nl>
  287.     - KERNEL32: Fixes for on-demand page loader; currently disabled by
  288.                     default because it interferes with debugging (too many
  289.                     exceptions are generated)
  290.                     To enable it undefine COMMIT_ALL in kernel32\winimagepeldr.cpp.
  291.                     Dll unload fix for PE loader (fixes crash when Notes quits)
  292.     - PE2LX:    Don't link with odincrt -> 'Not enough storage to complete
  293.                     initialization' error. Reason unknown.
  294.     - INCLUDE\string.h: Use original strncpy for PE2LX
  295.  
  296.  1999-12-12: Sander van Leeuwen <sandervl@xs4all.nl>
  297.     - KERNEL32: Changed logging in winimagepeldr.cpp
  298.                     Uses private log with dprintfs instead of file streams.
  299.                     Added support for private dll logs (see comments in misc.h)
  300.       //To use private dll logging, define PRIVATE_LOGGING and
  301.       //add Open/ClosePrivateLogFiles (see below) functions to the dll
  302.       //to open close the private logfile. The logfile handle should
  303.       //be stored in the _privateLogFile variable
  304.       //dprintf can be called like this:
  305.       //dprintf((LOG, "PE file           : %s", szFileName));
  306.  
  307.  1999-12-11: Jens Wiessner <wiessnej@rfi.de>
  308.     - CRTDLL: Fix for GetMainArgs (fixes windiff)
  309.     - MSVCRT: Fix for GetMainArgs 
  310.  
  311.  1999-12-10: Sander van Leeuwen <sandervl@xs4all.nl>
  312.     - KERNEL32: Fix for CreateFileMapping; return old handle if
  313.                     trying to open existing mapping
  314.                     commitPage: Commit page by page, not entire range (could
  315.                     leave holes if VirtualQueryMem range != nrpages)
  316.  
  317.  1999-12-09: Christoph Bratschi <cbratschi@datacomm.ch>
  318.     - GDI32: fixed TextOut and ExtTextOut bugs
  319.  
  320.  1999-12-09: Sander van Leeuwen <sandervl@xs4all.nl>
  321.     - KERNEL32: Fixes in lstrcpynWtoA
  322.                     Added code heap.
  323.                     Ported ExpandEnvironmentStringsA/W (Wine: 991114)
  324.                     Create HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows
  325.                     key and necessary subkeys (including CSD version)
  326.                     Corrected return value of Read/WriteFile (must be boolean, not 
  327.                     an error code)
  328.     - USER32: Major changes for window procedures
  329.                   Now identical to Wine. Window is unicode only if it's
  330.                   window procedure comes from a unicode class.
  331.                   Add thunk code for procedures to store type.
  332.     - ODINCRT: Replaced strncpy with one that stops at terminating 0
  333.     - INCLUDE\string.h: VAC version + minor change for strncpy
  334.     - WIN32K\PE2LX: Link with odincrt.lib for rtl functions
  335.  
  336.  1999-12-08: David Raison <djr@lemur.co.uk>
  337.      - OLEAUT32: Typelib handling:
  338.                 Parsing of typelib improved - Several
  339.                   incorrect pointer problems fixed
  340.                   esp. start addr. of var table.
  341.                  Use EnumResourceNames to locate
  342.                    embedded TYPELIB resources.
  343.             Bugfixes.
  344.  
  345.  1999-12-07: Achim Hasenmueller <achimha@innotek.de>
  346.         - WSOCK32: Moved old implementation to wsock32/old and promoted
  347.                    wsock32/new (based on PMWSOCK.DLL) as the default implementation
  348.  
  349.  1999-12-07: Sander van Leeuwen <sandervl@xs4all.nl>
  350.     - KERNEL32: Fixed string resource load bug (last character of string resource set to 0)
  351.     - KERNEL32: Always commit memory for page memory maps
  352.     - KERNEL32: Fixed bug in InterlockedExchange (parameters reversed)
  353.     - USER32: Do not call selectClientArea during BeginPaint -> creates
  354.                   painting problems for i.e. memory SDK sample & AbiWord
  355.                   Disabled CS_OWNDC support for now -> otherwise certain
  356.                   windows never receive a WM_ERASEBKGND message. (memory SDK sample)
  357.                   Fix for Abiword & memory.exe -> extra check for owndc in Begin/EndPaint
  358.  
  359.  1999-12-06: Sander van Leeuwen <sandervl@xs4all.nl>
  360.     - KERNEL32/OLEAUT32: Renamed OLEAUT32 to OLAUTOS2 to avoid conflicts
  361.                              with Lotus SmartSuite (again..)
  362.     - KERNEL32: Fixed memory map bugs 
  363.  
  364.  1999-12-06: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  365.     - WINMM: Ported MMIO from Wine (now SoundRecorder can open wave files)
  366.  
  367.  1999-12-06: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  368.     - KERNEL32: Temporary hack in GetFullPathNameA to replace forward
  369.                     slashes by backslashes (needed for WinZip 7.0)
  370.                     Fixed dprintf in lstrcmpW
  371.  
  372.  1999-12-06: Daniela Engert <dani@ngrt.de>
  373.     - ODINCRT: change debug *allocs to return zeroed memory (instead of
  374.            filled with 0xAA). Some applications expect it this way.
  375.  
  376.  1999-12-06: Patrick Haller <phaller@gmx.net>
  377.     - KERNEL32: Reimplemented InterlockedXXX-APIs to
  378.             be NT4 compatible
  379.  
  380.  1999-12-05: Christoph Bratschi <cbratschi@datacomm.ch>
  381.     - KERNEL32: Only convert the string and not everything in UnicodeToAsciiStringN
  382.  
  383.  1999-12-05: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  384.     - KERNEL32: Better logging for CreateProcessA
  385.     - DDRAW: io_init1 -> PUSH  OFFSET FLAT:devname
  386.  
  387.  1999-12-05: Sander van Leeuwen <sandervl@xs4all.nl>
  388.     - GDI32: Changed DEFAULT_GUI_FONT to WarpSans.9
  389.     - USER32:InSendMessage,GetMessagePos,GetMessageTime & ReplyMessage
  390.          implemented using PM apis.
  391.          Update client rectangle in WM_WINDOWPOSCHANGED handler in
  392.          pmwindow.cpp. (client can change without affecting the
  393.          frame window's size/position; previously we never sent an update)
  394.          -> fixes wrong button position in RealPlayer
  395.          Changed FCF_TITLEBAR selection. Removes some, but not all, unwanted
  396.          windows from the tasklist.
  397.     - INCLUDE\heapstring.h: Changed definition of lstrcpy(n)AtoW/WtoA
  398.     - KERNEL32: CHanged lstrcpy(n)AtoW/WtoA
  399.             Fixed bug in InterlockedExchange (ret 4 should be ret 8)
  400.             -> fixes crashes in Mozilla viewer & WinAmp (2.5e)
  401.     - LZ32: Removed prototype of lstrcpyAtoW
  402.  
  403.  1999-12-04 Achim Hasenmueller <achimha@innotek.de>
  404.     - WSOCK32\NEW: Fixed bugs with incorrect relay window invocation
  405.                Improved debugging messages, better error handling
  406.                Works very well now, VP Buddy does not crash anymore
  407.                Please test well, then it can be promoted
  408.  
  409.  1999-12-04  Markus Montkowski <mmontkowski@gmx.de>
  410.     - GDI32: Implemented DEFAULT_GUI_FONT for GetStockObject
  411.          DIBSecttion now get the DC Palette on creation and
  412.          updated if DC Pal changes.
  413.  
  414.  1999-12-03: Sander van Leeuwen <sandervl@xs4all.nl>
  415.     - USER32: Experimental WM_ERASEBACKGND change
  416.           Ignore PM WM_ERASEBACKGROUND (return 1), always
  417.           send one in BeginPaint and call BeginPaint/EndPaint
  418.           in the default window handler for WM_(ICON)PAINT
  419.  
  420.  1999-12-03: Christoph Bratschi <cbratschi@datacomm.ch>
  421.     - USER32: removed WS_* check in scrollbar code
  422.     - GDI32: moved line API's to line.cpp
  423.  
  424.  1999-12-03: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  425.     - GDI32: Fixes for CreateDCW & CreateICW
  426.     - COMCTL32: Fixed PROPSHEET_CollectSheetInfo
  427.  
  428.  1999-12-03: Jens Wiessner <wiessnej@rfi.de>
  429.     - OLE32: Corrected CoSetState Stub.
  430.     - OLEAUT32: Changed return value (CreateDispTypeInfo) from S_OK to
  431.             E_OUTOFMEMORY
  432.     - NTDLL: Changed dprintfs for strcpy/strcat
  433.  
  434.  1999-12-02: Patrick Haller <phaller@gmx.net>
  435.     - WSOCK32\NEW:    Improvements.
  436.     - INCLUDE:    Some macro fixes in misc.h and odinwrap.h
  437.  
  438.  1999-12-02: Sander van Leeuwen <sandervl@xs4all.nl>
  439.     - USER32: Rewrote EnumThreadWindows/EnumWindows
  440.           Fixed GetParent
  441.  
  442.  1999-12-02  Markus Montkowski <mmontkowski@gmx.de>
  443.     - GDI32:  Implemented:
  444.           CombineTransform, CreateDIBPatternBrush, CreateDCW,
  445.           CreateEnhMetaFileW, CreateICW
  446.           Fixed memory leak in GetTextFaceW (didn't free ASCII buffer)
  447.           Enhanced StretchBlt to support DIBSections
  448.  
  449.  1999-12-02: Achim Hasenmueller <achimha@innotek.de>
  450.     - WSOCK32\NEW: Not really working :(
  451.                Fixed WSAAsyncGetHostByName, added request data to table
  452.  
  453.  1999-12-01: Patrick Haller <phaller@gmx.net>
  454.     - WSOCK32\NEW: Working now :)
  455.  
  456.  1999-12-01: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  457.     - KERNEL32: Removed check in CreateFileMapping (hFile == -1 && (protect & SEC_COMMIT))
  458.     - USER32: Added check for valid parent if window is child in ::SetWindowPos
  459.     - SHELL32: SHGetFileInfoA: set pidlLast to NULL)
  460.  
  461.  1999-12-01: Sander van Leeuwen <sandervl@xs4all.nl>
  462.     - ODINCRT: Wrappers for allocation/free functions to prevent them
  463.            from trashing FS. (happens when called from a thread (
  464.            that is not the main thread))
  465.            Also wrappers for new/delete calls. (for the same reason)
  466.     - KERNEL32: Increase max nr of open files when DosOpen fails with ERROR_TOO_MANY_OPEN_FILES
  467.             (OSLibDosOpen)
  468.             Don't translate strings if api fails (FindFirstFileW/FindNextFileW)
  469.             GetProcessTimes (TODO: Doesn't use RtlExtendedIntegerMultiply correctly!)
  470.     - ADVAPI32: Fix for RegQueryInfoKeyW (return size = 0)
  471.     - GDI32: Ported GetTextCharset & GetTextCharsetInfo (Wine: 991031)
  472.          Ported Set/GetSystemPaletteUse
  473.  
  474.  1999-11-30: Patrick Haller <phaller@gmx.net>
  475.     - WSOCK32\NEW: Experimental rewrite using PMWSOCK successful.
  476.             One problem regarding ODIN message translation remains,
  477.             TELNET works fine under debugger.
  478.  
  479.  1999-11-30: Sander van Leeuwen <sandervl@xs4all.nl>
  480.     - KERNEL32: Ported Wine process apis (not done) (kernel32\process.cpp)
  481.             Unitialized data section bugfix.
  482.     - NTDLL: Fixed exports (missing ordinals) and created correct library
  483.     - ADVAPI32: Call security apis in ntdll (security.cpp; Wine 991031)
  484.  
  485.  1999-11-30: Jens Wiessner <wiessnej@rfi.de>
  486.     - CRTDLL: Completed GetMainArgs
  487.           Implemented several functions.
  488.     - MSVCRT: Made some changes and implemented new functions.
  489.           Now builds msvcrt, msvcrt20 & msvcrt40 dlls.
  490.  
  491.  1999-11-30: Vitali E. Pelenyov <Vitali.Pelenyov@dpt.ustu.ru>
  492.     - KERNEL32: Another VirtualProtect bugfix
  493.  
  494.  1999-11-30: Daniela Engert <dani@ngrt.de>
  495.     - USER32: eliminate superfluous background erases (part 1)
  496.  
  497.  1999-11-29: Sander van Leeuwen <sandervl@xs4all.nl>
  498.     - KERNEL32: Added EnumResourceTypesA/W (not tested)
  499.     - USER32: Get/SetActiveWindow bugfixes (don't return OS/2 wnd handles)
  500.  
  501.  1999-11-29: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
  502.     - ODINCRT:  Added experimental console hack in initterm.cpp.
  503.     - PE2LX:    Kernel32.dll is the first entry import module name table.
  504.             This makes kernel32.dll init first.
  505.     - KERNEL32: Odincrt.lib is the first library to be included during linking.
  506.             This hopefully will make odincrt init first.
  507.     - KERNEL32: Implemented EnumResourceNamesA/W. Added a test
  508.             skeleton for Kernel32 in the src\kernel32\test directory.
  509.  
  510.  1999-11-28: Jens Wiessner <wiessnej@rfi.de>
  511.     - CRTDLL: Implemented several functions that used to be stubs.
  512.  
  513.  1999-11-28: Sander van Leeuwen <sandervl@xs4all.nl>
  514.     - COMDLG32: Merged with latest wine code (CVS tree dated 991126)
  515.  
  516.  1999-11-27: Jens Wiessner <wiessnej@rfi.de>
  517.     - MSVCRT: Added stubs
  518.  
  519.  1999-11-27: Christoph Bratschi <cbratschi@datacomm.ch>
  520.     - USER32: fixed edit bugs
  521.           ported WINE monitor code and implemented PM driver
  522.  
  523.  1999-11-26: Sander van Leeuwen <sandervl@xs4all.nl>
  524.     - USER32: Implemented GetInputState and GetQueueStatus
  525.           Rewrote MsgWaitForMultipleObjects for waiting on 0 objects
  526.           (== waiting for messages)
  527.     - KERNEL32: TLS bugfix (callback == 0)
  528.  
  529.  1999-11-25: Vitali E. Pelenyov <Vitali.Pelenyov@dpt.ustu.ru>
  530.     - USER32: Extended key fix (for cursor keys in Quake 2/Hexen 2 etc)
  531.  
  532.  1999-11-26: Christoph Bratschi <cbratschi@datacomm.ch>
  533.     - USER32: fixed rect mapping -> edit scroll redraw bug fixed
  534.           WM_ERASEBKGND: brush or system color
  535.  
  536.  1999-11-25: Sander van Leeuwen <sandervl@xs4all.nl>
  537.     - KERNEL32: Removed hardcoded dependency on ADVAPI32 (cpu.cpp); fixes
  538.             logging of multiple apps.
  539.             TLS bugfix (exception arrived too early; print info later on)
  540.             Continue during OSLibDosAliasMem if size != range (needs to
  541.             be fixed)
  542.             Allow executables to export functions (MS Word)
  543.     - USER32: PUT BACK GetWindowContextHelpId & SetWindowContextHelpId
  544.     - USER32: Win32BaseWindow::SetParent bugfix (setparent(0))
  545.           Changed broadcasting of messages. Check all valid window handles.
  546.           (TODO: Not efficient)
  547.           SetWindowLong (GWL_STYLE) fix; don't allow WS_VISIBLE or WS_CHILD
  548.           bit changes. (Wine does this and Pinball & Wordpad crash
  549.           if it is allowed)
  550.           Changed WM_SETREDRAW default handler to directly change
  551.           style (not call SetWindowLongA)
  552.           Fixed bugs in GetWindow.
  553.     - INCLUDE\OS2WRAP.H: Wrong macro fixed (GpiCreatePS didn't have any renaming
  554.                  -> FS corruption)
  555.  
  556.  1999-11-25: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  557.     - KERNEL32: MultiByteToWideChar & WideCharToMultiByte Wine port (991031)
  558.  
  559.  1999-11-24: Sander van Leeuwen <sandervl@xs4all.nl>
  560.     - USER32: Fixed desktop window handle (shouldn't be 0)
  561.           Added support for broadcasting messages (in post/sendmessage)
  562.           (Note: might not be complete correct to use WinBroadcastMsg)
  563.           Changed Post(Thread)MessageA/W; now packs message info in
  564.           shared memory buffer and posts it using a specific PM message.
  565.     - KERNEL32: Return kernel32path\win in GetWindowsDirectoryA if
  566.             neither the env variable or odin.ini key is present.
  567.             (also create this dir)
  568.             Fixed incorrect dll & exe renaming.
  569.  
  570.  1999-11-24: Christoph Bratschi <cbratschi@datacomm.ch>
  571.     - USER32: added missing button styles and messages
  572.           several bug fixes
  573.  
  574.  1999-11-23: David Raison <djr@lemur.co.uk>
  575.     - OLE32: Fixed buffer size error in StringFromGUID2.
  576.     - OLEAUT32: Rearranged iPicture
  577.  
  578.  1999-11-23: Sander van Leeuwen <sandervl@xs4all.nl>
  579.     - USER32: Added stubs for ChangeDisplaySettingsExA/W
  580.           Ported Wine EnumDisplaySettingsA/W (991031)
  581.           Query display color depth during init.
  582.     - KERNEL32: Ported and adapted Wine GetSystemInfo (now creates
  583.             both cpu & fpu registry keys)
  584.             Added code for SMP machines (GetSystemInfo)
  585.             Added IsProcessorFeaturePresent
  586.  
  587.  1999-11-23: Vitali E. Pelenyov <Vitali.Pelenyov@dpt.ustu.ru>
  588.     - USER32: ChangeDisplaySettingsA bugfix
  589.     - WSOCK32: Compile fix (include two more headers)
  590.  
  591.  1999-11-22: Patrick Haller <phaller@gmx.net>
  592.     - WSOCK32\NEW: Experimental rewrite using PMWSOCK, incomplete yet
  593.  
  594.  1999-11-22: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  595.     - KERNEL32: Workaround in HMWaitForSingleObject for Open32 handles
  596.             (i.e. process handles)
  597.     - USER32: Extra checks in wvsnprintfA/W
  598.           Check if InfoPtr == NULL in STATIC_SetBitmap
  599.     - GDI32: SetDIBits support for DIB sections
  600.  
  601.  1999-11-22: Sander van Leeuwen <sandervl@xs4all.nl>
  602.     - KERNEL32: Add default renaming profile keys (ole32 & netapi32) to
  603.             odin.ini if they're not already there. (during init)
  604.             DosAliasMem fix; removed ReadFile hack.
  605.     - KERNEL32: Rewrote pe loader for on-demand loading of sections
  606.             Currently all sections are preloaded because of problems
  607.             with page faults in dprints.
  608.     - USER32: Removed GetIconInfo hack. Causes problems for other apps.
  609.           TODO: Double height reported by Open32 for color icon masks!
  610.  
  611.  1999-11-22: Vitali E. Pelenyov <Vitali.Pelenyov@dpt.ustu.ru>
  612.     - KERNEL32: VirtualProtect bugfix
  613.  
  614.  1999-11-21: Christoph Bratschi <cbratschi@datacomm.ch>
  615.     - KERNEL32: Fixed trailing newline bug in LoadMessageA/W,
  616.             updated to WINE 991031 level
  617.     - USER32: fixed window text handling
  618.           added static WM_GETTEXT for SS_ICON style
  619.  
  620.  1999-11-21: Achim Hasenmueller <achimha@innotek.de>
  621.     - USER32: send WM_SETTEXT for edit and static text controls
  622.           in SetWindowTextA/W
  623.           Fixes for original Windows colors (still not
  624.           accurate though)
  625.     - COMCTL32: stubbed ImageList_Read and ImageList_Write -
  626.             implementation missing because OLE stream support
  627.             required
  628.  
  629.  1999-11-19: Christoph Bratschi <cbratschi@datacomm.ch>
  630.     - USER32: fixed listbox scrolling
  631.  
  632.  1999-11-14: Achim Hasenmueller <achimha@innotek.de>
  633.     - COMCTL32: Merged with WINE 991114
  634.  
  635.  1999-11-18: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
  636.     - KERNEL32: Win32Pe2LxImage didn't issue the setFullPath(szFileName)
  637.             call during construction.
  638.             Added a invalid pointer test in OS2Heap::Free which checks
  639.             that lpMem is within the user address space. (Fixes
  640.             WinZip 7.0 crash.)
  641.  
  642.  1999-11-17: Christoph Bratschi <cbratschi@datacomm.ch>
  643.     - USER32/COMCTL32: Fixed cursor handling
  644.  
  645. *****************************Official Alpha 5 version*********************************
  646.  
  647.  1999-11-14  Markus Montkowski <mmontkowski@gmx.de>
  648.     - DDRAW:  Code cleanup and some fixes in handling blts in the virtuel buffers.
  649.           Set IOPL =3 for all DXgames needed for RA (Red Alert).
  650.     - DSOUND: Implemented a fake soundcard so that the bufferpos does advance.
  651.           Needed for RA. ToDO: Use better calulation for HiresTimers
  652.  
  653.  1999-11-14: David Raison <djr@lemur.co.uk>
  654.     - OLEAUT32: Tidy up IPicture implentation - now handles fOwn.
  655.  
  656.  1999-11-14: Achim Hasenmueller <achimha@innotek.de>
  657.     - COMCTL32: Fixed strdupAtoW/WtoA calls
  658.             Implemented missing undocumented string functions
  659.  
  660.  1999-11-14: Sander van Leeuwen <sandervl@xs4all.nl>
  661.     - USER32: Implemented GetMenuItemRect
  662.           Fixed SetParent bug (use frame (not client) handle)
  663.           Fixed createControls for dialogs (set windowname for ids)
  664.           Ported LookupIconIdFromDirectory(Ex) (Wine, 991031)
  665.           Fixed OSLibWinEnableWindow (need to enable/disable both frame and client)
  666.           Partly ported Wine CopyImage for cursors & icons (disabled
  667.           because it doesn't work correctly)
  668.           Workaround for double height of icon masks -> doesn't work
  669.           100% correctly and IS A DIRTY HACK. (Open32 bug)
  670.  
  671.  1999-11-14: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  672.     - USER32: Fixed WindowFromPoint
  673.  
  674.  1999-11-14: David Raison <djr@lemur.co.uk>
  675.     - OLEAUT32: Added beginnings of IPicture interface for VB6 support.
  676.             Mostly stubs, but enough to get a simple VB6 app started.
  677.             ICreatePictureIndirect updated.
  678.  
  679.  1999-11-13: Christoph Bratschi <cbratschi@datacomm.ch>
  680.     - USER32: fixed more edit bugs
  681.           merged controls with wine-991031
  682.  
  683.  1999-11-13: Sander van Leeuwen <sandervl@xs4all.nl>
  684.     - KERNEL32: Fixed problem with ReadFile & aliased memory
  685.             (DosRead doesn't like writing to memory addresses
  686.              returned by DosAliasMem -> search for original
  687.              memory mapped pointer and use that one)
  688.             -> fixes problems in Lotus Notes 5.0
  689.             Also commit these pages before calling DosRead as exceptions
  690.             in the kernel can't be handled by us.
  691.     - KERNEL32\PELDR:
  692.             Better error reporting
  693.     - COMDLG32: Fixed bug in strlen: first check if pointer != NULL (FILEDLG95_InitUI)
  694.             Bugfix: ofn->lpTemplateName can be string id, so
  695.                 don't always treat it as a string
  696.             Check pointer returned by CBGetItemDataPtr, if != -1, then
  697.             it's a string. (FILEDLG95_OnOpen)
  698.  
  699.  1999-11-12: Christoph Bratschi <cbratschi@datacomm.ch>
  700.     - USER32: fixed several edit bugs
  701.  
  702.  1999-11-12: Sander van Leeuwen <sandervl@xs4all.nl>
  703.     - GDI32: Changes + fixes in DIBSection bitblt (fixes Quake 2)
  704.     - KERNEL32: Added handlemanager class for device drivers
  705.             Put devio.cpp in device driver class. (NOT TESTED)
  706.  
  707.  1999-11-12: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  708.     - KERNEL32: Wrote file io replacement apis (preliminary version)
  709.             (not enabled)
  710.  
  711.  1999-11-12: Jens Wiessner <wiessnej@rfi.de>
  712.     - IMAGEHLP,IMM32,OLECLI32,OLEDLG,OLESVR32,PSAPI,RASAPI32
  713.             Updates
  714.     - MSVCRT: Added stubs
  715.  
  716.  1999-11-11: Sander van Leeuwen <sandervl@xs4all.nl>
  717.     - USER32: Implemented GetWindowContextHelpId & SetWindowContextHelpId
  718.           Implemented GetKeyboardState (NOT TESTED)
  719.           Ported SwitchToThisWindow, GetKeyboardLayout, TranslateCharsetInfo
  720.           GetKeyboardLayoutNameA/W (991031)
  721.           Fixed Win32Dialog::SetWindowLongA for dlg proc.
  722.     - GDI32: Implemented EnumFontsA/W. Fixed bugs in EnumFontFamiliesW
  723.          (NEWTEXTMETRICW is different from NEWTEXTMETRICA)
  724.     - KERNEL32: Turn off debugging by default when compiling the nodebuginfo
  725.             build (can be enabled by setting the env. variable WIN32LOG_ENABLED)
  726.             Fixes for GetVersionSize/Struct for images that aren't loaded.
  727.             Fixed heap corruption in GetEnvironmentVariableW.
  728.  
  729.  1999-11-10: Christoph Bratschi <cbratschi@datacomm.ch>
  730.     - USER32: ShowScrollBar: create not existing scrollbars
  731.  
  732.  1999-11-10: Sander van Leeuwen <sandervl@xs4all.nl>
  733.     - KERNEL32: Rewrote OSLibDosAllocMem to only return addresses
  734.             aligned at 64kb boundaries (that's what NT's VirtualAlloc
  735.             does and it fixes problems with MS Word & StarCraft)
  736.             Fixed wrong dprintf in GetProcAddress.
  737.             Added code to VirtualAlloc for committing pages of memory mapped
  738.             files. (Word needs this)
  739.     - USER32: Implemented WindowFromDC
  740.           Call WinWaitMsg from WaitMessage instead of calling Open32 api.
  741.           Added wvsnprintfA export (required for NTDLL)
  742.     - NTDLL: Link with user32.lib, don't import by name directly
  743.          (needs to be done for the kernel32 forwards too)
  744.     - GDI32: Removed flipping of bitmaps in dibsection (no longer necessary)
  745.  
  746.  1999-11-10: Patrick Haller <phaller@gmx.net>
  747.     - COMDLG32:    Fix: erroneous filter data for GetOpenFileName now tolerated
  748.                  Open32 keeps to close to the docs :)
  749.     - SHELL32:    Add: update to WINE19991108
  750.     - GDI32:    Add: Font remapping via ODIN.INI (MS Sans Serif -> WarpSans)
  751.  
  752.  1999-11-10: knut.st.osmundsen <knut.stange.osmundsen@pmsc.no>
  753.     - PE2LX: Added OLE32 to the lie list. New Base class.
  754.     - WIN32K: Disabled Yield - this solves problems running win32k
  755.           at SMP kernels and logging problems on all kernels.
  756.           Added some parameters.
  757.  
  758.  1999-11-09: Rene Pronk <R.Pronk@twi.tudelft.nl>
  759.     - USER32: Added support for control mnemonics (Alt-key sends BM_CLICK
  760.           to buttons if key == mnemonic for that control)
  761.  
  762.  1999-11-09: Christoph Bratschi <cbratschi@datacomm.ch>
  763.     - GDI32: fixed line functions -> don't draw end pixel
  764.     - COMCTL32/USER32: removed some old workarounds
  765.     - USER32: fixed system resource handling
  766.  
  767.  1999-11-09: Sander van Leeuwen <sandervl@xs4all.nl>
  768.     - OLE32: Renamed dll to OLE32OS2 to avoid conflicts with Lotus SmartSuite's
  769.          OLE32.dll
  770.     - OLE32/OLEAUT32/AVIFIL32: compilation fixes
  771.     - KERNEL32: Fixed lstrcpynAtoW & lstrcpynWtoA, OS/2 unicode api
  772.             translated up to maxlen characters -> heap corruption
  773.             in Solitaire. Translate upto min(stringlength+1, maxlen).
  774.             Also, terminate at strlen(strlength), not maxbuf-1 (lstrcpynWtoA)
  775.     - KERNEL32: Added code for renaming dlls (i.e. OLE32 <-> OLE32OS2)
  776.             Odin.ini in bin directory needs to be present for PE loader
  777.             (includes renaming entries for OLE32 & NETAPI32)
  778.       NOTE: Dll name in ole32.lib has changed, so a complete recompilation
  779.         is required!
  780.       NOTE 2: We might need to add some code to the file io apis in case
  781.           dirty apps try to read directly from system dlls.
  782.     - KERNEL32: No need to export private apis by name & ordinal (ord is enough)
  783.     - INCLUDE\odinwrap.h
  784.           added wrappers that don't print dbg messages (regardless
  785.           of whether DEBUG is defined or not)
  786.     - INCLUDE\misc.h: Added dprintf2 function for extensive logging
  787.     - KERNEL32,USER32, replaced commented out dprintf calls with dprintf2
  788.                Changed makefiles to enable dprintf2 (DEBUGALL)
  789.     - KERNEL32: Wrapper heap apis with ODIN* macros. -> fixes FS corruption
  790.     - USER32: Fixed LoadMenuIndirectW (didn't call new code)
  791.  
  792.  1999-11-09: Patrick Haller <phaller@gmx.net>
  793.     - NTDLL:    Add:    various new functions added (DbgXXX)
  794.  
  795.  1999-11-08: Markus Montkowski <mmontkowski@gmx.de>
  796.     - WING32: Added first implementation of this old 32bit DLL.
  797.  
  798.  1999-11-08: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  799.     - KERNEL32: SetCurrentDirectory, CreateDirectory, RemoveDirectory bugfixes.
  800.             (remove terminating backslash if present)
  801.  
  802.  1999-11-08: Patrick Haller <phaller@gmx.net>
  803.     - COMCTL32:    Fix: EDIT: if obtaining font information fails,
  804.                    prevent division by zero
  805.     - NTDLL:    Add:    numerous integer arithmetic functions added
  806.  
  807.  1999-11-08: Sander van Leeuwen <sandervl@xs4all.nl>
  808.     - KERNEL32: Fixed bug in thread handler (exception handler set
  809.             at wrong moment)
  810.             Ported Wine critical section code (991031), Open32
  811.             doesn't correctly fill in the CRITICAL_SECTION structure.
  812.             Limit size of memory mapped files.
  813.     - USER32: PostThreadMessageA/W fix
  814.  
  815.  1999-11-06: Sander van Leeuwen <sandervl@xs4all.nl>
  816.     - DINPUT: Ported Wine code (991031) (not tested yet)
  817.     - USER32: Added code for sending mouse events to dinput.dll
  818.           Added PM <-> win32 key translation (used in dinput.dll)
  819.  
  820.  1999-11-06: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  821.     - USER32: GetMenuStringW fix
  822.  
  823.  1999-11-05: Achim Hasenmueller <achimha@innotek.de>
  824.     - COMCTL32: Source code cleanup, remove warnings, corrected typecasts
  825.             Added logging, warnings for stub functions
  826.     - KERNEL32: Source code cleanup, fix warnings
  827.     - USER32: Source code cleanup, fix warnings
  828.  
  829.  1999-11-05: Patrick Haller <phaller@gmx.net>
  830.     - COMCTL32:    Fix: TREEVIEW_Edit_Subclass is called with freed infoPtr
  831.                  This only cures the symptoms, not the origin!
  832.  
  833.  1999-11-05: Sander van Leeuwen <sandervl@xs4all.nl>
  834.     - USER32: Fixed InsertMenuA
  835.           Message translation fix for WM_USER+n messages (GetMessage)
  836.           Extra translation.
  837.           Rewrote/Ported LoadStringA/W (similar to Wine now)
  838.     - KERNEL32: Changed FindResource, string id translation should be done
  839.             in LoadStringA/W (done that way in Wine)
  840.             Fixed GetModuleHandleA
  841.  
  842.  1999-11-05: Jens Wiessner <wiessnej@rfi.de>
  843.     - MSVFW32: Updated to Wine level 991031
  844.     - IMM32: Replaced some FIXME entries with dprintf;
  845.     - KERNEL32: Added _wsnprintfA to .DEF file for export (MSACM32 needs this)
  846.     - INCLUDE: New MSACM.H from Wine991031 (MSACM32 needs this)
  847.     - MSACM32: New MSACM32.DLL (Ported from Wine9910131)
  848.  
  849.  1999-11-05: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  850.     - GDI32: Fixes for StretchDIBits & GetDIBColorTable
  851.     - USER32: Fixes for ArrangeIconicWindows & ShowOwnedPopups
  852.           NULL pointer checks in hasWindowName/hasClassName/FindClass
  853.           Message translation fix for WM_USER+n messages
  854.     - OLE32: Always create OLE window class
  855.     - KERNEL32: Null pointer check in lstrcmpiA
  856.     - SHELL32: Corrected export of Shell_GetCachedImageIndex
  857.  
  858.  1999-11-04: Sander van Leeuwen <sandervl@xs4all.nl>
  859.     - SHLWAPI: Fixed makefile
  860.     - USER32: Put back Dani's dialog fix (WS_CLIPSIBLINGS bit for dialog controls)
  861.           (fixes winhlp32 & comboboxes)
  862.  
  863.  1999-11-04: Patrick Haller <phaller@gmx.net>
  864.     - WNETAP32:    Add:    numerous undocumented functions stubbed
  865.     - ADVAPI32:    Add:    LsaXXX-functions stubbed
  866.     - USER32:    Fix:    wvsprintfA/W fixed (buffer overwrite)
  867.     - KERNEL32:    Fix:    unnamed kernel objects (events, mutexes, semaphores)
  868.  
  869.  1999-11-03: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
  870.     - Makefiles: Changes to build the libraries first
  871.  
  872.  1999-11-03: Sander van Leeuwen <sandervl@xs4all.nl>
  873.     - COMDLG32: Import from shlwapi as the original Wine code does
  874.     - SHELLL32: Added exports
  875.     - SHLWAPI:  Link with shell32.lib for forwarders + added exports
  876.     - USER32:   Fixed mouseactivate for subclassed OS/2 windows (scrollbars)
  877.             Fixed CreateIconIndirect (Wine file dialog now shows button
  878.             icons correctly)
  879.             Don't clear WS_CLIPSIBLINGS bit in OSSetWindowStyle.
  880.             Removed fix in PMFRAME WM_ADJUSTWINDOWPOS: Previous fix breaks
  881.             a lot of apps (button.exe/style.exe/header4.exe)
  882.             (fix = call default frame handler when receiving this msg
  883.              when the window hasn't been 'created' yet)
  884.  
  885.  1999-11-03: Christoph Bratschi <cbratschi@datacomm.ch>
  886.     - USER32: fixed modal dialogs
  887.           added WM_CONTEXTMENU
  888.     - COMCTL32: implemented statusbar size grip
  889.  
  890.  1999-11-03: Patrick Haller <phaller@gmx.net>
  891.     - KERNEL32:    Fix:    undocumented behaviour in SearchPathA
  892.                 and bugfix in SearchPathW
  893.     - USER32:    Fix:    TrackPopupMenuEx lpPM can be NULL
  894.             Fix    LoadBitmapA checked for incorrect return value
  895.  
  896.  1999-11-02  Markus Montkowski <mmontkowski@gmx.de>
  897.     - DDRAW: Changed debug output to DDRAW: ...
  898.          Copied Framebuffer if in colorconversion mode for Normal Blits to
  899.          the primary surface. => Map Editor of Red Alert works.
  900.  
  901.  00-11-02: Achim Hasenmueller <achimha@innotek.de>
  902.     - COMCTL32: Incorporated latest WINE 991031 updates
  903.       Note: listview doesn't paint properly now. Will be fixed later.
  904.  
  905.  1999-11-02: Markus Montkowski <mmontkowski@gmx.de>
  906.     - DDRAW: Changed interface handling of Surfaces=> Quake 2 runs again!
  907.  
  908.  1999-11-02: Patrick Haller <phaller@gmx.net>
  909.     - SHELL32:    Up to current WINE level
  910.     - SHLWAPI:    Created (in WINE it mostly links to SHELL32)
  911.  
  912.  1999-11-02: Sander van Leeuwen <sandervl@xs4all.nl>
  913.     - INCLUDE\odinwrap.h:
  914.           fixed wrong define (_ODINWARP instead of _ODINWRAP)
  915.           Only check the heap for consistency when DEBUG_ODINHEAP is
  916.           defined.
  917.     - USER32: Uncommented EDIT_NOTIFY_PARENT call in EDIT_WM_SetFocus
  918.           (yesterday's showwindow fix makes sure no WM_SETFOCUS msgs
  919.            arrive before the dialog received it's WM_INITDIALOG msg)
  920.           Fixed more FS corruption in dc.cpp.
  921.     - SHELL32: Added extra exports for comdlg32
  922.     - COMDLG32: Ported Wine file & find common dialogs (991031)
  923.             Find & Replace dialogs enabled, Wine code called for
  924.             file dialogs if the app supplies a dialog template.
  925.             NOTE: Disabled for now. Comctl32 isn't stable enough
  926.               for the Win95 style Wine comdlg dialogs.
  927.             Fixed check for find/replace dialog. Notepad uses 32 byte
  928.             buffer, so why does the wine code fail for < 80 bytes?
  929.             Fixed display of find/replace dialog -> if not hooked
  930.             show dialog!
  931.     - makefiles: Added debugsmp/nodebuginfosmp/releasesmp options to
  932.              start two nmake process to build everything on two cpus.
  933.  
  934.  1999-11-01: Sander van Leeuwen <sandervl@xs4all.nl>
  935.     - USER32: Delete all process windows & classes in exitlist handler
  936.           Set hwndInsertBehind to HWND_BOTTOM for group boxes
  937.           (fixes problems when groupbox control is defined after
  938.            controls inside it in dialog template)
  939.           Mouse activate fix.
  940.           Don't activate child windows in ShowWindow.
  941.     - WINMM: Return failure for waveOutGetDevCapsA/W when there's no
  942.          audio hardware present.
  943.  
  944.  
  945.  1999-11-01: Daniela Engert <dani@ngrt.de>
  946.     - USER32: add WS_CLIPSIBLINGS to not-WS_GROUP style STATIC controls
  947.           (fixes missing text in WELCOME)
  948.  
  949.     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  950.  
  951.     This is a hack!
  952.  
  953.     Dialog controls which contain/surround other controls *need* to be
  954.     created with the WS_CLIPSIBLINGS style.
  955.  
  956.     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  957.  
  958.  1999-10-31: Christoph Bratschi <cbratschi@datacomm.ch>
  959.     - KERNEL32: Ported Wine time apis
  960.  
  961.  1999-10-31: Daniela Engert <dani@ngrt.de>
  962.     - USER32: add WS_CLIPSIBLINGS to BS_GROUPBOX style controls (fixes
  963.           missing buttons in SOL)
  964.  
  965.  1999-10-31: Sander van Leeuwen <sandervl@xs4all.nl>
  966.     - USER32: Remove CS_SYNCPAINT class flag -> fixes VPBuddy resize + paint
  967.           Put back methods that belong in the Win32Dialog class.
  968.           (MapDialogRect, DIALOG_Init, several x & y unit helpers)
  969.           -> fixes calc window controls.
  970.  
  971.  1999-10-30: Christoph Bratschi <cbratschi@datacomm.ch>
  972.     - USER32: added button control text justification
  973.           GetNextDlgTabItem/GetNextDlgGroupItem must work with all windows
  974.           -> radiobuttons
  975.           fixed scrollbar timer handling
  976.           pmframe: fixed WM_ACTIVATE bug
  977.  
  978.  1999-10-29  Markus Montkowski <mmontkowski@gmx.de>
  979.     - GDI32:  Fixed bug in CreateDIBSection, only copy ptr when ptr. var not
  980.           NULL.
  981.           Added DIBSections to GetObject_A, so programms can query
  982.           a DIBSECTION for the obj.
  983.  
  984.  1999-10-30: Daniela Engert <dani@ngrt.de>
  985.     - USER32: Fixed missing repaints for transparent windows (VPBuddy!)
  986.  
  987.  1999-10-30: Sander van Leeuwen <sandervl@xs4all.nl>
  988.     - USER32: Ported Wine MapDialogRect -> fixes Calc dialogs
  989.  
  990.  1999-10-30: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  991.     - USER32: Port Wine ascii <-> unicode message conversion for user32 controls
  992.           (Wine controls only support ascii msgs)
  993.  
  994.  1999-10-30: Jens Wiessner <wiessnej@rfi.de>
  995.     - MSVCRT: Fixed .def file
  996.  
  997.  1999-10-29: Christoph Bratschi <cbratschi@datacomm.ch>
  998.     - USER32: rewrote scrollbar code
  999.           added static styles
  1000.  
  1001.  1999-10-29: Sander van Leeuwen <sandervl@xs4all.nl>
  1002.     - USER32: Changed font size multiply factor, negated it and fixed
  1003.           default dialog unit bug.
  1004.           Fixed MDI destroy bug
  1005.           WM_SETICON bugfix.
  1006.  
  1007.  1999-10-29: Sander van Leeuwen <sandervl@xs4all.nl>
  1008.        Rene Pronk<R.Pronk@twi.tudelft.nl>
  1009.     - USER32: Focus fixes. Activate a window when it receives a button click message.
  1010.  
  1011.  1999-10-29  Markus Montkowski <mmontkowski@gmx.de>
  1012.     - DDRAW: Changed logging, loginfo now in odin32_x.log for the first time...
  1013.  
  1014.  1999-10-28: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1015.     - USER32: LoadBitmapW fix
  1016.           ModifyMenuW/InsertMenuW fixes.
  1017.           Call CallWindowProcA/W in Send(Internal)MessageA/W
  1018.           (in preparation of Wine unicode msg translation port)
  1019.           Always call default window handler for WM_PAINT. Apparently
  1020.           there are apps that return 0, but don't call BeginPaint.
  1021.           Added extra messages for msg translation.
  1022.  
  1023.  1999-10-28: Sander van Leeuwen <sandervl@xs4all.nl>
  1024.     - ADVAPI32: Fixed dprintf bugs in OpenSCManagerA/W (%s instead of %d)
  1025.  
  1026.     - makefiles: Added nodebuginfo build option to build debug binaries
  1027.              without debug information. (for upcoming alpha release)
  1028.  
  1029.     - KERNEL32: GetVersion fix. Low byte = major version, high byte = minor version
  1030.             Destroyed shared heap on dll unload (refcount == 0)
  1031.             Shared heap fixes.
  1032.             GetWindowsDirectory & GetSystemDirectory return string that don't end with
  1033.             a backslash.
  1034.             Fixed loading of dlls without .dll extension.
  1035.             Fixed OSLibStripPath.
  1036.  
  1037.     - USER32: Fixed style conversion (use dwStyle, not cs->style, same for dwExStyle)
  1038.           -> title bar in prof. minesweeper
  1039.           Fixed bug in pmframe WM_WINDOWPOSCHANGED handler (didn't restore OS/2
  1040.           selector before returning)
  1041.           Don't delete global window classes.
  1042.           Removed shared heap, use the one in kernel32 instead.
  1043.           Fixed OSLibSetStyle & SetWindowLong for GWL_STYLE (wrong style used)
  1044.           Fixed win32 to OS/2 style conversion (DLG frame)
  1045.           Fix for timer messages in apps that use PeekMessage/DispatchMessage
  1046.           instead of GetMessage/DispatchMessage.
  1047.           Translation of extra messages.
  1048.  
  1049.  1999-10-28: Jens Wiessner <wiessnej@rfi.de>
  1050.     - MSVCRT: Added stubs
  1051.  
  1052.  1999-10-27: Patrick Haller <phaller@gmx.net>
  1053.     - KERNEL32:    Fix: console (unicode) updates, NT4'S CMD.EXE works.
  1054.             WARNING! lstrcpynAtoW has been modified, PLEASE VERIFY!
  1055.  
  1056.  1999-10-27: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
  1057.     - WIN32K: It's working! At least on my testmachine running
  1058.           the WSeB astrict UNI kernel and the Warp 4 astrict kernel.
  1059.  
  1060.  1999-10-27: Sander van Leeuwen <sandervl@xs4all.nl>
  1061.     - KERNEL32: If dll can't be found, look in directory of kernel32 (PE loader)
  1062.             Fixed iLoadLibrary (added .dll if it couldn't find this string in
  1063.             the module name; now only does that if it can't find a '.')
  1064.             Implemented WinExec using CreateProcessA.
  1065.             Fixed file mapping view lookup bug. Views are now again stored
  1066.             in per-process data segment.
  1067.             Delete process memory maps in exitlist too.
  1068.     - KERNEL32: Fixed bug in icon conversion (rgb only for <= 8bpp)
  1069.             Added support for color cursors (needs more testing but seems to work)
  1070.     - USER32: Added support for color cursors
  1071.           Fix for class lookup in CreateWindowExA/W
  1072.  
  1073.  1999-10-26: Sander van Leeuwen <sandervl@xs4all.nl>
  1074.     - USER32: Fixed bugs in menu apis (Append/InsertMenuA/W)
  1075.           Fixed InsertMenuItemA/W.
  1076.           Finished up Patrick's work -> regedit menus now correct
  1077.           In winmenu call only ODIN_* menu apis; decreases amount of
  1078.           logging and increases speed.
  1079.  
  1080.     - KERNEL32: Removed menu resource + non-used resource methods
  1081.             Fixed FS selector corruption in GetLocaleInfoA/W (use
  1082.             ODINFUNCTION wrapper as it calls a OS/2 unicode api that has no
  1083.             FS wrapper)
  1084.  
  1085.     - PELDR:  Increased stack from 192k to 640k (Quake 2 ran out of stack)
  1086.     - DSOUND/DDRAW: Fixed FS selector corruption in logging procedures
  1087.       ---> Quake 2 works again (Yeah! :) )
  1088.       NOTE: Quake 2 3.20 only starts the first time. Seems to change something
  1089.         in the config.cfg file that crashes it the next time you run it.
  1090.         (workaround: save original config.sys and restore it afterwards)
  1091.  
  1092.  1999-10-26: Patrick Haller <phaller@gmx.net>
  1093.     - USER32: Add: Ported Wine menu(ex) parser and integrated it into menu code
  1094.     - WINMM:  Fix: invalid callback check in dwaveout.cpp (Q2 makes noise again)
  1095.  
  1096.  1999-10-25: Sander van Leeuwen <sandervl@xs4all.nl>
  1097.     - USER32: Removed SetFocus call in Edit control (WM_LBUTTONDOWN)
  1098.           Virtual key translation table change (VK_RETURN (PM) -> 0x0A
  1099.           VK_ENTER (PM_ -> 0x0A (VK_RETURN))
  1100.           (fixes problems in edit control, but might not be a good fix)
  1101.           Never call default window handler (PM) after WM_CHAR ->
  1102.           PM sends the WM_CHAR to the owner window -> focus changes
  1103.           in notepad.
  1104.     - USER32: (menus)
  1105.           Rewrote LoadMenuIndirectA/W to use OS/2 apis
  1106.           Implemented GetMenuInfo & SetMenuInfo (just store new info; nothing else done)
  1107.           Implemented GetMenuContextHelpId/SetMenuContextHelpId
  1108.           (based on Wine build 990815)
  1109.           Partially implemented GetMenuItemInfo.
  1110.           NOTE: Needs a complete rewrite.
  1111.  
  1112.     - INCLUDE\win\commctrl.h:
  1113.           Changed back calling convention of callback handlers to CALLBACK.
  1114.           -> fixes crashes in SHELL32 (DPASearch calls)
  1115.  
  1116.  1999-10-25: Achim Hasenmueller <achimha@innotek.de>
  1117.     - KERNEL32: Added ReinitializeCriticalSection, ported WINE code
  1118.             for this function and UninitializeCriticalSection
  1119.  
  1120.  1999-10-25: Patrick Haller <phaller@gmx.net>
  1121.     - ODINWRAP: Fix: Bugfix + Heap Check embracing every wrapper function
  1122.     - NTDLL:    Add: functions by Jens Wiesner
  1123.     - KERNEL32: Fix: enable WIN32.DEBUGBREAK environment variable for DebugBreak() API
  1124.     - WSOCK32:  Fix: invalid structure alignment for asynchronous operations
  1125.  
  1126.  1999-10-25: Markus Montkowski <mmontkowski@gmx.de>
  1127.     - DDRAW:  Fixed bug in Color conversion of surfaces DDEX1.EXE now works,
  1128.           Get/ReleaseDC functions are working, but problem
  1129.           with Bitmap orientation DDRAW surfaces are TopDown DCs Bmps are BottomUp
  1130.           this neeeds to be solved (any way to create a TopDown DC Bmp?)
  1131.  
  1132.  1999-10-24: Sander van Leeuwen <sandervl@xs4all.nl>
  1133.     - USER32: MDI window fixes (mdi children correctly activated; menus inserted)
  1134.           Bugfix in WM_GETTEXT of Edit control (wrong string length)
  1135.           Only create global classes when CS_GLOBALCLASS flag specified
  1136.           Create system classes only every first time user32 is loaded
  1137.           and only unregister them when the last win32 app quits.
  1138.           Converted all OS/2 bitmaps to windows format and put them in user32.rc
  1139.           (deleted all bmp files)
  1140.     - USER32,
  1141.       COMCTL32,
  1142.       SHELL32: Don't check if control atom already exists, always register
  1143.            control.
  1144.          NOTE: Global classes have a global atom, but the class objects
  1145.            are NOT shared! (so you must recreate them for every app)
  1146.  
  1147.     - KERNEL32: Implemented shared memory mapped files (SDK memory sample
  1148.             works for shared memory; haven't tested files and it requires
  1149.             more testing!)
  1150.             Added shared heap code for memory mapped objects
  1151.  
  1152.  1999-10-24: Daniela Engert <dani@ngrt.de>
  1153.     - KERNEL32: Fixed cursor in VPBuddy (invalid size)
  1154.  
  1155.  1999-10-23: Christoph Bratschi <cbratschi@datacomm.ch>
  1156.     - USER32: added more metrics for GetSystemMetrics
  1157.           added WM_SYSTIMER support
  1158.           several scrollbar bug fixes
  1159.  
  1160.  1999-10-23: Sander van Leeuwen <sandervl@xs4all.nl>
  1161.     - USER32: Put back WM_ADJUSTWINDOWPOS/WINDOWPOSCHANGED into pmwindow.cpp
  1162.           Put message logging procedure in wndmsg.cpp.
  1163.           Don't log WM_KICKIDLE & WM_NCHITTEST messages. (sent too often)
  1164.           Don't set capture to listbox window in comboboxes (after lbuttonup)
  1165.           Use wrc to compile USER32 resources + added version resource
  1166.           Fixed PMFRAME window position handlers and put them back.
  1167.           (comboboxes now displayed properly)
  1168.  
  1169.     - KERNEL32: Write logfiles to directory of kernel32 if executable is on
  1170.             readonly device.
  1171.             Fixed CreateProcess.
  1172.             Added support for GetVersionSize/GetVersionStruct for images
  1173.             that aren't loaded. (LX or PE; PE not tested!)
  1174.     - DSOUND: Made it compile again. (always pretends there's no soundcard in the system)
  1175.     - SHELL32/COMCTL32: Changed file description in version resource
  1176.  
  1177.  1999-10-22: Daniela Engert <dani@ngrt.de>
  1178.     - KERNEL32: fixed bad icon masks
  1179.  
  1180.  1999-10-22: Sander van Leeuwen <sandervl@xs4all.nl>
  1181.     - WINMM: Fixes for waveout playback (don't use callback when there
  1182.          were errors when opening the device; return the correct
  1183.          number of devices present) (Pinball no longer crashes when
  1184.          there's no soundcard (driver) in OS/2)
  1185.          Disabled logging of timeGetTime
  1186.     - KERNEL32: Disabled logging for _lread (calls ReadFile which does it's own logging)
  1187.             Return XCPT_CONTINUE_SEARCH for unhandled exceptions if
  1188.             an OS/2 app uses the Odin32 api. (instead of killing the app)
  1189.  
  1190.     - COMCTL32: Fixed tab width bug. (GetTextExtentPoint32A used for unicode strings)
  1191.             Use Wine resource compiled with wrc. Removed all Native* resource loading.
  1192.             Added version resource.
  1193.  
  1194.     - USER32: Fixed corruption of OS/2 exception chain in dc.cpp & caret.cpp
  1195.           (fixes dll loading after the exe has started; i.e. after clicking
  1196.            on the Find tab in winhlp32's Search dialog)
  1197.           Do not send WM_COMMAND messages to the window handler before
  1198.           it has receive it's WM_CREATE msg.
  1199.           Winhlp32 crashes when that's done before WM_INITDIALOG, but
  1200.           VPBuddy no longer responds to buttons when you refuse to
  1201.           send messages before WM_INITDIALOG. (TODO)
  1202.           Send WM_WINDOWPOSCHANGING/CHANGED messages from frame handler.
  1203.           Fixed MapWindowPoints.
  1204.     - INCLUDE\os2wrap.h: Fixed infinite recursion in GpiDestroyPS
  1205.  
  1206.  1999-10-22: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1207.     - USER32: TrackPopupMenu(Ex) fixes (window handle translation)
  1208.     - KERNEL32: HeapReAlloc bugfix (copy min(oldsize, newsize) bytes)
  1209.  
  1210.  1999-10-21: Sander van Leeuwen <sandervl@xs4all.nl>
  1211.     - KERNEL32: Increase reference count for LX dlls. (RegisterLxDll)
  1212.             Set memory protection flags to READONLY for PAGE_NOACCESS
  1213.     - USER32: Added support for SWP_NOSIZECHANGING to SetWindowPos
  1214.           Fixed WM_ADJUSTWINDOWPOS (when position/size changed by app)
  1215.           Combobox fixes (simple combobox works, more complex don't)
  1216.           Don't check instance handle if handle == handle of exe for
  1217.           class lookup.
  1218.     - GDI32: Fixed bug in DIBSection ctor (next ptr not initialized)
  1219.  
  1220.  1999-10-20: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1221.     - GDI32: Implemented EnumFontFamiliesA/W
  1222.  
  1223.  1999-10-20: Sander van Leeuwen <sandervl@xs4all.nl>
  1224.     - USER32: Added support for WM_WINDOWPOSCHANGING in default window handler
  1225.           (ported from Wine 990815)
  1226.           Convert back windowpos structure in WM_ADJUSTWINDOWPOS (NOT DONE)
  1227.           Bugfixes for PM WM_WINDOWPOSCHANGED handling & OSLibMapSWPtoWINDOWPOS.
  1228.           (Win32 WM_WINDOWPOSCHANGED now also sends window coordinates, not client)
  1229.           Rewrote MapWindowPoints. (NOTE: Needs to be tested!)
  1230.           Combobox bugfix (resizing listbox using old rectangle -> get current
  1231.           one)
  1232.  
  1233.  1999-10-20: Patrick Haller <phaller@gmx.net>
  1234.     - WSOCK32:  Partial rewrite of WSA async sockets completed.
  1235.  
  1236.  1999-10-20: Christoph Bratschi <cbratschi@datacomm.ch>
  1237.     - KERNEL32: Ini file for Odin settings (i.e. windows & system dir)
  1238.             Added Odin.ini.txt
  1239.  
  1240.  1999-10-19: Sander van Leeuwen <sandervl@xs4all.nl>
  1241.     - KERNEL32: FindResource bugfix: "DIB" type is the same as "BITMAP"
  1242.             (VPBuddy fix)
  1243.             NOTE: Currently disabled. VPBuddy expects something other
  1244.               than a pointer to the raw resource data for such
  1245.               bitmaps. (TODO)
  1246.     - USER32: Windows without a parent have the desktop window as parent.
  1247.           MDI additions.
  1248.           Combobox bugfixes.
  1249.           GetWindowTextA/W bugfixes (return 0 if there's no window name)
  1250.  
  1251.  1999-10-19: Yuri Dario <mc6530@mclink.it>
  1252.     - USER32: Initialize MDI client variables before calling Win32BaseWindow
  1253.           constructor
  1254.  
  1255.  1999-10-19: Jens Wiessner <wiessnej@rfi.de>
  1256.     - RASAPI32: Added stubs
  1257.  
  1258.  1999-10-19: Daniela Engert <dani@ngrt.de>
  1259.     - USER32: excessive background erases tamed
  1260.  
  1261.  1999-10-18: Sander van Leeuwen <sandervl@xs4all.nl>
  1262.     - USER32: Set/clear WS_VISIBLE flag in ShowWindow
  1263.           Fix for scrollbar redraw
  1264.           Put back original Wine code for LISTBOX_UpdateScroll.
  1265.           Rewrote EnumChildWindows (winzip works quite well now!)
  1266.  
  1267.  1999-10-18: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1268.     - COMDLG32: Disable comdlg hooks for now. They don't work anyway.
  1269.  
  1270.  1999-10-17: Sander van Leeuwen <sandervl@xs4all.nl>
  1271.     - USER32: Ported AdjustWindowRectEx from Wine (990815)
  1272.           Changed GetClientRect to return rectangle stored in
  1273.           window object.
  1274.           Ported (Begin/End)DeferWindowPos from Wine (990815)
  1275.           Ported GetWindow from Wine (990815)
  1276.           Fixed dialog control creation bug (create ascii controls when
  1277.           parent window is ascii)
  1278.           Implemented SetWindowPlacement (not complete done)
  1279.           Fixed GetWindowPlacement (handle translation), still
  1280.           needs to be implemented though.
  1281.           Don't change PM window style in WM_DESTROY handler -> crash in PMMERGE
  1282.           Bugfixes for Enum(Thread/Child)Window (wrong call to get object ptr)
  1283.           Fixed FindWindowEx method to map frame window to object ptr.
  1284.           Fixed WM_WINDOWPOSCHANGED handler for scrollbars (set window &
  1285.           client rectangle)
  1286.           Fixed WM_MOUSEMOVE handler for scrollbars (return 1 to let
  1287.           PM change the mouse cursor back to the default)
  1288.           Fixed GetDlgItem. According to SDK docs this api should work
  1289.           for any parent-child pair. (behaviour seen in VPBuddy)
  1290.           Added MFC message support for message printfs
  1291.  
  1292.  1999-10-17: Christoph Bratschi <cbratschi@datacomm.ch>
  1293.     - USER32: replaced OS/2 scrollbars by WINE scrollbars
  1294.           BUG: SCROLL_RefreshScrollBar doesn't work
  1295.                GetDC returns a wrong DC, BeginPaint works as it should
  1296.           Send as few WM_ENTERIDLE messages as possible -> low CPU usage
  1297.           pmframe: removed WinFillRect
  1298.           implemented: DrawIcon/DrawIconEx
  1299.           fixed static icon size
  1300.           pmframe: added PSF_CLIPSIBLINGS
  1301.  
  1302.  1999-10-17: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
  1303.     - KERNEL32: Removed exception throwing from Pe2Lx classes.
  1304.             Implemented TLS support in Pe2Lx classes.
  1305.  
  1306.  1999-10-16: Yuri Dario <mc6530@mclink.it>
  1307.     - USER32: Button bugfix (BUTTON_CheckAutoRadioButton)
  1308.           Win32dlg.cpp: cosmetic changes
  1309.     - include\os2wrap.h: define inline as _inline in C mode
  1310.     - include\win\winsock.h: Added prototypes
  1311.     - src\makefile: shell32 depends on ole32 & version, build it after those two dlls
  1312.     - SHELL32: Replaced full path with CPPMAIN for wrc parameters
  1313.     - win32k/makefile: replaced full path with macros
  1314.     - WSOCK32: Build export library (impdef to create correct .def)
  1315.  
  1316.  1999-10-16: Sander van Leeuwen <sandervl@xs4all.nl>
  1317.     - USER32: Don't process size messages before sending WM_NCCREATE
  1318.           message when creating a window. (can mess up our window
  1319.           and client rectangle)
  1320.           Erase background for buttons. (fixes groupbox redraw problems)
  1321.           isFrameWindow bugfix + MDI creation & WM_NCCALCSIZE bugfix
  1322.  
  1323.  1999-10-15: Sander van Leeuwen <sandervl@xs4all.nl>
  1324.     - USER32: CBT Hook bugfix. Only respond to WM_NCCREATE msg to send
  1325.           HCBT_CREATEWND.
  1326.           Scrollbar bugfix. Pass all msgs we don't use to default
  1327.           window handler. (used to do this only for > WM_USER -->
  1328.           return value of 0 for WM_NCCREATE cancels window creation)
  1329.           GetWindow bugfix. (related window can be frame window)
  1330.           Fixed window & child destruction process.
  1331.     - KERNEL32: Fixed VirtualQuery bug.
  1332.  
  1333.  1999-10-15: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1334.     - USER32: Basic message translation to fix problems in win apps
  1335.           that wait for a specific message. (NOT COMPLETE)
  1336.  
  1337.  1999-10-14: Sander van Leeuwen <sandervl@xs4all.nl>
  1338.     - USER32: Fixed WM_WINDOWPOSCHANGED (frame window rectangle)
  1339.           Partly implemented CopyImage (only simple copies of icons
  1340.           and cursors; FAR FROM COMPLETE!)
  1341.           Removed FillRect during WM_PAINT in subclassed frame handler.
  1342.           (still some redraw problems with i.e. button.exe; a little
  1343.            worse than before)
  1344.  
  1345.  1999-10-14: Patrick Haller <phaller@gmx.net>
  1346.     - KERNEL32:    Fix: threads might need more memory in debug mode (thread.cpp)
  1347.             Fix: a little cleanup (virtual.cpp)
  1348.             Fix: lstrcpyAW taking NULL parameters (broken WINE controls?) (heapstring.cpp)
  1349.     - ADVAPI32:    Fix: RegConnectRegistryA slightly improved
  1350.  
  1351.  1999-10-14: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
  1352.     - PE2LX:    New implementation in src\win32k\pe2lx.
  1353.             No resource conversion. I have tested it, but do expect to
  1354.             find some bugs. And when you find, please give me a hint.
  1355.             The new Pe2Lx uses much support code,(heap, printf..)
  1356.             from win32k. It also uses the sub-system CRT library (as
  1357.             win32k does). This way more of the win32k code will be
  1358.             tested in Ring 3, so there'll simply be less bugs to track
  1359.             down in Ring 0 and kernel debugger/ICAT.
  1360.     - KERNEL32: Win32???Pe2Lx classes is updated to match the new Pe2lX.
  1361.             Note that TLS is not implemented yet - it's in the line.
  1362.             Fix: Made a temporary fix in atom.cpp for some of the W
  1363.             functions. The string isn't allways a string... I do a
  1364.             permanent fix some other day.
  1365.     - WIN32K:   Compiles and links. But Not Tested!
  1366.  
  1367.  1999-10-14: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1368.     - USER32: lstrcmpW: check for null pointers
  1369.           RemovePropA SetPropA bugfixes (wrong wnd handle)
  1370.  
  1371.  1999-10-14: Sander van Leeuwen <sandervl@xs4all.nl>
  1372.     - USER32: Fixed shrinking listbox in shell about dialog.
  1373.           (add border size to size during window creation & SetWindowPos)
  1374.           Support for WM_NCCALCSIZE. Not completely working yet.
  1375.           Fixed crash in Winhlp32 (annotate creates multiline edit
  1376.           control that received PM messages too early -> divide by 0)
  1377.           -> Don't allow WM_WINDOWPOSCHANGED messages until after WM_NCCREATE.
  1378.           Removed previous OSLibMapWINDOWPOStoSWP bugfix.
  1379.           Default dialog xBaseUnit = 10, yBaseUnit = 20.
  1380.           Only set FCF_TASKLIST bit when parent == desktop & window
  1381.           has titlebar. (too many Opera windows in tasklist)
  1382.           Clear unsupported frame styles (i.e. no titlebar & minimize/maximize button)
  1383.           Fixed MapOS2ToWin32Rectl & GetWindowRect.
  1384.           Removed code that adds bordersize during SetWindowPos & window
  1385.           creation. Fixed listbox code instead. (use window rectangle
  1386.           for SetWindowPos call, not client rectangle)
  1387.  
  1388.     - USER32: Rewrote window creation. All Odin windows are OS/2 frames.
  1389.           2nd half of window/dialog creation carried out during OS/2
  1390.           WM_CREATE message.
  1391.           Don't call default frame handler during WM_ADJUSTWINDOWPOS
  1392.           for child windows. Fixes incorrect position.
  1393.           Probably needs to be fixed again.
  1394.       NOTE: NOT WORKING CORRECTLY JUST YET!!
  1395.  
  1396.     - COMCTL32: Check infoPtr in toolbar during WM_ERASEBKGND
  1397.     - KERNEL32: Added wprocess.cpp dependency for include\win\thread.h
  1398.             Bugfix for loading dlls in pe loader -> increase reference count
  1399.             In iLoadLibrary first check if the dll has already been loaded.
  1400.             Fixed console initalization for pe loader apps.
  1401.             Fixed SetWin32TIB. Return current FS selector for Odin32 apps.
  1402.             Removed generic.exe fix in OS2UnsetExceptionHandler.
  1403.             (creates problems when loading multiple PE dlls with pe loader
  1404.              and generic.exe still works fine now)
  1405.     - SHELL32: use wrc from tools directory
  1406.  
  1407.  1999-10-13: Patrick Haller <phaller@gmx.net>
  1408.     - KERNEL32: Fix: XCPT_GUARD_PAGE_VIOLATION are now supported.
  1409.              (helps PROGMAN.EXE)
  1410.     - USER32:   Fix: parameter checking in RedrawWindow
  1411.             Fix: temp fix for MsgWaitForMultipleObjects
  1412.  
  1413.  1999-10-12: Sander van Leeuwen <sandervl@xs4all.nl>
  1414.     - USER32: DrawMenuBar & DrawCaptionTempA bugfix (window handle translation)
  1415.           Added Win32ToOS2FrameHandle method
  1416.           Set default mouse pointer back if app doesn't process WM_MOUSEMOVE
  1417.           message.
  1418.           Bugfix in button control -> return non-zero if WM_MOUSEMOVE
  1419.           message doesn't change the cursor.
  1420.           Same fix in edit & listbox control.
  1421.           Looks like the same bug is in the scrollbar code.
  1422.           Preliminary listbox fixes (scrollbar related)
  1423.           Don't show scrollbars when window is created.
  1424.  
  1425.     - USER32: Added support for extra messages in default window handler.
  1426.           Partial support for WM_SYSCOMMAND in default window handler.
  1427.           MDI child bugfix (window now displayed correctly)
  1428.           Only subclass frame when it has a 3d border OR *only* the
  1429.           WS_BORDER borderstyle.
  1430.           Fixed y mapping bug in OSLibMapWINDOWPOStoSWP (converted
  1431.           twice (win32 -> os2 -> win32))
  1432.     - USER32: Set focus to edit control when receiving WM_LBUTTONDOWN
  1433.  
  1434.     - USER32: Don't send WM_COMMAND during WM_SETFOCUS in edit control when
  1435.           dialog hasn't been completely created. (crashes VPBuddy; can't
  1436.           find dialog control that hasn't been created yet)
  1437.           NOTE: EXPERIMENTAL FIX. NEEDS TO BE CHANGED.
  1438.  
  1439.  1999-10-11: Christoph Bratschi <cbratschi@datacomm.ch>
  1440.     - USER32: pmframe finished
  1441.  
  1442.  1999-10-11: Sander van Leeuwen <sandervl@xs4all.nl>
  1443.     - USER32: Disabling the desktop window is a very bad idea.
  1444.           (desktop no longer responds to mouse clicks)
  1445.           Enable method in desktop window class that does nothing.
  1446.           Added support for extra messages in msg printf code
  1447.           Ported almost all Wine code for CTLCOLOR messages.
  1448.           Return -1 in DefWindowProc for WM_VKEYTOITEM & WM_CHARTOITEM
  1449.           Fix for MDI child window. They're now displayed, but it's
  1450.           still not right.
  1451.     - SHELL32: Fixed Shell32 about dialog.
  1452.            Compile Wine resource with WRC and link with dll.
  1453.            Added version resource
  1454.            Call Wine dll entrypoint in initterm.cpp.
  1455.     - INCLUDE: Only include stdlib.h when wrc is not active
  1456.            Extra definitions for compiling win32 apps in OS/2
  1457.  
  1458.  1999-10-11: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1459.     - GDI32: GetTextFaceW bugfix
  1460.     - USER32: Init ownDC to 0
  1461.           Create empty dialog in CreateWindowExA/W if class == dialog
  1462.           Support for class atoms in CreateWindowExA/W
  1463.           Win32Dialog::getNextDlgGroupItem() bugfix
  1464.  
  1465.  1999-10-11: Christoph Bratschi <cbratschi@datacomm.ch>
  1466.     - GDI32: Bugfix for Pie Open32 api
  1467.  
  1468.  1999-10-10: Christoph Bratschi <cbratschi@datacomm.ch>
  1469.     - USER32: fixed radio buttons, disabled text output
  1470.  
  1471.  1999-10-10: Sander van Leeuwen <sandervl@xs4all.nl>
  1472.     - USER32: Ported GetNextDlgGroupItem & GetDlgItemInt from Wine
  1473.           Window handle translation fix for MessageBoxW
  1474.           Don't create frame windows for windows with a 3d border.
  1475.           (fixes crash in VPBuddy; don't know why)
  1476.     - COMDLG32: Fix for most unicode functions (window handle translation
  1477.             missing as reported by Edgar Buerkle)
  1478.  
  1479.  1999-10-10: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1480.     - KERNEL32: Bugfix for GetFullPathNameW (NULL ptr check)
  1481.  
  1482.  1999-10-09: Sander van Leeuwen <sandervl@xs4all.nl>
  1483.     - USER32: Clipboard fixes (window handle translation)
  1484.           Fixed button redraw when receiving a WM_ENABLE msg
  1485.           Use the supported Open32 system colors and only use
  1486.           those from Wine for the new (9x) colors
  1487.     - SHELL32: Moved old to current, current to old dir
  1488.     - KERNEL32: Don't switch FS selectors for Odin32 OS/2 apps (win32
  1489.             apps compiled in OS/2).
  1490.             Fixed reversed stack top & bottom in TEB structure.
  1491.     - KERNEL32  Added code to dispatch OS exceptions to win32 apps.
  1492.             Doesn't seem to be necessary though, so it's inactive for now.
  1493.     - USER32:   Fixed resizing in winhlp32. Doesn't seem to break anything
  1494.             else. (needs more testing though)
  1495.             Only increase y position of window if it's initial y <> 0.
  1496.             Fixed desktop window lookup (GetWindowFromHandle)
  1497.             Set dummy desktop window handler;
  1498.             Mdi client bugfix (reported by Yuri Dario)
  1499.  
  1500.  1999-10-09: Jens Wiessner <wiessnej@rfi.de>
  1501.     - CRTDLL: Implemented functions; only 62 stubs left
  1502.  
  1503.  1999-10-09: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1504.     - USER32: Enabled accelerator WM_COMMANDs
  1505.     - COMDLG32: Fix for GetOpenFileNameW (owner hwnd translation)
  1506.  
  1507.  1999-10-08: Daniela Engert <dani@ngrt.de>
  1508.     - USER32: fix: miscoloured bitmaps
  1509.  
  1510.  1999-10-08: Christoph Bratschi <cbratschi@datacomm.ch>
  1511.     - USER32: added WM_STYLECHANGING/WM_STYLECHANGED.
  1512.           button,combo: bitmap fix.
  1513.           added frame to children with WS_* border flags
  1514.           subclass frame windows
  1515.           SendDlgItemMessageA/W fixed
  1516.           CheckRadioButton fixed
  1517.           merged controls with WINE 990923
  1518.  
  1519.  1999-10-08: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1520.     - KERNEL32: Accelerator conversion fixes + changes
  1521.  
  1522.  1999-10-08: Sander van Leeuwen <sandervl@xs4all.nl>
  1523.     - USER32: Bugfix for SetWindowPos; take frame size into account
  1524.           Removed WM_MOVE notification class flag for Odin PM windows
  1525.           Removed SetWindowPos frame size bugfix
  1526.           Removed WM_WINDOWPOSCHANGED cy bugfix
  1527.           Set WS_DISABLED window style bit when receiving PM WM_ENABLE
  1528.           GetClassInfoA bugfix
  1529.           Window property bugfixes (no handle translation)
  1530.           Set last error when window creation fails.
  1531.           In DefDlgProcA/W, call DefWindowProcA/W if window is not
  1532.           a dialog. Fixed problems in VPBuddy.
  1533.           Unknown if that's a bug in the app or something else goes wrong.
  1534.     - KERNEL32: Bugfix for loading winspool
  1535.             Ported latest Wine exception code (RtlRaiseException/RtlUnwind)
  1536.  
  1537.  1999-10-07: Christoph Bratschi <cbratschi@datacomm.ch>
  1538.     - USER32: GetCaretPos() fix
  1539.  
  1540.  1999-10-07: Achim Hasenmueller <achimha@innotek.de>
  1541.     - USER32: Corrected pageup/pagedown behavior
  1542.  
  1543.  1999-10-07: Rene Pronk <R.Pronk@twi.tudelft.nl>
  1544.     - USER32: Fixed WM_WINDOWPOSCHANGED behavior so that
  1545.           client windows are properly resized. This fixes
  1546.           the Winhlp32 history resize problem
  1547.  
  1548.  1999-10-07: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1549.     - USER32: Set window PM id for Odin windows.
  1550.           Bugfix for WM_QUERYWINDOWPARAMS handler
  1551.           Case insensitive string compare in CreateWindowExA/W for
  1552.           mdi client class check.
  1553.           Create ascii or unicode mdi child window based on mdi client
  1554.           window type.
  1555.  
  1556.  1999-10-07: Jens Wiessner <wiessnej@rfi.de>
  1557.     - CRTDLL: Includes all functions (added stubs and fully implemented functions)
  1558.  
  1559.  1999-10-07: Sander van Leeuwen <sandervl@xs4all.nl>
  1560.     - USER32: Only display scrollbars when they need to be shown.
  1561.           (also fixes redraw problems with inactive scrollbars)
  1562.           Resize bugfix. Winhlp32 can now be resized without problems.
  1563.           Whether this fix is correct is another matter.
  1564.  
  1565.  1999-10-06: Daniela Engert <dani@ngrt.de>
  1566.     - USER32: fix: adjust caret position if window height changes.
  1567.  
  1568.  1999-10-06: Sander van Leeuwen <sandervl@xs4all.nl>
  1569.     - USER32: Fixed memory leaks in SetWindowTextA/W window class methods
  1570.     - KERNEL32: Put back my changes (10/04/99) in winimgres.cpp
  1571.  
  1572.  1999-10-06: Patrick Haller <phaller@gmx.net>
  1573.     - KERNEL32: Fix: DLLs without Resource Segment (pResDir == NULL)
  1574.             Fix: VirtualFree not freeing memory fixed, WINHLP32 looks healthier :)
  1575.  
  1576.  1999-10-05: Christoph Bratschi <cbratschi@datacomm.ch>
  1577.     - USER32: rewrote color management
  1578.  
  1579.  1999-10-05: Sander van Leeuwen <sandervl@xs4all.nl>
  1580.     - KERNEL32: Set fs:0 to -1 in OS2UnsetExceptionHandler.
  1581.             Prevents crash due to corrupted handler chain (see
  1582.             comments in that function)
  1583.     - ODIN32API: Remove exception handler set & unset. Not necessary
  1584.              as it's also done in the start method of an exe image.
  1585.  
  1586.  1999-10-04: Patrick Haller <phaller@gmx.net>
  1587.     - SHELL32\NEW: Compilation fix (indirectly included win32type.h)
  1588.     - KERNEL32:    Support for DisableThreadLibraryCalls
  1589.  
  1590.  1999-10-04: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1591.     - USER32: Fixes for window style update, mouse button messages,
  1592.           WS_CAPTION style and apps with a dialog as their main window.
  1593.           (set owner to desktop)
  1594.     - KERNEL32: Extra checks for valid heap pointers
  1595.  
  1596.  1999-10-04: Sander van Leeuwen <sandervl@xs4all.nl>
  1597.     - USER32: Deleted dialog.cpp
  1598.           Set last error to 0 if dialog creation succeeds.
  1599.           Added flag to distinguish between messages sent by PM and
  1600.           those sent by apps
  1601.           Handle WM_SETTEXT messages passed to default window handler
  1602.           (only if not sent by PM)
  1603.     - VERSION: Fix for string compares in VersionInfo32_FindChild (has
  1604.            to be a lstrcmpniW)
  1605.     - SHELL32: Removed nameid.h include in she.cpp & sh.cpp. Fixed makefile
  1606.            addition for export library (extra ".." for tool path)
  1607.     - DPLAY, MSACM32: Compilation fix (indirectly included win32type.h)
  1608.     - KERNEL32: Fixed getVersionStruct for PE & LX images (didn't copy
  1609.             version data before)
  1610.             Fixed module name lookup for win32 images executed by the PE
  1611.             loader. (can't use OSLibQueryModuleHandle for those)
  1612.             Added lstrcmpniW function
  1613.             Set full path for LX images
  1614.             Support for retrieving the first resource of a certain type
  1615.             (version ids no longer hardcoded as id 1; just get the first one
  1616.              present)
  1617.  
  1618.  1999-10-04: Jens Wiessner <wiessnej@rfi.de>
  1619.     - CRTDLL: Implemented functions + added stubs
  1620.     - MSVCRT: More stubs + crtdll forwarders
  1621.  
  1622.  1999-10-04: Yuri Dario <mc6530@mclink.it>
  1623.     - ddeml.h: new macros
  1624.     - mmsystem.h: changed sndPlaySound and mciCommand prototypes (as in MS sdk)
  1625.     - shlobh.h: added ifdef for direct inclusion
  1626.     - winbase.h: added UnlockResource macro
  1627.     - windef.h: changed return type (maybe also other functions are wrong)
  1628.     - windows.h: included ddeml.h
  1629.     - windowsx.h: added macros
  1630.     - wingdi.h: added win95 bitmap structures
  1631.     - winuser.h: few macros and changed DLGTEMPLATE prototypes as in MS sdk
  1632.     - crtdll.cpp: now includes libc/locale.h, so toolkit headers are included also for VA36
  1633.     - shell32/makefile: added code for library export.
  1634.     - shell32/new/makefile: added code for library export.
  1635.     - dialog.cpp: DLGTEMPLATE changes
  1636.     - windlg.cpp: DLGTEMPLATE changes.
  1637.     - win32k/makefile: corrected paths
  1638.     - win32k/include/pe2lx.h: this section should be included for VA36
  1639.  
  1640.  1999-10-03: Daniela Engert <dani@ngrt.de>
  1641.     - USER32: WM_MOUSEMOVE bugfix (removed check for captured mouse)
  1642.  
  1643.  1999-10-03: Sander van Leeuwen <sandervl@xs4all.nl>
  1644.     - USER32: Updated window class with isMDIClient method
  1645.           Fixed DrawTextExA/W compile errors (different parameter types)
  1646.  
  1647.  1999-10-02: Christoph Bratschi <cbratschi@datacomm.ch>
  1648.     - USER32: DrawTextExA/W: implemented DT_END_ELLIPSIS
  1649.           added DrawTextExA/W to header files
  1650.  
  1651.  1999-10-02: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1652.     - VERSION: Allocation bugfix in VerQueryValueA
  1653.     - USER32: Added style changes for PM windows + don't clear WS_VISIBLE
  1654.           flag when converting window styles. (fixes buttons in winhlp32)
  1655.  
  1656.  1999-10-01: Sander van Leeuwen <sandervl@xs4all.nl>
  1657.     - DDRAW: ifdef'ed out code that causes crash (OS2Surface destructor)
  1658.          Free original translation buffer, not the one aligned to qword
  1659.          boundary.
  1660.     - USER32: Create frame window for windows with desktop as parent (i.e. WS_POPUP)
  1661.           This makes sure WM_ACTIVATE messages are sent.
  1662.           Scrollbar changes.
  1663.           Call DestroyWindow when DefWndProc receives WM_CLOSE msg.
  1664.     - KERNEL32: Allocate memory from heap when HeapReAlloc is called with
  1665.             a NULL memory pointer (WINE listbox control depends on this)
  1666.     - AVIFIL32: Compilation fix
  1667.  
  1668.  1999-10-01: Edgar Buerkle <Edgar.Buerkle@gmx.net>
  1669.     - KERNEL32: Skip spaces in command line string
  1670.     - USER32: Fix for MessageBoxA (window handle conversion)
  1671.           Fixes for combobox (handles null pointers)
  1672.     - GDI32: Added OSLibSetDIBitsToDevice
  1673.  
  1674.  1999-10-01: Jens Wiessner <wiessnej@rfi.de>
  1675.     - CRTDLL: Implemented functions + added stubs
  1676.     - MSVCRT: More stubs + crtdll forwarders
  1677.  
  1678.  1999-09-29: Daniela Engert <dani@ngrt.de>
  1679.     - USER32: improved timer handling for caret blinking.
  1680.           recreate carets on focus change if needed.
  1681.  
  1682.  1999-09-29: Sander van Leeuwen <sandervl@xs4all.nl>
  1683.     - USER32: Almost completed standard window scrollbars.
  1684.           Fixed WM_ACTIVATE message, generate WM_ACTIVATEAPP message
  1685.           when WM_ACTIVATE is received. (instead of WM_SETFOCUS)
  1686.           NOTE: Still not working correctly. Too many WM_ACTIVATEAPP msgs generated.
  1687.           Always send Odin window handles from pmwindow.cpp to win32wbase.cpp.
  1688.           Send WM_CHILDACTIVATE msg to MDI child windows.
  1689.  
  1690.  1999-09-28: Christoph Bratschi <cbratschi@datacomm.ch>
  1691.     - USER32: Mouse input functions: SetCapture() fixed
  1692.           SystemParametersInfo(): fonts fixed
  1693.           GetSystemMetrics(): changed icon size to 32x32
  1694.           Sorting and fixing user32.cpp
  1695.  
  1696.  1999-09-28: David Raison <djr@lemur.co.uk>
  1697.     - KERNEL32: Fixed GetComputerNameA
  1698.  
  1699.  1999-09-28: Jens Wiessner <wiessnej@rfi.de>
  1700.     - CRTDLL: Updated _except_handler2 + added Wine source changes
  1701.     - MSVCRT: Created. Forwards most apis to CRTDLL or NTDLL.
  1702.  
  1703.  1999-09-28: Sander van Leeuwen <sandervl@xs4all.nl>
  1704.     - USER32: Only generate WM_CHAR when TranslateMessage is called for
  1705.           WM_KEYDOWN. (TODO: WM_SYSCHAR)
  1706.  
  1707.  1999-09-28: Daniela Engert <dani@ngrt.de>
  1708.     - USER32: Caret functions implemented
  1709.           ScrollDC implemented
  1710.           ScrollWindowEx implemented
  1711.  
  1712.  1999-09-28: Patrick Haller <phaller@gmx.net>
  1713.     - KERNEL32:    Add: debug info for missing API imports (WinImagePeLdr)
  1714.             Fix: source cleanup, introduction of WIN32.DIR.SYSTEM and WIN32.DIR.WINDOWS
  1715.                  as overrides over the STUPID Open32 result. I don't want to have Win32 apps
  1716.                  messing up x:\OS2 ....
  1717.  
  1718.  1999-09-26: Daniela Engert <dani@ngrt.de>
  1719.     - USER32: SetTimer/KillTimer work now.
  1720.  
  1721.  1999-09-26: Achim Hasenmueller <achimha@innotek.de>
  1722.     - COMCTL32: Merged with WINE 990923 changes
  1723.             (propsheet.c not fully done)
  1724.  
  1725.  1999-09-26: Sander van Leeuwen <sandervl@xs4all.nl>
  1726.     - USER32:   Started with standard window scrollbar implementation
  1727.             Rewrote ScrollWindow (seems to work ok)
  1728.             Set text bugfix (crash in about dialog box of generic.exe)
  1729.             Send WM_INITDLG after creation of dialog controls.
  1730.             Set last error to 0 at end of BeginPaint/EndPaint.
  1731.             Set last error when window not found (window.cpp/windlg.cpp)
  1732.             WM_(SYS)KEYUP/DOWN bugfix (repeat cnt & scancode reversed)
  1733.             Generate WM_CHAR message when TranslateMessage is called for
  1734.             WM_CHAR (PM) message. (sent after WM_(SYS)KEYUP/DOWN)
  1735.  
  1736.  1999-09-25: Christoph Bratschi <cbratschi@datacomm.ch>
  1737.     - USER32: WS_EX_* 3D frame support for child windows
  1738.     - USER32: Double click handling changed
  1739.  
  1740.  1999-09-25: Sander van Leeuwen <sandervl@xs4all.nl>
  1741.     - USER32:   Cursor fixes. Cursor shown correctly in winhlp32.
  1742.             Don't call WinDefWindowProc for WM_MOUSEMOVE (resets
  1743.             cursor to system default)
  1744.             RedrawWindow: set window pointer to desktop window when hwnd == NULL
  1745.     - KERNEL32: Cursor & cursorgroup fixes
  1746.             Fixes for thread local memory allocation (only done for thread 0)
  1747.             Create TEB selector + memory for threads we don't create.
  1748.             (i.e. DART threads in WINMM)
  1749.             NOTE: Not tested.
  1750.     - USER32\OLD, KERNEL32\OLD: Fixed makefiles + changes to make them
  1751.                     work with new dlls.
  1752.  
  1753.  1999-09-25: Daniela Engert <dani@ngrt.de>
  1754.     - USER32: ClientToScreen and ScreenToClient didn't work -> fixed.
  1755.  
  1756.  1999-09-24: David Raison <djr@lemur.co.uk>
  1757.     - OLE32: Ported remaining files pertaining to OLE32 from WINE
  1758.     - OLEAUT32: Patched OaBuildVersion to level 0x1E...
  1759.  
  1760.  1999-09-24: Sander van Leeuwen <sandervl@xs4all.nl>
  1761.     - USER32: Rewrote menu code to use Open32 (==PM) menu handles
  1762.           Note: Uses mostly Open32 apis; they work fine, but maybe
  1763.             we should write our own someday.
  1764.           Cursor fixes. Not working in winhlp32 yet though.
  1765.     - KERNEL32: Cursor & cursorgroup fixes
  1766.  
  1767.  1999-09-23: Patrick Haller <phaller@gmx.net>
  1768.     - KERNEL32:    Fix: WinImgRes:findResourceW erroneously tried to free
  1769.             numerical resource IDs instead of translated Unicode
  1770.             strings.
  1771.     - USER32:    Fix: in USER32:HeapShared:getmoreShared()
  1772.             Fix: in USER32:WIN32WMDIClient:childActivate()
  1773.             Fix: in USER32:WinMenu:GetSubMenu
  1774.                 now returns Win32MenuRes object instead of PM handle
  1775.             Fix: in USER32:WinMenu:GetSystemMenu
  1776.                 now returns Win32MenuRes object instead of PM handle
  1777.             Fix: in USER32:Char:CharPrevW intermixed arguments
  1778.  
  1779.  1999-09-23: Jens Wiessner <wiessnej@rfi.de>
  1780.     - CRTDLL: Added stubs, implemented some stubs
  1781.     - IMAGEHLP, IMM32, MSACM32, MSVFW32, OLEDLG,
  1782.       OLECLI32, OLESVR32, PSAPI, RASPI32
  1783.           Added dprintfs.
  1784.  
  1785.  1999-09-23: Sander van Leeuwen <sandervl@xs4all.nl>
  1786.     - WINMM: Changed WinPostMsg calls into PostMessageA as win32 window
  1787.          handles are not the same as PM handles anymore.
  1788.     - USER32: Adding desktop window class. When user32 is loaded, a desktop
  1789.           window object is created.
  1790.           GetDesktopWindow returns handle of this window.
  1791.           Winhlp32 no longer crashes immediately, but briefly shows
  1792.           it's window before quitting.
  1793.           Create windows always with HWND_TOP. The if statement (hwndLinkAfter)
  1794.           in the CreateWindowExA method of Win32BaseWindow class messes
  1795.           up the Z-order of dialog controls (i.e. buttons in a group box)
  1796.     - COMDLG32: Fixed all common dialogs. (translate our handle to real PM handle)
  1797.  
  1798.  1999-09-22: David Raison <djr@lemur.co.uk>
  1799.     - KERNEL32: Return "Service Pack 3" as CSD string in GetVersionExA/W
  1800.  
  1801.  1999-09-22: Yuri Dario <mc6530@mclink.it>
  1802.     - MISC: Fixed WINELIB macro's in wingdi.h, added fixes to headers
  1803.         for VAC 3.6.5
  1804.     - ODINCRT: Also link with SOMLIB (VAC 3.6.5)
  1805.     - CRTDLL: Compilation fix for VAC 3.6.5
  1806.     - TOOLS\COMMON: Minor change to makefile
  1807.     - TOOLS\IMPDEF: Minor change to makefile
  1808.     - TOOLS\WRC: Makefile fixes
  1809.  
  1810.  1999-09-22: Rene Pronk <R.Pronk@twi.tudelft.nl>
  1811.     - USER32: Changed WM_CHAR PM handling to generate WM_(SYS)KEYUP/DOWN
  1812.           messages.
  1813.           Note: Not complete as TranslateMessage doesn't translate
  1814.             ascii keys to WM_CHAR messages.
  1815.  
  1816.  1999-09-22: Sander van Leeuwen <sandervl@xs4all.nl>
  1817.     - USER32: Removed GetDesktopWindow fix
  1818.           Ported getNextDlgTabItem & getDlgItem
  1819.  
  1820.  1999-09-21: Daniela Engert <dani@ngrt.de>
  1821.     - USER32:   background erasing/painting stuff hopefully finished.
  1822.  
  1823.  1999-09-21: Patrick Haller <phaller@gmx.net>
  1824.     - KERNEL32: Add: GetFileAttributesExA/W implemented (ugly)
  1825.  
  1826.  1999-09-21: Sander van Leeuwen <sandervl@xs4all.nl>
  1827.     - KERNEL32: Fixed cursor group conversion
  1828.     - PELDR:    Committed my latest sources. (rewrite for new kernel32 image classes)
  1829.  
  1830.  1999-09-21: Edgar Buerkle <100566.557@compuserve.com>
  1831.     - USER32:   Fixed GetDesktopWindow, added message handling for WM_TIMER
  1832.             added code to choose best icon from icon group. (in OSLibWinCreateIcon)
  1833.     - KERNEL32: Fix for converting icons & icon groups
  1834.  
  1835.  1999-09-19: David Raison <djr@lemur.co.uk>
  1836.     - OLE32: Added AntiMoniker,
  1837.          Updated regsvr32 to use RegisterLxExe
  1838.  
  1839.  1999-09-20: Sander van Leeuwen <sandervl@xs4all.nl>
  1840.     - USER32: Fix background of button, group & static text
  1841.           NOTE: Changed default behaviour of WM_CTLCOLOR* handling.
  1842.             Don't know if this is correct, but it fixes problems
  1843.             in dialogs (text with white instead of gray background)
  1844.  
  1845.  1999-09-20: Markus Montkowski
  1846.     - WNASPI32: full implementation via ASPIROUT$ device driver.
  1847.  
  1848.  1999-09-19: Sander van Leeuwen <sandervl@xs4all.nl>
  1849.     - USER32: Increased font pointsize for dialog (multiplied by two)
  1850.           (probably not the right way to do things, but it works for the
  1851.            dialogs in Solitaire)
  1852.           Activated MsgEraseBackground method again (pmwindow.cpp)
  1853.           Dialogs don't receive those otherwise.
  1854.           (may need to be changed back again)
  1855.  
  1856.  1999-09-19: David Raison <djr@lemur.co.uk>
  1857.     - USER32: Partially implemented MessageBoxIndirectA/W (forwarded to MessageBox)
  1858.  
  1859.  1999-09-18: Sander van Leeuwen <sandervl@xs4all.nl>
  1860.     - KERNEL32: Added resource support for win32 apps compiled in OS/2
  1861.     - INCLUDE: Header file changes for win32 apps compiled in OS/2
  1862.     - VERSION: Create correct import lib
  1863.     - WINMM:   Create correct import lib
  1864.     - MSACM32: Link with winmm.lib, don't import apis from .def file
  1865.     - MSVFW32: Link with winmm.lib, don't import apis from .def file
  1866.  
  1867.  1999-09-18: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  1868.     - KERNEL32: Implemented lstrncmpiA
  1869.  
  1870.  1999-09-18: Jens Wiessner <wiessnej@rfi.de>
  1871.     - CRTDLL: Added stubs
  1872.     - SHELL32(NEW)/MSACM32/MSFW32: Link with kernel32 for lstrncmpiA
  1873.  
  1874.  1999-09-17: Daniela Engert <dani@ngrt.de>
  1875.     - USER32:   Fix: window focus management.
  1876.             OSLIBWIN.H: the definitions of OSLIB_HWND_DESKTOP and
  1877.             OSLIB_HWND_OBJECT were 1 off (with respect to the definition
  1878.             in PMWIN.H)! So OSLIB_HWND_DESKTOP was in effect NULLHANDLE,
  1879.             and OSLIB_HWND_OBJECT was HWND_DESKTOP.
  1880.  
  1881.  1999-09-16: Daniela Engert <dani@ngrt.de>
  1882.     - USER32:   Fix: UpdateWindow
  1883.             New: RedrawWindow (preliminary), InvalidateR*
  1884.  
  1885.  1999-09-16: Patrick Haller <phaller@gmx.net>
  1886.     - USER32:   Fix: DIB_FixColorsToLoadflags - incr was not initialized
  1887.             Fix: WINMENU::GetSystemMenu() was broken.
  1888.  
  1889.  1999-09-15: Sander van Leeuwen <sandervl@xs4all.nl>
  1890.     - KERNEL32: Moved old kernel32 code to kernel32\old
  1891.             Rewritten win32 exe/dll classes.
  1892.             There are now classes for the following exes/dlls:
  1893.             Pe2lx images, win32 images loaded by the pe loader and
  1894.             LX images (win32 apps compiled in OS/2 and system dlls)
  1895.             Bugfixes for unicode resource apis.
  1896.             Not completely tested yet, but works for most apps.
  1897.       NOTE:     Resource handling for pe2lx & win32 apps compiled in OS/2
  1898.             will be added in the near future. For now it's compatible
  1899.             with the old pe2lx.
  1900.       NOTE:     New kernel32 doesn't work with old user32
  1901.       NOTE:     Win32Resource::lockResource not complete yet, but that part
  1902.             will be removed after the pe2lx rewrite.
  1903.     - USER32:   Moved new user32 into user32 dir, old one to user32\old
  1904.     - ALL:        Changed initterm.cpp to create LX dll object during initialization.
  1905.       IMPORTANT NOTE: Version increased from 3 to 4. Complete recompilation
  1906.               of everything is required!
  1907.  
  1908.  1999-09-14: Patrick Haller <phaller@gmx.net>
  1909.     - AVIFIL32:   ported AVIFIL32 from WINE
  1910.     - DPLAY:      ported DPLAY from WINE
  1911.               Note: DPLAYX is required and NOT ported yet.
  1912.                 Furthermore, DPLAY has still stubs.
  1913.     - DPLAYX:     ported DPLAY from WINE (incomplete)
  1914.               Note: still problem with COM-inheritance-macro XCAST()
  1915.     - WNASPI32:   ported WNASPI32 from WINE
  1916.               Note: someone should adapt it to OS/2's R3 ASPI router
  1917.  
  1918.  1999-09-14: Sander van Leeuwen <sandervl@xs4all.nl>
  1919.     - USER32\NEW: Implemented Enum(Thread/Child)Windows based on Edgar
  1920.               Buerkle's code with modifications for new user32 and
  1921.               added some enhancements.
  1922.  
  1923.  1999-09-13: Jens Wiessner <wiessnej@rfi.de>
  1924.     - NTDLL: Added CRT-functions.
  1925.  
  1926.  1999-09-13: Daniela Engert <dani@ngrt.de>
  1927.     - USER32\NEW: DC/related code: ReleaseDC, GetWindowDC, DC destruction,..
  1928.  
  1929.  1999-09-13: Patrick Haller <phaller@gmx.net>
  1930.     - SHELL32\NEW:    updated to current wine level
  1931.  
  1932.  1999-09-13: David Raison <djr@lemur.co.uk>
  1933.     - KERNEL32: Fixed MultiByteToWideChar. Return size of string including
  1934.             0 terminator.
  1935.  
  1936.  1999-09-13: Jens Wiessner <wiessnej@rfi.de>
  1937.     - CRTDLL: Added functions.
  1938.  
  1939.  1999-09-08: David Raison <djr@lemur.co.uk>
  1940.     - OLEAUT32: Updated TypeLib code to find typelibs in EXE/DLL etc
  1941.             NB Still need to fix typelib translation.
  1942.  
  1943.  1999-09-12: Daniela Engert <dani@ngrt.de>
  1944.     - USER32\NEW: DC/related code: GetDCEx implemented. Slightly enhanced
  1945.               over Open32.
  1946.  
  1947.  1999-09-12: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
  1948.     - WIN32K: An untested version is checked in. The new skeleton is
  1949.       partially tested. PE2LX is not updated and will probably not be updated
  1950.       before pe2lx is rewritten.
  1951.  
  1952.  1999-09-09: Daniela Engert <dani@ngrt.de>
  1953.     - USER32\NEW: begin new DC/related code. BeginPaint/EndPaint done.
  1954.  
  1955.  1999-09-09: Patrick Haller <phaller@gmx.net>
  1956.     - SHELL32\NEW:    shell32 done, it compiles + links, no testing yet
  1957.     - USER32:    added stubs for GetMenuInfo + SetMenuInfo
  1958.     - USER32\NEW:    added stubs for GetMenuInfo + SetMenuInfo
  1959.  
  1960.  1999-09-08: David Raison djr@lemur.co.uk
  1961.     - Src\OleAut32 Added stubs for undefined exports in OLEAut32
  1962.  
  1963.  1999-09-08: Yuri Dario <mc6530@mclink.it>
  1964.     - INCLUDE\WIN: Changes to wingdi.h (more WINELIB_NAME defs) & winuser.h (mssing definitions)
  1965.                Missing ';' in custcntl.h at line 106
  1966.  
  1967.  1999-09-08: David Raison djr@lemur.co.uk
  1968.     - INCLUDE\WIN: Added DECIMAL definition to windef.h
  1969.  
  1970.  1999-09-08: knut st. osmundsen <knut.stange.osmundsen@pmsc.no>
  1971.     - KERNEL32, USER32, USER32\NEW, GDI32, ADVAPI32: <dllname>exp.def is
  1972.       now generated by a util called ImpDef. (source in tools\impdef).
  1973.     - INC: pdwin32.tools is updated with a IMPDEF macro. This requires
  1974.       the macro PDWIN32_TOOLS too point to the tools\bin directory.
  1975.     - TOOLS: New directory tree for tools developed to aid us create odin32.
  1976.       Create a subdirectory for each tool.
  1977.       Currently database, impdef and omfdumper is placed here.
  1978.     - TOOLS\IMPDEF: generates the <dllname>exp.def files.
  1979.     - TOOLS\OMFDUMPER: source for the omfdumper use to create pmwinx.def.
  1980.       Base source for a library converted used in win32k.
  1981.     - TOOLS\DATABASE: source for the odin32 API database and it's tools.
  1982.       See the Odin32 API Database Design Document for more info.
  1983.       Document will soon be placed in the 'Vault' of the win32-os2 group.
  1984.     - TOOLS\DATABASE\MYSQL: mysql headers and libraries.
  1985.     - TOOLS\DATABASE\GD: Gifdraw 1.2 - used to draw graphs.
  1986.  
  1987.  1999-09-08: Patrick Haller <phaller@gmx.net>
  1988.     - OLE32: CLSIDFromStringA is needed in other modules, too. (SHELL32)
  1989.  
  1990.  1999-09-08: Sander van Leeuwen <sandervl@xs4all.nl>
  1991.     - Removed /DNONAMELESSUNION from some makefiles (now defined in odin.h)
  1992.     - Minor changes to odin.h (nameless union allowed in VAC 3.6.5) & windowsx.h
  1993.     - USER32\NEW: Use fixed user32exp.def. Doesn't work for GetOS2Callback__15Win32WindowProcFv
  1994.               (causes link failure for comdlg32)
  1995.     - TOOLS\WRC: Ported Wine wrc. Needs EMX+GCC
  1996.  
  1997.  1999-09-07: Jens Wiessner <wiessnej@rfi.de>
  1998.     - CRTDLL: Created dll (Wine port)
  1999.  
  2000.  1999-09-07: Patrick Haller <phaller@gmx.net>
  2001.     - OLE32: WINE_StringFromCLSID is needed in other modules, too. (SHELL32)
  2002.     - SHELL32\NEW:    improvement of shell32
  2003.     - KERNEL32: ToolHelp functions stubbed: Process32First, etc.
  2004.  
  2005.  1999-09-05: Sander van Leeuwen <sandervl@xs4all.nl>
  2006.     - USER32\NEW: Dialog updates (not yet done)
  2007.  
  2008.  1999-09-04: Daniela Engert <dani@ngrt.de>
  2009.     - USER32\NEW: beginning with 'DAXifying' of our windows
  2010.  
  2011.  1999-09-04: Sander van Leeuwen <sandervl@xs4all.nl>
  2012.     - KERNEL32: Fixed icon- & cursorgroup conversion (Solitaire icon now correct again)
  2013.     - USER32\NEW: Started with Wine dialog code port. Dialog creation done,
  2014.               but not tested.
  2015.  
  2016.  1999-09-04: Jens Wiessner <wiessnej@rfi.de>
  2017.     - MSVFW32: Created stub (partly) dll (Based on Wine 990815)
  2018.     - PSAPI: Created stub dll (Based on Wine 990815)
  2019.  
  2020.  1999-09-03: Sander van Leeuwen <sandervl@xs4all.nl>
  2021.     - USER32\NEW: MDI child/client improvement (not all wine code has
  2022.               been ported though)
  2023.  
  2024.  1999-09-01: Patrick Haller <phaller@gmx.net>
  2025.     - *:    Cleanup of include files, some ICOM issues in particular,
  2026.         also fixes LONGLONG problem (now names LONGLONG_W)
  2027.     - SHELL32\NEW:    introduction of a straight port of WINE's SHELL32 implementation
  2028.         18 of 22 files are ported already
  2029.  
  2030.  1999-09-01: Patrick Haller <phaller@gmx.net>
  2031.     - *:    Cleanup of include files. Warning: OS/2's BOOL is ULONG, WIN32 is INT.
  2032.         Causes C++ compilers to complain here and there. Plus many WINE prototypes
  2033.         are just plain wrong.
  2034.         This change should help porting shell32/new.
  2035.  
  2036.  
  2037.  1999-09-01: Sander van Leeuwen <sandervl@xs4all.nl>
  2038.     - USER32\NEW: Fixed GetWindowDC (Freecell 'Cards Left' string drawn
  2039.               at the right place)
  2040.  
  2041.  1999-09-01: Jens Wiessner <wiessnej@rfi.de>
  2042.     - RASAPI32: Created stub dll
  2043.     - MSACM32: Created (partly) stub dll
  2044.  
  2045.  1999-08-31: Patrick Haller <phaller@gmx.net>
  2046.     - WINMM:    revision of timer services (C&C RA)
  2047.     - KERNEL32:    temporary fix for DuplicateHandle for non-HandleManager handles
  2048.             little improvement in console properties
  2049.             incorrect anchor class for mutexes, events and semaphores
  2050.             fixed return codes for HMCreateFileMapping, HMOpenFileMapping
  2051.             Fix: FILE_MAP_ALL_ACCESS access flags for memory mapped files
  2052.  
  2053.  1999-08-31: Sander van Leeuwen <sandervl@xs4all.nl>
  2054.     - USER32\NEW: Finished MDI class, but it's not working yet.
  2055.     - USER32\NEW: Fixed menu apis
  2056.     - KERNEL32\NEW: Changed makefile to generate response file (linker
  2057.             cmd line too long)
  2058.             Created resource class for menus (Win32MenuRes)
  2059.     - INC:          Changed debug makefiles to include /dbgpack linker option
  2060.               (compresses debug info)
  2061.  
  2062.  1999-08-31: Rene Pronk <R.Pronk@twi.tudelft.nl>
  2063.     - USER32,USER32\NEW: Implemented ChildWindowFromPointEx
  2064.  
  2065.  1999-08-30: Jens Wiessner <wiessnej@rfi.de>
  2066.     - OLEDLG: Created stub dll
  2067.     - INC\WIN: Update for ras.h
  2068.  
  2069.  1999-08-30: Sander van Leeuwen <sandervl@xs4all.nl>
  2070.     - USER32\NEW: Redesign. Create base class for all window types
  2071.               Delete Open32 class atoms before recreating them.
  2072.               Added skeleton class for MDI client window.
  2073.  
  2074.  1999-08-29: Sander van Leeuwen <sandervl@xs4all.nl>
  2075.     - USER32\NEW: Changed behaviour of mouse messages (send NC messages
  2076.               when in non-client area + send WM_SETCURSOR msgs)
  2077.               Don't send WM_MOUSEMOVE when mouse is captured.
  2078.               Changed CreateMDIWindowA/W (don't call Open32 api anymore,
  2079.               but post WM_MDICREATE msg)
  2080.  
  2081.     - KERNEL32 Interlock apis ported from Wine (with help of Patrick Haller)
  2082.     - INC: Removed Masm compatible flag for ALP and enabled debugging
  2083.            info in debug build
  2084.  
  2085.  1999-08-29: Jens Wiessner <wiessnej@rfi.de>
  2086.     - OLECLI32: Created stub dll
  2087.     - IMM32: Created stub dll
  2088.     - IMAGEHLP: Created (partly) stub dll
  2089.  
  2090.  1999-08-28: Sander van Leeuwen <sandervl@xs4all.nl>
  2091.     - USER32\NEW: Use shared memory for window & class objects
  2092.               Implemented FindWindow(Ex). Not yet tested
  2093.               Fixed window names.
  2094.               Created shared heap using VAC's _ucreate.
  2095.               Separate window handle creation (in shared memory array)
  2096.               PostMessage fixes (didn't work between two processes)
  2097.     - KERNEL32:   Fixed exception handling for kill signals & termination
  2098.               Changed VMutex constructor (also allows creation of
  2099.               shared mutex semaphores)
  2100.               NOTE: This requires a complete recompile!!
  2101.  
  2102.  1999-08-28: Daniela Engert <dani@ngrt.de>
  2103.     - USER32\NEW: client windows get repositioned now when
  2104.               the parent resizes
  2105.  
  2106.  1999-08-28: Achim Hasenmueller <achimha@innotek.de>
  2107.     - COMCTL32: Merged with latest WINE updates (990815)
  2108.  
  2109.  1999-08-28: Yuri Dario <mc6530@mclink.it>
  2110.     - INCLUDE\WIN: Added macros to windowsx.h
  2111.  
  2112.  1999-08-27: Daniela Engert <dani@ngrt.de>
  2113.     - USER32\NEW: window creation, window relationship, window sizing and
  2114.             positioning enhanced.
  2115.     - USER32\NEW: window and client rectangles are in sync with the WINE
  2116.             structures now.
  2117.  
  2118.  1999-08-27: Sander van Leeuwen <sandervl@xs4all.nl>
  2119.     - KERNEL32: Rewrote memory mapped files for multiple views
  2120.             Increased default nr of pages loaded so loading
  2121.             large apps doesn't take forever to start in IPMD.
  2122.     - KERNEL32: Process dll exports before imports in order to support
  2123.             circular dll dependencies.
  2124.     - KERNEL32: Replaced fopen/fclose calls in windll.cpp; they mess up FS.
  2125.             Init full path of image during Init method.
  2126.  
  2127.  1999-08-27: Patrick Haller <phaller@gmx.net>
  2128.     - KERNEL32: removed logging page faults if mmapped i/o
  2129.  
  2130.  1999-08-26: Sander van Leeuwen <sandervl@xs4all.nl>
  2131.     - KERNEL32: Cleaned up. (removed os2native.cpp & os2util.cpp and
  2132.             replaced them with oslibdos.* & oslibmisc.*; put
  2133.             Virtual* win32 apis in virtual.cpp)
  2134.     - KERNEL32: Added workaround for (what seems to be) an OS/2 bug.
  2135.             Fixes crashes when reading from the memory mapped file.
  2136.             (see comments in kernel32\mmap.cpp)
  2137.             Bugfixes for VirtualProtect & VirtualQuery
  2138.  
  2139.  1999-08-25: Jens Wiessner <wiessnej@rfi.de>
  2140.     - OLESVR32: Created stub dll
  2141.  
  2142.  1999-08-25: Sander van Leeuwen <sandervl@xs4all.nl>
  2143.     - KERNEL32: Use memory mapped files for PE loader
  2144.             Readonly memory mapped files work. Read/Write has not
  2145.             been tested yet. Shared mmaps don't work at this time.
  2146.     - KERNEL32: Set exception handler chain to -1 (not 0) in KillWin32Process
  2147.             -> fixes large nr of exceptions
  2148.     - KERNEL32: Several changes for memory mapped files.
  2149.             Put back handlemanager changes. (i.e. MapViewOfFile)
  2150.     - USER32\NEW: Deleted win32type.h
  2151.     - ADVAPI32: Fixed some incorrect definitions of security apis
  2152.     - INCLUDE\WIN: Changed WINE_NAME_AW definition (now you can use
  2153.                apis without the 'A' or 'W' suffix)
  2154.     - INCLUDE: Added makefile for VAC 3.6.5
  2155.            To compile use i.e.: nmake DEBUG=1 CCENV=VAC36
  2156.     - KERNEL32: Changed VIRTUAL_MapFileA/W
  2157.             Changed OS2ImageInit from public to protected
  2158.     - KERNEL32: Added DuplicateHandle to Handle Manager (wasn't working before)
  2159.             NOTE: Only works for file handles at this time!
  2160.               The rest still needs to be implemented.
  2161.     - USER32\NEW: Changed loadres.cpp call to VIRTUAL_MapFileA
  2162.  
  2163.  1999-08-24: Patrick Haller <phaller@gmx.net>
  2164.     - USER32:   added extended Open32 WinX control styles (OS2CTLWX)
  2165.     - KERNEL32: HandleManager support for memory mapped files
  2166.             Added FindFirstFileW, FindNextFileW
  2167.             Bugfix in ExitProcess / iConsoleWaitClose
  2168.             Bugfix in OS2Heap::OS2Heap (Heap 0 always valid for NT programs?)
  2169.  
  2170.  1999-08-24: Sander van Leeuwen <sandervl@xs4all.nl>
  2171.     - USER32\NEW: One mutex per type of generic object + mutex protection
  2172.               of linked list access in win32 classes
  2173.     - KERNEL32: Implemented VirtualQuery (not yet tested)
  2174.             VirtualQueryEx calls VirtualQuery, VirtualProtectEx calls
  2175.             VirtualProtect
  2176.       NOTE: VirtualQueryEx & VirtualProtectEx can't handle addresses of other
  2177.         processes
  2178.     - KERNEL32: Added memory mapped file class (not hooked up to apis or
  2179.             exception handler yet; just committing my preliminary code)
  2180.  
  2181.  1999-08-23: Sander van Leeuwen <sandervl@xs4all.nl>
  2182.     - KERNEL32: Dll load order bugfix (PE loader)
  2183.     - USER32\NEW: Added two dummy exports so comdlg32 will load
  2184.       NOTE: This is a temporary hack and needs to be changed.
  2185.     - USER32\NEW: Fix for OSLibWinCreateIcon (supports single icons now)
  2186.     - KERNEL32: Logging change, now creates a unique logfile for each
  2187.             process. (multiple win32 apps active -> multiple logfiles)
  2188.  
  2189.  1999-08-23: Patrick Haller <phaller@gmx.net>
  2190.     - USER32/NEW: partial (not compiling yet) port of DIALOG.C
  2191.     - USER32:     fix: Win32Proc constructor crash (GetClassInfoA(of a Systemclass))
  2192.  
  2193.  
  2194.  1999-08-22: Sander van Leeuwen <sandervl@xs4all.nl>
  2195.     - OLE32: Changes for updated WINE headers
  2196.     - OLEAUT32: Created (Wine port: Based on 990815 code)
  2197.     - KERNEL32: Export HEAP_* string functions in lib
  2198.     - KERNEL32: Fixed some PE resource dll load bugs
  2199.     - KERNEL32: Moved CloseLogFile call to after DestroyTIB (fixes crashes
  2200.             as WriteLog was still called in DestroyTIB & WriteOutProfiles)
  2201.     - KERNEL32: Added exception handling code for each thread, entrypoint &
  2202.             TLS callbach handler.
  2203.             OS2ExceptionHandler (in exceptions.cpp) is registered as the
  2204.             main exception handler.
  2205.             NOTE: Still needs to call original win32 exception handler
  2206.               from OS2ExceptionHandler.
  2207.     - USER32/NEW: Changed WM_ERASEBKGND handling. Fixes FreeCell background.
  2208.               (but might not be completely correct)
  2209.     - INCLUDE\WIN: Added custcntl.h & fixed GetObject definition
  2210.     - INCLUDE\WIN, WIN\WINE: Added several files, updated OLE headers
  2211.     - NTDLL: Some changes to make it compile again
  2212.  
  2213.  1999-08-21: Sander van Leeuwen <sandervl@xs4all.nl>
  2214.     - USER32\NEW: Fixed window class bug. Freecell menu now properly
  2215.               loaded.
  2216.     - USER32\NEW: Changed LoadBitmapA/W to load bitmaps internally
  2217.               (also ported some Wine code for that purpose)
  2218.               Not correct yet: some of Solitaire's bitmaps look bad
  2219.     - KERNEL32:   Fixed name id lookup bug for PE loader resources
  2220.     - KERNEL32:   AllocFixedMemory bugfix + added Aurora flag to DosAllocMem
  2221.     - KERNEL32:   Close logfile in kernel32 exit list -> last log messages
  2222.               before crash now properly saved
  2223.     - PELDR:      Corrected makefile
  2224.  
  2225.  1999-08-21: Yuri Dario <mc6530@mclink.it>
  2226.     - Makefiles: Link with predefined VAC lib (RTLLIB(_O))
  2227.              Needed for VAC 3.6.5
  2228.  
  2229.  1999-08-20: Sander van Leeuwen <sandervl@xs4all.nl>
  2230.     - KERNEL32: PE resource loading fixes
  2231.     - USER32/NEW: Changes to Load* resource apis
  2232.     - USER32/NEW: Put back LoadBitmap for now
  2233.               Rewrote LoadIconA/W & LoadCursorA/W + added
  2234.               extra code to oslib.
  2235.  
  2236.  1999-08-20: Patrick Haller <phaller@gmx.net>
  2237.     - ODINWRAP: fixed invalid macros
  2238.  
  2239.  1999-08-19: Patrick Haller <phaller@gmx.net>
  2240.     - ODINWRAP: fixed invalid recursion in ODINFUNCTION0-Debug
  2241.     - WINMM:    odinwrap macros
  2242.     - TAPI32:   odinwrap macros
  2243.     - MPR:        odinwrap macros
  2244.     - COMDLG32: odinwrap macros
  2245.     - WNETAP32: odinwrap macros
  2246.     - WINSPOOL: odinwrap macros
  2247.  
  2248.  1999-08-19: Sander van Leeuwen <sandervl@xs4all.nl>
  2249.     - KERNEL32: PE loader resource fixes + ConvertNameId bugfix
  2250.             Added pe2lx conversion code for menus, accelerators,
  2251.             bitmaps, icons, cursors, icon & cursor groups.
  2252.             Put back _CreateWin32Exe export in kernel32exp.def
  2253.     - KERNEL32: Used Odin wrappers for profile apis (mess up FS)
  2254.     - USER32 & USER32\NEW: Cleaned up icon code
  2255.  
  2256.  1999-08-18: Patrick Haller <phaller@gmx.net>
  2257.     - NTDLL:    tons of new stubs and crt functions
  2258.     - WNETAP32: tons of new stubs
  2259.  
  2260.  1999-08-18: Sander van Leeuwen <sandervl@xs4all.nl>
  2261.     - Put back version check in most dlls (except odincrt.dll & peldr.dll
  2262.       we don't want a kernel32 dependency there)
  2263.     - PELDR/KERNEL32: Use reserved memory by peldr.dll to store win32 exe
  2264.               sections. (now loads exes without fixups & low base address)
  2265.               Added TLS support.
  2266.     - KERNEL32: Lots of changes for the ring 3 PE loader (not completed)
  2267.             Store PE header at start of module in memory, module handle
  2268.             set to image base of module.
  2269.  
  2270.  1999-08-18: Przemyslaw Dobrowolski <dobrawka@asua.org.pl>
  2271.     - KERNEL32: Profile bugfix (line 506) && removed redundant '\r'
  2272.             (except on line 199)
  2273.  
  2274.  1999-08-17: Sander van Leeuwen <sandervl@xs4all.nl>
  2275.     - KERNEL32/LZ32: Fixed compilation problems introduced by changes below
  2276.     - ODINCRT: Rewrote __threadid Clib function to get rid of crashes
  2277.            (restores OS/2 FS selector before accessing PIB ptr and
  2278.             puts back original FS selector afterwards)
  2279.       NOTE: No longer necessary to use ODIN_FS_BEGIN/ODIN_FS_END macros
  2280.     - DDRAW: Removed ODIN_FS_BEGIN/ODIN_FS_END calls
  2281.          Fixed bugs in divewrap.h. Incorrect wrappers called themselves
  2282.          instead of the original Dive apis.
  2283.  
  2284.  1999-08-17: Patrick Haller <phaller@gmx.net>
  2285.     - LZ32:    can't export LZCopy as ID0, changed to alphanumeric export
  2286.  
  2287.  1999-08-16: Sander van Leeuwen <sandervl@xs4all.nl>
  2288.     - PE loader: Started with rewrite
  2289.     - ODINCRT: Changed compile & link options
  2290.     - ODINCRT: Don't export ctordtorInit/Term. These functions must exists
  2291.            locally for each dll/exe. Fixes crashes in pe loader and
  2292.            corrupt converted exes generated by pe2lx
  2293.     - ALL: Makefile changes & initterm.cpp no longer calls c/c++ library
  2294.            init & termination functions (should only be done in odincrt.dll)
  2295.  
  2296.  1999-08-16: Patrick Haller <phaller@gmx.net>
  2297.     - SHELL32: integrated Christoph Bratschis SHELL32 stubs
  2298.     - WSOCK32: odinwrap macros
  2299.  
  2300.  1999-08-16: Christoph Bratschi <cbratschi@datacomm.ch>
  2301.     - USER32: uitools.cpp update
  2302.  
  2303.  1999-08-15: Christoph Bratschi <cbratschi@datacomm.ch>
  2304.     - USER32\NEW: controls: wine-990731 update
  2305.  
  2306.  1999-08-14: Christoph Bratschi <cbratschi@datacomm.ch>
  2307.     - COMCTL32: wine-990731 update
  2308.  
  2309.  1999-08-14: Sander van Leeuwen <sandervl@xs4all.nl>
  2310.     - INCLUDE\win\windows.h: Include odin.h if __WIN32OS2__ is defined
  2311.  
  2312.  1999-08-13: Sander van Leeuwen <sandervl@xs4all.nl>
  2313.     - KERNEL32: Export heap functions by ordinal
  2314.     - src\makefile: compile lz32 before version (dependency)
  2315.  
  2316.  1999-08-12: Patrick Haller <phaller@gmx.net>
  2317.     - VERSION: enhanced plus odinwrap macros
  2318.  
  2319.  1999-08-11: Patrick Haller <phaller@gmx.net>
  2320.     - ODINCRT: ordinal exports
  2321.     - ADVAPI32:odinwrap macros (partially)
  2322.     - LZ32:    odinwrap macros
  2323.  
  2324.  1999-08-10: Sander van Leeuwen <sandervl@xs4all.nl>
  2325.     - USER32/NEW: Fixed makefile (link with odincrt)
  2326.  
  2327.  1999-08-10: Patrick Haller <phaller@gmx.net>
  2328.     - LZ32: added preliminary support for independend LZ32 library
  2329.  
  2330.  1999-08-09: Patrick Haller <phaller@gmx.net>, Achim Hasenmueller <achimha@innotek.de>, Markus Montkowski
  2331.     - ODINCRT: providing a extensible wrapping layer for VAC++ runtime functions
  2332.            change is non-intrusive for existing source.
  2333.  
  2334.  1999-08-06: Patrick Haller <phaller@gmx.net>
  2335.     - USER32:    added stubs so NT4's WINFILE can load
  2336.     - SHELL32:   added stubs so NT4's WINFILE can load
  2337.     - NTDLL:     added stubs so NT4's WINFILE can load
  2338.  
  2339.  1999-08-05: Patrick Haller <phaller@gmx.net>
  2340.     - KERNEL32:  interactive control over UnhandledExceptionFilter
  2341.     - KERNEL32:  FormatMessageAW fixed. Do not mix ODIN's heap functions with VAC heap functions
  2342.     - KERNEL32:  added WINE-style string functions in Heapstring.cpp
  2343.     - SHELL3232: RestartDialog @59 stub added. IE2 can load now with NT4's URL.DLL.
  2344.  
  2345.  1999-08-05: Sander van Leeuwen <sandervl@xs4all.nl>
  2346.     - KERNEL32:  Bitmap conversion bugfix; always recalculate bitmap size
  2347.              (bitmap in donut.exe (ddraw sample) contains wrong size)
  2348.  
  2349.  1999-08-04: Patrick Haller <phaller@gmx.net>
  2350.     - KERNEL32:  fix for filename handling in kernel32/profile
  2351.     - KERNEL32:  fix for PROFILE_CopyEntry in kernel32/profile
  2352.  
  2353.  1999-08-04: Sander van Leeuwen <sandervl@xs4all.nl>
  2354.     - PE2LX: Bugfix for icon conversion (heap corruption for ra95.exe; as
  2355.          reported by Patrick Haller)
  2356.  
  2357.  1999-08-04: Patrick Haller <phaller@gmx.net>
  2358.     - KERNEL32: Heap modification
  2359.     - KERNEL32: Windows 3 style profile support ported from WINE (removes Open32)
  2360.  
  2361.  1999-08-03: Rene Pronk <R.Pronk@twi.tudelft.nl>
  2362.     - USER32: Ported DrawTextExA/W & DrawStateA/W
  2363.  
  2364.  1999-07-27: Przemysêaw Dobrowolski <dobrawka@asua.org.pl>
  2365.     - KERNEL32: Implemented GetComputerNameA/W
  2366.  
  2367.  1999-07-25: Sander van Leeuwen <sandervl@xs4all.nl>
  2368.     - USER32/NEW: Lots of changes; Solitaire displays cards correctly
  2369.               Status bar correctly drawn
  2370.               Mouse msg translation still wrong.
  2371.               Paint not correct.
  2372.  
  2373.  1999-07-25: Sander van Leeuwen <sandervl@xs4all.nl>
  2374.     - KERNEL32: GetLocateInfoA bugfix
  2375.     - USER32/NEW: Lots of changes; now Solitaire starts, but draws cards incorrectly
  2376.  
  2377.  1999-07-23: Yuri Dario <mc6530@mclink.it>
  2378.     - misc: Changes for compilation with VAC 3.6.5
  2379.  
  2380.  1999-07-23: Edgar Buerkle <100566.557@compuserve.com>
  2381.     - VERSION:  VerQueryValueA/W Wine implementation ported
  2382.  
  2383.  1999-07-22: Przemysêaw Dobrowolski <dobrawka@asua.org.pl>
  2384.     - KERNEL32: Complete implementation of GetLocaleInfoA/W
  2385.  
  2386.  1999-07-22: Edgar Buerkle <100566.557@compuserve.com>
  2387.     - KERNEL32: Fix for OS2GetResource (os2util.cpp)
  2388.     - PE2LX: Use unique resource id for version resource.
  2389.     - USER32: MapOEMToRealKey fix
  2390.  
  2391.  1999-07-22: Sander van Leeuwen <sandervl@xs4all.nl>
  2392.     - DDRAW: Now compiles
  2393.     - COMCTL32: Create library with correct api names
  2394.  
  2395.  1999-07-21: Edgar Buerkle <100566.557@compuserve.com>
  2396.     - KERNEL32: Fix for LoadResource; should return pointer to resource data
  2397.             LockResource just returns the pointer returned by LoadResource
  2398.  
  2399.  1999-07-20: Sander van Leeuwen <sandervl@xs4all.nl>
  2400.     - USER32/NEW: Added support for window icons and accelerators.
  2401.               Accelerators don't work yet.
  2402.     - PE2LX: Save icons in different format (BITMAPINFOHEADER2)
  2403.  
  2404.  1999-07-19: Sander van Leeuwen <sandervl@xs4all.nl>
  2405.     - KERNEL32: Added method for retrieving converted OS/2 resource
  2406.             (which will be changed later on)
  2407.     - USER32/NEW: CreateWindowEx now works and menus are displayed
  2408.  
  2409.  1999-07-17: Sander van Leeuwen <sandervl@xs4all.nl>
  2410.     - KERNEL32: Exports for getting TEB & THDB added
  2411.  
  2412.  1999-07-15: Sander van Leeuwen <sandervl@xs4all.nl>
  2413.     - USER32/NEW: Unicode & window handle translation bugfixes
  2414.  
  2415.  1999-07-14: Christoph Bratschi <cbratschi@datacomm.ch>
  2416.     - USER32/NEW: several bugs fixed, compiles now
  2417.               CreateWindow doesn't work yet
  2418.  
  2419.  1999-07-13: Sander van Leeuwen <sandervl@xs4all.nl>
  2420.     - USER32/NEW: *VERY* preliminary/alpha code for Open32 replacement in user32
  2421.               Compiles, but not tested at all.
  2422.  
  2423.  1999-07-12: Patrick Haller <phaller@gmx.net>
  2424.        - KERNEL32: various console fixes
  2425.  
  2426.  1999-07-10: Edgar Buerkle <100566.557@compuserve.com>
  2427.     - USER32: Fixes for CreateWindowExW and several unicode menu apis
  2428.  
  2429.  1999-07-07: Sander van Leeuwen <sandervl@xs4all.nl>
  2430.     - KERNEL32/PE2LX: Added support for TLS sections
  2431.     - KERNEL32: Added thread attach/detach messages for dlls
  2432.             Fixed some bugs, cleaned up code
  2433.       NOTE: THIS CHANGE BREAKS ALL PREVIOUSLY CONVERTED APPLICATIONS
  2434.         RECOMPILE ALL DLLS AND CONVERT EVERYTHING AGAIN!!!!!!!!!
  2435.         THIS CHANGE ALSO BREAKS WIN32K!
  2436.  
  2437.  1999-07-06: Patrick Haller <phaller@gmx.net>
  2438.     - KERNEL32: major enhancement of handlemanager
  2439.  
  2440.  1999-07-06: Edgar Buerkle <100566.557@compuserve.com>
  2441.     - PE2LX: Finished support for codepages
  2442.  
  2443.  1999-07-05: Patrick Haller <phaller@gmx.net>
  2444.     - SHELL32: SheSetCurDrive stub, ...
  2445.  
  2446.  1999-07-05: Sander van Leeuwen <sandervl@xs4all.nl>
  2447.     - LIB\libconv.def: Added name with '_' appended. (or else Watcom won't
  2448.       link pe2lx\misc.cpp properly)
  2449.  
  2450.  1999-07-05: Edgar Buerkle <100566.557@compuserve.com>
  2451.     - PE2LX: Preliminary support for codepages
  2452.  
  2453.  1999-07-05: Patrick Haller <phaller@gmx.net>
  2454.     - KERNEL32: HandleManager fixes as suggested by Edgar Buerkle
  2455.  
  2456.  1999-07-04: Christoph Bratschi <cbratschi@datacomm.ch>
  2457.     - PE2LX/USER32: Dialog default font set to WarpSans + fixes
  2458.  
  2459.  1999-07-02: Christoph Bratschi <cbratschi@datacomm.ch>
  2460.     - PE2LX/USER32: Dialog bugfix for entryfield strings
  2461.  
  2462.  1999-06-30: Christoph Bratschi <cbratschi@datacomm.ch>
  2463.     - KERNEL32: Unicode changes (unicode.cpp)
  2464.             lstrcpynA/W (kernel32.cpp
  2465.     - USER32: LoadStringA unicode conversion bugfix
  2466.     - USER32: Changed SystemParameterInfo for default font (now 9.WarpSans)
  2467.  
  2468.  1999-06-30: Przemysêaw Dobrowolski <dobrawka@asua.org.pl>
  2469.     - WINMM: Implemented remaining joystick apis + bugfixes
  2470.  
  2471.  1999-06-29: Patrick Haller <phaller@gmx.net>
  2472.     - KERNEL32: GetLocaleInfoA bugfix (lang.cpp)
  2473.  
  2474.  1999-06-29: Przemysêaw Dobrowolski <dobrawka@asua.org.pl>
  2475.     - WINMM: Implemented most of the joystick apis
  2476.  
  2477.  1999-06-28: Christoph Bratschi
  2478.     - USER32: AsciiToUnicodeN bugfix (unicode.cpp)
  2479.  
  2480.  1999-06-28: Sander van Leeuwen
  2481.     - USER32: Get/SetWindowLongA bugfix for dialog controls
  2482.  
  2483.  1999-06-27: Sander van Leeuwen
  2484.     - USER32: Message handler updates & lots of bugfixes
  2485.     - USER32: Fix for GetWindowLongA, if Open32 returns 0xffff it really
  2486.       means 0xffffffff -> fixes Winhlp32 buttons.
  2487.     - USER32: Fixed bug when changing window procedures for dialog box
  2488.           controls
  2489.  
  2490.  1999-06-26: Sander van Leeuwen
  2491.     - USER32: Changes for message spy & several message handler changes
  2492.     - USER32: Restore win32 tib in window msg callback
  2493.     - KERNEL32/include: Restore OS/2 tib on entering Open32 or OS/2 apis
  2494.     - KERNEL32/lang.cpp: Bugfix for GetLocaleInfoA (if buf ptr == null,
  2495.       only return size of memory block required to hold info)
  2496.  
  2497.  1999-06-25: Achim Hasenmueller
  2498.     - Finally fixed changelog date format to be compliant with
  2499.       the official EU date format :)
  2500.  
  2501.  1999-06-25: Christoph Bratschi
  2502.     - USER32: GetSysColorPen bugfix (syscolor.cpp)
  2503.  
  2504.  1999-06-24: Patrick Haller
  2505.     - SHELL32: partial port form WINE
  2506.  
  2507.  1999-06-24: Edgar Buerkle
  2508.     - KERNEL32: Implemented GetLocaleInfoA/W
  2509.  
  2510.  1999-06-24: Sander van Leeuwen
  2511.     - include\winos2def.h: Changed OS/2 apis to use wrappers
  2512.       (FS save/restore) and added DosQueryCtryInfo
  2513.  
  2514.  1999-06-23: Patrick Haller
  2515.     - Fixed date format in changlog .g.
  2516.     - NTDLL:    a dozen c runtime functions added
  2517.     - USER32:   IsHungAppWindow dummy added
  2518.     - SHELL32:  few more APIs added
  2519.     - KERNEL32: HandleManager, Console, fixes
  2520.     - COMDLG32: basic unicode support added, thou broken somehow
  2521.     - source code splitups and beautification ;-)
  2522.  
  2523.  1999-06-23: Achim Hasenmueller
  2524.     - ported latest WINE fixes and additions for comctl32. Changes
  2525.       involve better undoc. DSA APIs, right colors for the tab control,
  2526.       many improvements for the listview...
  2527.  
  2528.  1999-06-21: Achim Hasenmueller
  2529.     - ported latest WINE DrawEdge code and moved everything to the
  2530.       new file src/user32/uitools.cpp
  2531.  
  2532.  1999-06-21: Sander van Leeuwen
  2533.     - include\os2wrap.h, removed calling convention
  2534.  
  2535.  1999-06-21: Christoph Bratschi
  2536.     - COMCTL32: Progress bar finished (progress.c, USER32 bugs to fix)
  2537.     - COMCTL32: Trackbar finished (trackbar.c)
  2538.  
  2539.  1999-06-20: Sander van Leeuwen
  2540.     - KERNEL32: Call HMInitialize from initterm, not winexe object creation
  2541.     - KERNEL32: Added comctl to list of system dlls (windll.cpp)
  2542.     - KERNEL32: Fixed dll detach (windll.cpp) for converted win32 dlls
  2543.     - KERNEL32: Module name detection (windll.cpp)
  2544.     - KERNEL32: Activated Win32 TIB code; a selector + memory is allocated
  2545.             for the main thread and every thread created.
  2546.             When it's completed, it should fix several problems due to
  2547.             differences between OS/2's TIB and Win32's TEB.
  2548.     - COMCTL32: Fixed crash on exit (moved unregister of class into exit list handler)
  2549.     - USER32: Changed bugfix (WS_CLIPCHILDREN) for winhlp32 (same as Wine now)
  2550.     - USER32: Fixed bug in wndproc.cpp (release build only)
  2551.     - USER32: Added preliminary support for parent notification
  2552.  
  2553.  1999-06-19: Sander van Leeuwen
  2554.     - ALL (except dsound/ddraw): Include <os2wrap.h> instead of <os2.h>
  2555.     - KERNEL32: Changes for win32 TEB (not active)
  2556.  
  2557.  1999-06-07: Sander van Leeuwen
  2558.     - Removed unecessary files
  2559.     - Modified os2win.h to save FS selector before calling Open32 api
  2560.       and restoring it afterwards.
  2561.     - Renamed all .C files (except comctl32) to .CPP and fixed compiler errors
  2562.     - GDI32: Fixed SetDIBitsToDevice bugfix (palette size)
  2563.     - USER32: Fixed RegisterSystemClasses
  2564.  
  2565.  1999-06-07: Achim Hasenmueller
  2566.     - Added comctl32, mostly untested includes all controls, some undocumented
  2567.       APIs missing
  2568.     - Added internal GetSysColorPen() to user32 - handy API used in WINE
  2569.       Modified syscolor.cpp to support new Win98 colors and create pens
  2570.  
  2571.  1999-06-06: Sander van Leeuwen
  2572.     - Bugfixes in VirtualAlloc (KERNEL32), GetScrollPos & RegisterSystemClasses (USER32)
  2573.       as reported on mailinglist by Edgar Buerkle.
  2574.       Also FindResourceA/W.
  2575.  
  2576.  1999-06-01: David Raison
  2577.     - OLE32: Changed everything to make it compile with the new headers
  2578.     - include/win/ole.2 - line 170
  2579.     - include/wine/win/obj_oleview.h - line 32 & 36
  2580.  
  2581.  1999-05-23: Sander van Leeuwen
  2582.     - ADVAPI32: Fixed Open32 bugs in RegOpenKeyA (set return key to 0 when failed)
  2583.             Fixed key definition conflict in convertkey.
  2584.     - KERNEL32: Fixed exception handler, don't continue after process termination
  2585.             exception! (fixes annoying exitlist hangs)
  2586.  
  2587.  1999-05-19: Sander van Leeuwen
  2588.     - KERNEL32: Corrected wrong export for HeapSize (reported by Vit Timchishin)
  2589.  
  2590.  1999-05-15: Sander van Leeuwen
  2591.     - Fixed a number of bugs introduced during the Wine header update
  2592.     - KERNEL32: Added high/low fixup support for pe loader
  2593.  
  2594.  1999-05-13: Sander van Leeuwen
  2595.     - Updated USER32
  2596.     - Fixed unicode apis in USER32
  2597.     - Added .def files for ADVAPI32, COMDLG32, GDI32, KERNEL32 & USER32 that
  2598.       export all apis with the correct names. (_apiname@nrofparameterbytes)
  2599.  
  2600.  1999-05-12: Sander van Leeuwen
  2601.     - Finished KERNEL32
  2602.     - Updated WINMM
  2603.  
  2604.  1999-05-10: Vince Vielhaber
  2605.     - Rewrote WSOCK32 for Wine headers
  2606.  
  2607.  1999-05-08: Sander van Leeuwen
  2608.     - Updated CAPI32, COMDLG32 & GDI32, MPR, NTDLL, TAPI32, WINSPOOL, WNETAP32
  2609.       for new headers
  2610.     - Started with KERNEL32 changes (75% done)
  2611.     - Made basic changes to OLE32 for new headers, but still tons of errors
  2612.     - Fixed some unicode apis in GDI32
  2613.  
  2614.  1999-05-04: Sander van Leeuwen
  2615.     - Stripped os2win.h and put it in include directory
  2616.     - WINE header files in include\win
  2617.       (some modified for IBM VAC)
  2618.     - All Open32 apis have 'O32_' as prefix, Open32 specific declarations
  2619.       are appended with _O32.
  2620.  
  2621.  1999-05-01: Sander van Leeuwen
  2622.     - Changed makefile structure:
  2623.         nmake DEBUG=1    builds debug version
  2624.         nmake        builds release version
  2625.  
  2626.  1999-04-11: Sander van Leeuwen
  2627.     - Everything except user32 & kernel32: copyrights added to most files
  2628.       Moved a few header files in \include
  2629.     - Fixed import problem in peldr (include\winimage.h), SetFullPath must
  2630.       be a virtual method.
  2631.  
  2632.  1998-10-26: Sander van Leeuwen
  2633.     - OLE32: CoInitialize takes one parameter, not 0
  2634.  
  2635.  1998-10-11: Sander van Leeuwen
  2636.     - KERNEL32: except.asm Wrong calling convention for SetExceptionChain
  2637.     - KERNEL32: exceptions.cpp/wprocess.cpp SetExceptionChain(-1) instead of SetExceptionChain(0)
  2638.  
  2639.  1998-09-28: Sander van Leeuwen
  2640.     - PE2LX: icon.cpp: palette only for <= 8 bpp
  2641.     - PE2LX: icon.cpp: check if image size in bmp header is correct before using it
  2642.  
  2643.  1998-09-25: Sander van Leeuwen
  2644.     - PE2LX: Don't fail if an exe/dll doesn't contain any imports (pe.cpp:ProcessImports)
  2645.  
  2646. ********************************************************************************
  2647. ***** Release 0.03/4
  2648. ********************************************************************************
  2649.  1998-09-15: KSO
  2650.     - WIN32K: pe2lx\misc.cpp changes
  2651.  
  2652.  1998-09-13: Sander van Leeuwen
  2653.     - KERNEL32: windll.cpp: fixed bug with szModule not being initialized
  2654.     - PE2LX: pe.cpp: Only read first 1 MB for huge files. (as they are most
  2655.              likely InstallShield archives; exe appended with
  2656.              installation data)
  2657.  
  2658.  1998-09-12: Sander van Leeuwen
  2659.     - WSOCK32: Changed fd_set to Wfd_set or else it won't compile over here
  2660.     - KERNEL32: Winimage.cpp, extra checks added
  2661.     - KERNEL32: OS2GetModuleFileName bugfix
  2662.     - INCLUDE/MISC.H: Error printf that prints to stdout (more reliable than
  2663.       a logfile)
  2664.     - GDI32: GetDeviceCaps -> NT returns -1 when using 16 bits colors, NOT 65536!
  2665.     - GDI32: CreateDIBSection -> StarCraft uses bitmap with negative height ->
  2666.                      flip image when blitting
  2667.     - GDI32: DIBSection ctor: bug in BITMAPINFO2 malloc
  2668.     - GDI32: BitBlt: (dibsection) HDC == HPS (thank you, IBM!)
  2669.  
  2670.  1998-09-02: Sander van Leeuwen
  2671.     - KERNEL32/USER32: Split up code
  2672.     - USER32 (/new): Started with new class & window managment code
  2673.              (not compiled nor tested, so don't change it)
  2674.  
  2675.  1998-09-01: Patrick Haller
  2676.     - WSOCK32: Circular linker dependency removed
  2677.  
  2678.  1998-08-31: kso
  2679.     - KERNEL32: changed lfile.c to use OS2CreateFile,OS2CloseHandle,.... as
  2680.       NT does. Notepad (W95) is now working better.
  2681.     - KERNEL32: fixed a open32 bug (or win32 feature) - WriteFile with
  2682.       nrbytes = 0 is equal to a SetEndOfFile(..);
  2683.  
  2684.  1998-08-17: Sander van Leeuwen
  2685.     - KERNEL32: Changed LoadLibraryA(W/ExA/ExW) to try to load the dll
  2686.             directly first and if that fails, load it manually.
  2687.  
  2688.  1998-08-15: Sander van Leeuwen
  2689.     - DDRAW: LOTS of changes,additions and fixes
  2690.          (ddex1-ddex5 DirectX SDK samples work(ed) + Quake 2 in
  2691.           DirectDraw mode)
  2692.     - DSOUND: Skeleton code extended
  2693.  
  2694.  1998-08-13: Sander van Leeuwen
  2695.     - PE2LX: Replaced stack page removal code; (adjusted GetNrPages instead)
  2696.  
  2697.  1998-08-13: KSO:
  2698.     - PE2LX: Borland bugfixes
  2699.  
  2700.  1998-08-08: Sander van Leeuwen
  2701.     - pe2lx (pe.cpp), call SetNrOfExports(0) for dlls without exports
  2702.       to set the module name in the resident name table
  2703.       (otherwise converted dll will not load)
  2704.     - Version resource apis work now
  2705.     - LocalReAlloc bugfix, notepad assumes it returns the same
  2706.       address when the new size is smaller than the old one.
  2707.  
  2708.  1998-08-03 KSO:
  2709.     - pe.cpp:    line 600 - added OS2Exe to the parameterlist
  2710.     - bitmap.cpp: replace file - much.
  2711.     - bitmap.h: replace file - typo (BitMap to Bitmap)
  2712.     - icon.h: replace file    - #define BI_*
  2713.  
  2714.  1998-07-23: Knut Osmundsen
  2715.     - PE2LX: Borland exe changes (import stuff)
  2716.  
  2717.  1998-07-18: Sander van Leeuwen
  2718.     - KERNEL32/PE2LX: Changed version checks; version nr is put into the
  2719.               converted exe/dll as a parameter to one of the kernel32
  2720.               entry points
  2721.     - USER32: Changed class managment code
  2722.     - USER32: Removed all SYNCPAINT stuff as it breaks many apps
  2723.     - USER32: Removed in CreateWindowExA that checks for values of x, y, nHeight & nWidth
  2724.           (this broke generic.exe, notepad.exe and probably many others)
  2725.     - USER32: Finished GetMenuStringW (MSPaint), not working right though
  2726.           it should return 'Recent File', but returns 'Decent File'
  2727.           Well, whatever.
  2728.     - VERSION/KERNEL32/PE2LX: Version resource API implemention started
  2729.     - PE2LX:  Increased some fixup limits to convert dynhgi35.dll
  2730.     - KERNEL32: AsciiToUnicode fixed (only terminate with one 0; doing
  2731.             it twice corrupts the heap as our stuff allocates exactly
  2732.             enough for string + 0 terminator)
  2733.  
  2734.  1998-07-14: Sander van Leeuwen
  2735.     - KERNEL32: Changed OS2GetProcAddress to call the ordinal or name getApi
  2736.             method
  2737.  
  2738.  1998-07-13: Patrick Haller
  2739.     - USER32:   Unicode fix for wvsprintfW "%s" -> "%ls"
  2740.     - USER32:   fix in Win32WindowProc destructor when "window" becomes NULL
  2741.     - ADVAPI32: RegConnectRegistry for connection to local machine
  2742.  
  2743.  1998-07-13: Patrick Haller
  2744.     - KERNEL32: Unicode fix that garbled CommandLineToArgv and others
  2745.  
  2746.  1998-07-12: Patrick Haller
  2747.     - NTDLL:   new functions in NTDLL (-> critical sections)
  2748.     - SHELL32: few new stubs in SHELL32
  2749.     - GDI32:   fix in GDI32\DIBSECT\CreateDIBSection for M$ Backup
  2750.     - USER32:  experimental fix (CS_SYNCPAINT) for WinHlp32 to
  2751.            display navigation buttons, but crashes SOL.EXE :(
  2752.  
  2753.  1998-07-10: Patrick Haller
  2754.     - stubs for NETAPI32 100%
  2755.  
  2756.  1998-07-09: Patrick Haller
  2757.     - stubs for Winspool 100%
  2758.  
  2759.  1998-07-01 Joel Troster
  2760.     - KERNEL32: update to nameid.cpp
  2761.  
  2762.  1998-06-07 Joel Troster
  2763.     - WINMM: WaveOpen bugfix
  2764.  
  2765.  1998-06-07 Felix Maschek
  2766.     - CAPI32: bugfix
  2767.  
  2768.  1998-06-15: Patrick Haller
  2769.     - GDI32:    stubs for all missing functions
  2770.     - ADVAPI32: stubs for all missing functions
  2771.     - USER32:   implementation of some real functions
  2772.             some unknown functions stubbed (IDA/2)
  2773.  
  2774.  1998-06-14: KSO
  2775.     - GDI32:    Stubs for Office 97
  2776.     - PE2LX:    Formatted output
  2777.     - ADVPI32:  Stubs for Office 97
  2778.     - VERSION:  Stubs for Office 97
  2779.  
  2780.  1998-06-12: Patrick Haller
  2781.     - NTDLL:    ported over the NTDLL code from WINE, subject to the GNU Copyleft
  2782.             some applications open this module explicitly
  2783.     - KERNEL32: few fixes to Unicode handling
  2784.     - KERNEL32: console window sizing (still buggy) and property fixes
  2785.     - KERNEL32: stubs for all missing functions
  2786.     - GDI32:    bugfix for DIB allocation (MS Paint)
  2787.     - WINMM:    functions for FOURCC handling
  2788.     - PE2LX:    CURSOR.CPP: hotspot.y is upside down (fixed for Winhlp32)
  2789.     - PE2LX:    DIALOG.CPP: combobox style translation CBS_ fixed
  2790.     - PE2LX:    DIALOG.CPP: style translation for WINES_MULTILINE
  2791.                 causes MLE control to be generated.
  2792.                 Experimental.
  2793.     - KERNEL32: WINDLL.CPP: fixed endless loop in Win32DLL::StripPath()
  2794.  
  2795.  1998-05-25: Patrick Haller
  2796.     - KERNEL32: Added few NTDLL stubs, mainly for support of MSACM32/NT
  2797.     - KERNEL32: Resource fix
  2798.  
  2799.  1998-05-03: Joel Troster
  2800.     - WINMM:    Stubbed most of the remaining mmedia apis
  2801.  
  2802.  1998-04-28: Patrick Haller
  2803.     - KERNEL32: Console fixes
  2804.     - KERNEL32: Console properties (partially)
  2805.     - KERNEL32: Handlemanager fixes
  2806.     - KERNEL32: OS2iGetModuleName fixes
  2807.  
  2808. ********************************************************************************
  2809. ***** Release 0.02
  2810. ********************************************************************************
  2811.  
  2812.  1998-04-05: Patrick Haller
  2813.     - KERNEL32: Resource bugfix
  2814.  
  2815.  1998-03-30: Joel Troster
  2816.     - WINMM: midiStream* stubs added
  2817.  
  2818.  1998-03-30: Sander van Leeuwen
  2819.     - PE2LX: Set console flag when exe has no resources
  2820.  
  2821.  1998-03-27: Joel Troster
  2822.     - WINMM: Midi changes/bugfixes, mci* api stubs added
  2823.     - GDI32: SetObjectOwner stub added
  2824.  
  2825.  25-03-98: Sander van Leeuwen
  2826.     - KERNEL32: Several changes in resource code
  2827.  
  2828.  19-03-98: Felix Maschek
  2829.     - KERNEL32: Comm stubs added
  2830.  
  2831.  19-03-98: Sander van Leeuwen
  2832.     - KERNEL32: Pop up a dialog box when a missing api is called
  2833.     - KERNEL32: dll bugfix
  2834.     - KERNEL32: CreateProcessA/W fix
  2835.     - KERNEL32: GetProcAddr completed for PE loader & PE2LX
  2836.  
  2837.  19-03-98: Peter Fitzsimmons
  2838.     - created include\version.h
  2839.     - changed pe2lx\lx.cpp      (call SetVersion())
  2840.     - changed pe2lx\misc.cpp  (code for SetVersion(), setea())
  2841.     - changed pe2lx\misc.h      (add prototypes)
  2842.     - changed pe2lx\pe.cpp      (moved DosClose() up a few lines,  so DosSetPathInfo() could write to the file)
  2843.     - changed pe2lx\makefile       \
  2844.     - changed pe2lx\makefile.wat   / Build setver.exe, getver.exe.    I didn't copy
  2845.                      these exe's to ..\bin in purpose;  they
  2846.                      aren't supposed to go to end users.
  2847.     - Added one line ("..\server $@") to all makfiles
  2848.  
  2849.     - added getea() to kernel32\os2util.c
  2850.     - added a few lines in kernel32/wprocess.cpp/RegisterDll()
  2851.  
  2852.     - Edit all initterm.c's to remove that rand() crap (that is from a
  2853.       sample project!).  Also added new version check to each.  Also #include "misc.h"
  2854.  
  2855.     - wsock32: edited makefile to remove reference to ..\kernel32\misc.obj and
  2856.            replace with kernel32.dll.
  2857.  
  2858.     - src\makefile:  build kernel32 before wsock
  2859.     - src\kernel32\makefile:  remove reference to wsock32.lib
  2860.     - src\kernel32\network.cpp:  remove call to wsock32
  2861.  
  2862.  16-03-98: Joel Troster
  2863.     - GDI32: Added SetObjectOwner stub
  2864.  
  2865.  15-03-98: Joel Troster
  2866.     - WINMM: RTMIDI dependency removed
  2867.  
  2868.  15-03-98: Sander van Leeuwen
  2869.     - All dlls, C++ init+termination call added to initterm.c
  2870.     - KERNEL32: Icon conversion bugfix
  2871.     - KERNEL32: Removed reroute of exe reading
  2872.     - KERNEL32: Major rewrite of dll & exe handling including
  2873.             LoadLibary(Ex)A/W, CreateProcessA/W, GetModuleFileNameA/W,
  2874.             FreeLibrary & GetCommandLineA/W
  2875.       Side effect: Crash at Quake 2 exit fixed
  2876.  
  2877.     - KERNEL32: Additional code for PE loader
  2878.     - PE: Created OS/2 ring 3 PE loader
  2879.       syntax: pe win32exe commandline
  2880.       Reads win32exe & all imported dlls, calls all dll entry points and
  2881.       finally calls the exe entry point.
  2882.       TODO: No fixups and low startup address
  2883.       TODO: Resources
  2884.       TODO: CreateProcess doesn't work right
  2885.  
  2886.  13-03-98: Sander van Leeuwen
  2887.     - KERNEL32: Dll unloading fixed
  2888.  
  2889.  13-03-98: Peter Fitzsimmons
  2890.     - KERNEL32: Fixed CompareStringA/W
  2891.  
  2892.  12-03-98: Joel Troster
  2893.     - WINMM: Stubbed all the mixer APIs and updated support for MidiMapper
  2894.  
  2895.  10-03-98: Sander van Leeuwen
  2896.     - WSOCK32:  WSAStartup fix and ioctl addition
  2897.             (Quake 2 Multiplayer working)
  2898.     - KERNEL32: Resource lookup bug fixed
  2899.  
  2900.  10-03-98: Joel Troster
  2901.     - KERNEL32: SetThreadLocale added
  2902.  
  2903.  09-03-98: Patrick Haller
  2904.     - KERNEL32: Fix in GetStdHandle within HandleManager
  2905.  
  2906.     - KERNEL32: Console APIs completed, input and output is complete,
  2907.             however not thoroughly tested, SHORT 0.98D is working.
  2908.             Codepage support, Unicode support missing.
  2909.             I'm working on cosmetics and properties dialog.
  2910.  
  2911.     - EXECHECK: tool to check executables for convertibility via pe2lx
  2912.             and keeping track of our APIs, as well as imported/exported
  2913.             functions of executables (PE import is currently implemented)
  2914.  
  2915.  09-03-98: Sander van Leeuwen
  2916.     - KERNEL32: Put dll & exe apis in wprocess.cpp
  2917.     - KERNEL32: Reroute file io from own exe to original
  2918.  
  2919.  08-03-98: Joel Troster
  2920.     - KERNEL32: Unicode changes (lstrcatW, lstrcmpW, lstrcpyW lstrcpynW)
  2921.     - WINMM: Unicode midi apis added to .def file
  2922.  
  2923.  08-03-98: Sander van Leeuwen
  2924.     - WINMM: Aux* apis implemented (not tested and not 100% correct)
  2925.     - include: added mmddk.h from win95 ddk
  2926.  
  2927.  07-03-98: Peter Fitzsimmons
  2928.     - Added KERNEL32.GetSystemDefaultLangID() -- I copied GetUserDefaultLangID, which
  2929.       always returns "US ENGLISH".
  2930.       (NOTE: Already added)
  2931.     - Added ADVAPI32.ReportEventA().  Stub.
  2932.     - Added ADVAPI32.OS2SetSecurityDescriptorDacl(). Stub that returns ERROR.
  2933.     - Added ADVAPI32.* a bunch more stubs.
  2934.  
  2935.  07-03-98: Sander van Leeuwen
  2936.     - KERNEL32: Implemented Local* memory apis with new heap
  2937.             (in win32 you can mix Heap and Local apis)
  2938.     - KERNEL32: Corrected key mapping bugs for arrow, insert/del/home/end
  2939.             page up/down keys.
  2940.             Doesn't work 100% right yet. (strafing in Quake = alt-arrow)
  2941.  
  2942.  06-03-98: Sander van Leeuwen
  2943.     - WINMM: Added WaveOutGetNumDevs and corrected the calling
  2944.          convention for several apis (WIN32API, not WINAPI)
  2945.     - KERNEL32: Added GetSystemDefaultLangID and moved several
  2946.             language apis to lang.cpp
  2947.     - KERNEL32: Added EnumSystemLocalesA/W (US English only)
  2948.     - PE2LX: command line option change: pe2lx win32file > logfile
  2949.          Now makes a backup copy of the win32 file and creates
  2950.          an OS/2 version with the same name
  2951.  
  2952.  05-03-98: Joel Troster
  2953.     - KERNEL32: Use OS/2 unicode apis
  2954.     - USER32:   Use OS/2 unicode apis
  2955.  
  2956.  04-03-98: Sander van Leeuwen
  2957.     - KERNEL32: Use OS2gethostname (wsock32.dll) instead of gethostname
  2958.  
  2959.  03-03-98: Knut Osmundsen
  2960.     - KERNEL32: VirtualAlloc bugfixes & high memory support (SMP)
  2961.  
  2962.  03-03-98: Patrick Haller
  2963.     - PECHECK: Initial code for pecheck.exe
  2964.  
  2965.  03-03-98: Joel Troster
  2966.     - KERNEL32: Stubs added for Virtual(Un)Lock
  2967.     - WINMM: Unicode midi apis added, MIDIMAP faked, some bugs fixed
  2968.  
  2969.  03-03-98: Sander van Leeuwen
  2970.     - KERNEL32: Fixed logbuffer overflow with strlen WriteLogs
  2971.     - KERNEL32: Use tcp32dll instead of pmwsock
  2972.     - PE2LX: Fixed memory corruption in icon.cpp
  2973.  
  2974.  02-03-98: Sander van Leeuwen
  2975.     - KERNEL32: kernel32.c -> kernel32.cpp
  2976.     - KERNEL32: Merged exception logging with my latest code
  2977.     - include:  win32type.h
  2978.     - WSOCK32:  Removed pmwsock.lib from makefile
  2979.  
  2980.  01-03-98: Patrick Haller
  2981.     - KERNEL32: Extensions to the exception handler (logging)
  2982.     - KERNEL32: HandleManager for pseudo-devices (CONIN$,CONOUT$,etc)
  2983.     - KERNEL32: Hooks for HandleManager
  2984.     - KERNEL32: Very early console support for stdout is there ...
  2985.             Console also has context menue.
  2986. ********************************************************************************
  2987. ***** Release 0.01
  2988. ********************************************************************************
  2989.  28-02-98: Sander van Leeuwen
  2990.     - DDRAW: Initial work for Direct3D
  2991.     - KERNEL32/PE2LX, Changes for console applications (flag)
  2992.     - KERNEL32: Kill process when a fatal exception occurs
  2993.       (prevents some kind of eternal loop in OS/2; probably due to
  2994.        invalid exception records or difference in exception handler
  2995.        calling convention)
  2996.     - KERNEL32: Added a try/catch statement around the dll exit list
  2997.             processing in ExitProcess. Seems to cure the trap
  2998.             at exit.
  2999.  
  3000.  27-02-98: Patrick haller
  3001.     - MPR: stubs for all documented MPR functions,
  3002.            should be complete now
  3003.  
  3004.  26-02-98: Patrick haller
  3005.     - USER32: stubs for all documented USER32 functions,
  3006.           should be complete now
  3007.     - USER32: Windows95's SHELL32.DLL requires a few undocumented functions
  3008.  
  3009.  24-02-98: Joel Troster
  3010.     - WINMM: Midi working
  3011.  
  3012.  24-02-98: Sander van Leeuwen
  3013.     - KERNEL32: Exit list changes; terminate all dlls right before
  3014.             ExitProcess or in kernel32 exitlist in case of a trap
  3015.             (prevents unkillable processes in most cases)
  3016.  
  3017.  23-02-98: Joel Troster
  3018.     - KERNEL32: PMPrintf version of WriteLog added
  3019.  
  3020.  22-02-98: Sander van Leeuwen
  3021.     - ALL DLLs: Call C/C++ lib cleanup proc in exit list
  3022.     - PE2LX: Use exit lists in converted win32 dlls to terminate them
  3023.     - WINMM: Remove test code in timer emulation (multiplied time by 10)
  3024.     - KERNEL32: Release winmod objects properly
  3025.     - KERNEL32: Call dll exit proc in FreeLibrary
  3026.  
  3027.  21-02-98: Sander van Leeuwen
  3028.     - KERNEL32: VirtualProtect size change to include all pages
  3029.             referenced
  3030.  
  3031.  19-02-98: Sander van Leeuwen
  3032.     - PE2LX: Change order of dlls in import module name table
  3033.     - KERNEL32: Don't call the C/C++ lib cleanup procedure at
  3034.             dll termination
  3035.  
  3036.  18-02-98: Joel Troster
  3037.     - WINMM: Midi changes, wave in/out stubs added
  3038.  
  3039.  16-02-98: Sander van Leeuwen
  3040.     - KERNEL32: Heap bugfix
  3041.  
  3042.  16-02-98: Joel Troster
  3043.     - WINMM: Midi updates
  3044.  
  3045.  15-02-98: Sander van Leeuwen
  3046.     - KERNEL32: Changed heap allocation again. (now uses malloc/free)
  3047.     - KERNEL32: QueryPerformanceFrequency/Counter uses DosTmrQueryTime/
  3048.             DosTmrQueryFreq now, so the normal xf86sup.sys can
  3049.             be used.
  3050.  
  3051.  11-02-98: Sander van Leeuwen
  3052.     - MPR: Changed/Corrected ordinals
  3053.  
  3054. Mon  1998-02-09 Peter Fitzsimmons
  3055.     - lx.cpp -- put in check for MAX_SECTIONS (was bombing out in one
  3056.       of "visio technical"'s dlls.
  3057.     - lx.cpp increase MAX_SECTIONS (lx.h) from 16 to 32 (where'd the
  3058.       original value come from?).
  3059.     - kernel32.c: added stub for FlushInstructionCache()
  3060.     - kernel32.c: added stub for OS2GetPrivateProfileSectionA()
  3061.  
  3062.     - advapi32: GetUserNameA() stub.  Always says a person named
  3063.       "USER" is logged on.
  3064.  
  3065.     - MPR: WNetGetConnection(). NEEDS PROPER ORDINAL IN *.def file.
  3066.  
  3067.  9-02-1998: Joel Troster
  3068.     - USER32: Added Set/GetDefaultMenuItem (stub)
  3069.  
  3070.  7-02-1998: Sander van Leeuwen
  3071.     - KERNEL32/WINMM: Added VMutex to KERNEL32 (imported by WINMM)
  3072.     - KERNEL32: New heap implementation (heap.cpp & os2heap.cpp)
  3073.     - KERNEL32: Replace exception handler for each new thread
  3074.     - KERNEL32: Set previous exception handler to 0 instead of -1
  3075.       (fixes endless exception handler calls)
  3076.     - Added macro dprintf & dassert to include\misc.h (no more need
  3077.       for #ifdef DEBUG's)
  3078.  
  3079. 31-01-1998: Sander van Leeuwen
  3080.     - USER32: Fixed two bugs in CreateWindowExA/W
  3081.     - WINMM:  Fixed wave playback problem
  3082.  
  3083. 18-01-1998: Sander van Leeuwen
  3084.     - GDI32: Changed GetDIBColor & SetDIBColor
  3085.     - GDI32: Fixed CreateDIBSection
  3086.     - Quake 2 working in a window!
  3087.  
  3088. 17-01-1998: Sander van Leeuwen
  3089.     - WINMM: Waveout working, Quake 2 WITH sound now!
  3090.     - GDI32: Implemented GetDIBColor & SetDIBColor
  3091.  
  3092. 11-01-1998: Sander van Leeuwen
  3093.     - KERNEL32: Exception handler fix
  3094.     - WINMM: Started with WaveOut implementation
  3095.  
  3096. 11-01-1998: Felix Maschek
  3097.     - TAPI32: Fixes
  3098.  
  3099. 10-01-1998: Sander van Leeuwen
  3100.     - Changes to makefile and wsock32.c to make it compile with VAC
  3101.     - VirtualAlloc bugfix (reserve)
  3102.     - Dialog fix (font name)
  3103.     - WINMM now uses mmsystem.h from win32 SDK
  3104.  
  3105. 10-01-1998: Chris McKillop
  3106.     - New build tree
  3107.  
  3108. 10-01-1998: Vince Vielhaber
  3109.     - Winsock32 changes
  3110.  
  3111. 31-12-1997: Sander van Leeuwen
  3112.     - Remove all 'OS2' strings from imports/exports (dlls/pe2lx)
  3113.  
  3114. 28-12-1997: Sander van Leeuwen
  3115.     - KERNEL32: Code to allow IO in ring 3 added (xf86sup.sys)
  3116.             Set environment variable WIN32_IOPL2 to enable this
  3117.  
  3118.     - KERNEL32: Fixed GetStartupInfoA/W (WINE)
  3119.     - GDI32:    Added CreateDIBSection from Wine (not complete)
  3120.     - Lots of stubs added
  3121.     - Almost got Quake II running....
  3122.  
  3123. 23-12-1997: Felix Maschek
  3124.     - CAPI2032: Complete implementation of CAPI
  3125.  
  3126. 20-12-1997: Felix Maschek
  3127.     - TAPI32:   Stub dll
  3128.  
  3129. 20-12-1997: Sander van Leeuwen
  3130.     - KERNEL32: Bug in winmod.cpp
  3131.     - KERNEL32: Added code for exception handling (not fool proof)
  3132.     - KERNEL32: Fixed HeapCreate (now reserves 32 MB instead of 64 kb)
  3133.     - KERNEL32: Catch FPU exception, mask fpu exceptions, fix stack and continue execution
  3134.     - PE2LX:    Removed stack size & base switch
  3135.     - WINMM:    Added joyGetPos stub
  3136.  
  3137. 14-12-1997: Sander van Leeuwen
  3138.     - KERNEL32: Added QueryPerformanceFrequency, QueryPerformanceCounter
  3139.     - USER32:   Added some stubs
  3140.     - GDI32:    Added some stubs
  3141.     - WINMM:    Added some stubs
  3142.     - WNETAP32: New (NETAPI32)
  3143.     - PE2LX:    Change module import name NETAPI32 to WNETAP32 (name conflict with OS/2 NETAPI32)
  3144.     - PE2LX:    Cut long dll names to 8 chars
  3145.     - MPR:        Added WNetGetUserA stub
  3146.  
  3147. 31-11-1997: Sander van Leeuwen
  3148.     - KERNEL32: Fixed GetEnvironmentStringsW
  3149.     - KERNEL32: Added DeviceIOControl (devio.c, map.c, iccio.asm; last two from XFree86 driver src)
  3150.     - KERNEL32: Changed CreateFile to open an OS/2 driver if required
  3151.     - Last two changes for win32 Glide dll.
  3152.  
  3153.     - Fixed window creation (wndproc.cpp), Open32 isn't sending WM_NCCREATE msgs!
  3154.     - Filter out CBS_OWNERDRAWFIXED & CBS_OWNERDRAWVARIABLE combobox styles
  3155.       in CreateWindowExA/W (not finished)
  3156.     - Added FormatMessageA/W from Wine (kernel32)
  3157.     - USER32:
  3158.     - Fixed GetSystemParameterInfoA/W, SPI_GETNONCLIENTMETRICS/SPI_SETNONCLIENTMETRICS
  3159.       (ConvertFontAW/ConvertFontWA macros)
  3160.     - Progress comclt32 class working
  3161.     - ADVAPI32, fixed:
  3162.         - RegEnumKeyW
  3163.         - RegEnumKeyExW
  3164.         - RegEnumValueW
  3165.         - RegQueryInfoKeyW
  3166.         - RegQueryValueW
  3167.  
  3168.     - USER32:
  3169.     - Fixed DrawEdge        (borrowed from Wine)
  3170.     - Added ChangeMenuA/W        (borrowed from Wine)
  3171.     - Fixed some color problems
  3172.     - Trackbar win32 SDK example working (toolbar comctl32 class)
  3173.