Changes between Version 2 and Version 3 of Odin Versions History


Ignore:
Timestamp:
Dec 6, 2015, 3:51:38 PM (8 years ago)
Author:
martini
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Odin Versions History

    v2 v3  
    11== Odin32 ==
     2
     30.8.9 (2013-02-17)
     4------------------
     5    - kernel32: Fix long string output to stdout in console I/O mode.
     6    - kernel32: Fix endless loop in new console I/O mode. This
     7      fixes hangs of Java applicaitons logging to the console.
     8    - gdi32: Fix crash in ResetDCW() caused by accessing invalid memory. This
     9      fixes printing in all Java applications.
     10    - riched32: Return TRUE from EM_SETBKGNDCOLOR and EM_SETCHARFORMAT.
     11
     120.8.8 (2012-12-31)
     13------------------
     14    - kernel32: Export ODIN_ThreadContextSave and ODIN_ThreadContextResore.
     15      Needed for recent Flash.
     16    - kernel32: Add stubs for CoQueryProxyBlanket and friends. Required by
     17      recent Flash.
     18    - kernel32: Implement proper input/output console support for VIO
     19      applications in Odin SDK mode. This makes APIs like
     20      GetNumberOfConsoleInputEvents actually work. This mode is only used
     21      if stdin/stdout is not redirected and not piped.
     22    - kernel32: Make all console modes on by default except ENABLE_WINDOW_INPUT
     23      (according to MSDN).
     24
     250.8.7 (2012-12-19)
     26------------------
     27    - kernel32: Add RegisterDummyExeEx that allows to specify a resource tree
     28      simulating the resource section of a real Win32 EXE.
     29    - kernel32: Make LoadLibraryEx correctly return the Win32 EXE module handle
     30      when given full EXE file name.
     31    - kernel32: Serialize stack trace logging on crashes to make sure it's not
     32      intermixed with output from other threads.
     33    - kernel32: Increase the maximum number of GDI handles from 1024 to 4096.
     34      This fixes some heavily interactive flash content.
     35
     360.8.6 (2012-10-23)
     37------------------
     38    - kernel32: Fix crash when using the new SEH scheme (0.8.5 regression).
     39    - kernel32: Disable Win32 TIB switch completely by default. This fixes spins
     40      in an exception handler loop in some applications (e.g. LibreOffice trying
     41      to load JVM.DLL).
     42    - kernel32: Add support for custom PE/PEC/W16ODIN paths to ODIN.INI (fixes
     43      broken PE/PEC functionality in RPM packages).
     44    - kernel32: Add GetCPInfoEx and ConvertThreadToFiber (needed for GTK).
     45    - kernel32: Add InitializeSListHead (needed for MSVCR100.DLL).
     46    - kernel32: Fix inverted return values in GetFileInformationByHandle and
     47      some other APIs (this could confuse Flash 10.1+).
     48    - kernel32: Implement GetFileInformationByHandle for directories.
     49    - kernel32: Add support for Windows XP SP3 version and make it the default.
     50    - user32: Partly implement MsgWaitForMultipleObjectsEx (for Flash 11.4).
     51    - shell32: Export SHGetSpecialFolderPathW (needed by Flash 11.4).
     52    - crypt32: Disable debug fields of RTL_CRITICAL_SECTION_DEBUG (fixes
     53      occasional crashes in CRYPT32.DLL e.g. during playback of some Flash).
     54    - odininst: Register DLLs that require registration (fixes playback of some
     55      Flash content for Flash versions starting from 10.1).
     56    - pe: Don't add .exe if an extension is already present in the program name
     57      (this fixes programs like InstallShiled that use non-standard extensions).
     58    - pe: Fix memory allocation error for some Win32 EXEs (this error could be
     59      displayed if the size of the EXE was too small).
     60
    261Odin 0.8.5 - (2012-07-21)
    362* kernel32: Fix a crash in PE.EXE/PEC.EXE.
     
    1574
    1675
    17 == Early Releases ==
    18 
    19 A0.05 (November 16, 1999)
    20 * The project has been renamed into Odin and is now Open Source.
    21 * The team made massiv changed on the basic technique and also implemented lots of new APIs.
    22 
    23 A0.04 (September 18, 1998)
    24 * Some files of A0.03 were from older version.
    25 
    26 A0.03 (September 16, 1998)
    27 * Converting on-the-fly. The program is converted automatically while loading. Fixes for bitmap-colors, Borland EXE were removed aswell as the EAs for versiondetection (it is within the EXE or DLL). Significant extensions of * DirectDraw (Quake II runs w/o Voodoo 3D-board in fullscreen now). Error SYS2070/0127 fixed.
    28 
    29 A0.02 (April 14, 1998)
    30 * Quake II Multiplayer. Dependancies of pmwsock/rtmidi removed. Console support. Some bugfixing and new APIs.
    31 
    32 A0.01 (March 9, 1998)
    33 * Initial version.
     760.8.4 (2012-03-19)
     77------------------
     78    - crypt32: Fix occasional crashes in CRYPT32.DLL (e.g. when playing back
     79      some Flash contents).
     80    - imm32: Initialize KERNEL32.DLL on DLL init (this fixes applications
     81      that import IMM32 before KEREL32, e.g. latest OpenJDK builds).
     82    - kernel32: Support guard page exceptions (this is used in OpenJDK
     83      to implement yellow and red zones on the thread stack).
     84    - kernel32: Align stack size interpretation in CreateThread() with MSDN
     85      (this may fix "out of stack" exceptions in some applications).
     86
     870.8.3 (2012-02-07)
     88------------------
     89    - Add bldlevel info to all Odin DLLs and EXEs.
     90    - Fix "Memory allocation failure" error when loading some Win32 EXEs with
     91      PE/PEC.
     92    - user32: Implement GetComboBoxInfo() needed for some apps.
     93    - Fix crashes in CreateIconIndirect()/CreateIconFromResource()/LoadImage()
     94      (seen in e.g. WinRAR).
     95    - wgss: Fix broken GetFullPathName() that could lead to strange behavior.
     96    - Add a bunch of API stubs referenced by the debug version of Flash DLL.
     97    - shell32: Implement SHGetDiskFreeSpace[Ex]().
     98    - user32: Make sure GetQueueStatus?() correctly reports QS_KEY state (this
     99      fixes playback in focused windows in Flash versions above 10.0.45).
     100    - kernel32: Implement SwitchToThread().
     101    - Brush up log files in Odin debug builds (human readable timestamps,
     102      output serialization, etc.).
     103    - user32: Support MIIM_FTYPE/MIIM_STRING flags properly in InsertMenuItem()
     104      and SetMenuItemInfo() (this e.g. fixes context menus in Flash > 10.0.45).
     105    - Show Odin version number in the About Odin dialog.
     106
     1070.8.2 (2011-12-30)
     108------------------
     109    - Happy New Year everyone!
     110    - Make PEC.EXE keep the console window attached (0.8.1 regression).
     111    - Fix hang when loading KERNEL32.DLL from high-mem enabled applications
     112      such as Firefox (0.8.1 regression).
     113    - Fix crash when doing drag & drop in Odin applications (0.8.1 regression).
     114    - winmm: Disable forceful termination of timer threads (this fixes frequent
     115      hangs and crashes when playing Adobe Flash content in Firefox).
     116    - winmm: Lower thread priority when calling timer functions.
     117
     1180.8.1 (2011-12-19)
     119------------------
     120
     121    - Port Odin from from IBM VAC 3 to the modern GCC 4 compiler and kLIBC
     122      runtime. This improves the stability by getting rid of the old and bogus
     123      C runtime of IBM VAC.
     124    - Increase the minor version number due to the compiler change.
     125    - shlwapi: Enable SHAutoComplete() stub (needed for WinRar 4.x).
     126    - kernel32: Add GetUserDefaultUILanguage() and VerifyVersionInfoW() (stub)
     127      needed for newer Flash modules.
     128    - Temporarily remove the win32k driver from the packages (not ready to be
     129      built with the new build framework at the present time).
     130
     1310.7.1 (2011-09-30)
     132------------------
     133
     134    - Increase the minor version number due to changing the installer to RPM.
     135    - wgss: Add a hack to fix changing the current directory in CreateProcess
     136      when starting the process of the same type.
     137    - kernel32: CreateProcess: Add support for CREATE_UNICODE_ENVIRONMENT. This
     138      fixes environment processing in Unicode mode (e.g. in OpenJDK).
     139    - kernel32: GetFileAttributesEx: Accept paths with trailing slashes. This
     140      fixes unexpected failures in e.g. SmartGit under OpenJDK.
     141    - odininst: Create "Program Files" in WINDOWSDIR instead of drive root.
     142
     1430.6.21668 (2011-07-10)
     144----------------------
     145
     146Dmitriy Kuminov:
     147    - kernel32: SEH: Disabled unwinding Win32 exception handlers in response to
     148      the OS/2 unwind procedure to prevent endless recursive crashes inside
     149      OS2RtlUnwind() happening due to stack corruption under SMP kernel when too
     150      many threads are being unwound at once (seen as a lot of c0010001 and
     151      c0010002 exceptions in POPUPLOG.OS2 after application termination).
     152    - kernel32: Fixed a regression in 0.6.21659 that caused crashes in DOSCALL1
     153      when writing to memory mapped files. The wrong code path would incorrectly
     154      invalidate memory pages on each write. This affected all OpenJDK apps.
     155
     1560.6.21659 (2011-06-27)
     157----------------------
     158
     159Dmitriy Kuminov:
     160    - kernel32: Fixed crashes in code involving _try/except due to garbage in
     161      FS:[0].
     162    - kernel32: GetFileAttributesEx?(): Interpret paths like 'X:' as 'X:\'
     163      instead of reporting an error, for compatibility with Win32.
     164    - kernel32: Propagate exceptions further along the OS/2 chain instead of
     165      terminating the application if the last Win32 exception handler (eg the
     166      SEH one) returns ExceptionContinueSearch. This lets unhandled exceptions
     167      be seen by eg PROCDUMP.
     168    - kernel32: SEH: Fixed rare crashes at process termination caused by
     169      attempting to unwind the Win32 exception chain twice, the second time
     170      after destroying the Win32 TEB block.
     171    - kernel32: Fixed: Closing a duplicate of a handle opened with
     172      FILE_FLAG_DELETE_ON_CLOSE would not perform file deletion as it should
     173      if that duplicate was the last reference to the file (e.g. closed after
     174      the original handle).
     175    - ole32: Fixed a crash when dragging an object that doesn't support CF_TEXT
     176      or CF_HDROP over an OS/2 (non-Odin) window.
     177    - shell32: Fixed SHGetFileInfoW(): PIDL input argument was misinterpreted as
     178      a string and the display name and type name fields SHFILEINFOW were not
     179      properly set on output resulting in garbage on the caller's side.
     180    - shell32: SHGetFileInfo(): Differentiate between different drive types
     181      (network, local, removable etc) when filling the type name field for paths
     182      like 'X:\'.
     183    - user32: Fixed standard scroll bar functionality (stuck arrow and thumb
     184      buttons) broken in February 2010.
     185    - dsound: Open audio devices in shared mode to allow other processes play
     186      sound when Java applications are running.
     187    - wsock32: Don't start a dummy async thread when WSAEventSelect() is called
     188      to simply cancel a non-existing association on a socket.
     189    - wsock32: Fixed: Zeroing the async task structure at task termination would
     190      prevent the VSemaphore destructor to be called which caused memory leaks.
     191    - general: Show a nice error message box and exit instead of crashing if
     192      WGSS50.DLL or KERNEL32.DLL initialization fails (eg due to low memory).
     193
     1940.6.21632 (2011-05-12)
     195----------------------
     196
     197Dmitriy Kuminov:
     198    - kernel32: Fixed: Parsing .SYM files when printing the stack trace in debug
     199      mode was not thread safe which caused garbage and nested crashes.
     200    - kernel32: SEH: Fixed a number of bugs in __try/__catch hangling that could
     201      cause a bunch of various crashes when unwinding the Win32 exception chain
     202      (usually at process termination, as a result of both a fatal exception or
     203      a clean exit).
     204    - kernel32: Do not use ODINCRT (VACRT) printf when handling XCPT_UNWIND in
     205      debug mode since it's known to produce deadlocks.
     206    - kernel32: To complete the Win32 exception chain unwind support, make sure
     207      it is unwound when the thread terminates itself with ExitThread or
     208      ExitProcess etc. before removing its exception handlers from stack.
     209    - wgss: Added a hack that makes sure the system lock is released when the
     210      thread terminates. This avoids deadlocks at process termination leading to
     211      hanging non-killable zombie processes, which is especially frequent on SMP
     212      systems.
     213    - gdi32: Fixed broken TextOut? API family that would draw text flipped along
     214      the base line.
     215    - comdlg32: Made PrintDlg?() use the native PM print dialog instead of the
     216      Win32 clone. This looks much more native and gives access to all printer
     217      settings.
     218    - minivcrt: Fixed _fullpath()/_wfullpath() which was broken in many regards
     219      (i.e. it would eat path components starting with "." and "..").
     220
     2210.6.21606 (2011-03-28)
     222----------------------
     223
     224Dmitriy Kuminov:
     225    - general: Workaround the OS/2 loader bug in LIBPATHSTRICT=T mode by always
     226      loading DLLs using the base name with no extension (e.g. "MDM" instead of
     227      "MDM.DLL"). This fixes various problems like no sound in strict mode.
     228    - general: A big bunch of fixes (headers and so on) for SDK mode.
     229    - odincrt: Fixed a tiny typo in DosQueryModuleHandleStrict() that could
     230      sometimes cause 100% CPU load at application startup eventually leading to
     231      SYS1808 due to stack overflow.
     232    - kernel32: VirtualQuery: Succeed with MEM_FREE for one page when querying
     233      an unallocated address in the private arena (for which DosQueryMem fails
     234      with ERROR_INVALID_ADDRESS). This will fix applications relying on proper
     235      error reporting.
     236    - kernel32: Report ERROR_MOD_NOT_FOUND from LoadLibrary() when it fails to
     237      load a DLL due to missing import modules, to mimic Win32 behavior.
     238    - tools/wrc: Restored generating GAS output by default. MASM output is now
     239      generated by specifying the -M option.
     240    - shell32: Shell_NotifyIcon(): Create a copy of the supplied icon because
     241      the caller may DestroyIcon() on it at any time (which would cause systray
     242      to display an empty rectangle). This matches Windows behavior.
     243    - shell32: Implemented support for xsystray (Extended System Tray widget for
     244      XCenter) which provides more functionality (in particular,
     245      "TaskbarCreated" message broadcasting).
     246
     2470.6.21577 (2011-02-21)
     248----------------------
     249
     250Dmitriy Kuminov:
     251    - iphlpapi: Fixed a crash when building the adapter/interface/address tables
     252      due to a bogus ioctl(SIOSTATRT) implementation in OS/2.
     253    - kernel32: Implemented generating the high/low index values (using a CRC32
     254      and a hash function on the fuill file name) and filling up the volume
     255      serial number in a structure returned by GetFileInformationByHandle().
     256    - kernel32: Implemented GetVolumePathName() API.
     257    - kernel32: Disabled logging exceptions in release builds through RAS since
     258      this involves .sym file reading and significantly slows down applications
     259      that use exception handlers like traps for implementing application logic.
     260    - kernel32: Fixed a bunch of OSLibDos* functions dealing with file names
     261      that passed ANSI strings to the OS/2 APIs w/o first converting it to the
     262      OEM codepage which caused "file not found" errors in various Win32 APIs
     263      like GetFileAttributesEx() on file names Cyrillic, umlauts, etc.
     264    - winmm: Accept handles returned by mixerOpen() as IDs in mixerGetDevCaps()
     265      (according to MSDN) which fixes sound in applications using these IDs.
     266    - dsound: Enumerate the default sound device twice in DirectSoundEnumerate()
     267      (according to MSDN) to make applications relying on this work.
     268
     269Older Releases
     270--------------
     271
     2722011-01-12: Dmitry A. Kuminov
     273    - minivcrt: Use the own version of _fullpath() instead of the kLIBC one
     274      because the latter isn't capable of resolving non-existent paths
     275      (it allows only the last component to not exist) and it may also
     276      unexpectedly change the current drive of the calling process.
     277    - user32: Fixed national character input in a foreign process when an
     278      Odin DLL attaches to it (such as Firefox and Flash 10) which was broken
     279      in the previous release.
     280    - user32: Fixed incorrect code page translation of window title text seen
     281      in windows created on threads other than the main GUI thread.
     282    - user32: Make GetQueueStatus() return actual message summary in high word
     283      instead of the copy of the low word.
     284    - user32: Fixed a crash during DnD when the dragged object was moved through
     285      the title over the window frame.
     286
     2872010-12-30: Dmitry A. Kuminov
     288    - Deduce Windows time zone from the current TZ setting.
     289    - Lots of various fixes and improvements (to be specified later,
     290      this is a test build).
     291
     2922010-09-06: Dmitry A. Kuminov
     293    - Lots of various fixes and improvements (to be specified later,
     294      this is a test build).
     295
     2962009-09-21  Andy Willis <abwillis1@gmail>
     297        VAC365 updates.  Mostly done by Dietrich.  Couple by Steven Levine and some by myself.
     298        src/odinprof/makefile
     299        src/user32/Makefile
     300        src/shell32/makefile
     301        src/twain_32/makefile
     302        src/imm32/makefile
     303        src/winmm/mcicda/makefile
     304        src/winmm/winmm.mak
     305        src/dsound/dsmixer.cpp
     306        src/dsound/makefile
     307        src/ddraw/makefile
     308        src/gdi32/makefile
     309        src/winspool/winspool.cpp
     310        src/winspool/makefile
     311        src/win32k/win32k.tools.mk
     312        src/win32k/win32k.mak
     313        src/kernel32/kernel32.mak
     314        src/kernel32/_ras.cpp
     315        src/driverdll/makefile
     316        src/libwrap/makefile
     317        src/wnaspi32/makefile
     318        src/capi2032/makefile
     319        src/wsock32/makefile
     320        src/odincrt/makefile
     321        src/comdlg32/makefile
     322        src/libwrap/libwrap0.mak
     323        src/libwrap/libwrap1.mak
     324
     325
     3262004-10-12: Chris Wohlgemuth <cinc@innotek.de>
     327    - OLEAUT32:
     328                o VarBstrFromDec() and VarDecFromStr() removed from stubs.cpp.
     329                  These are now implemented in variant.c.
     330
     3312004-10-11: Chris Wohlgemuth <cinc@innotek.de>
     332    - OLEAUT32:
     333                o duplicate V_DECIMAL(A) macro removed
     334
     3352004-10-08: Chris Wohlgemuth <cinc@innotek.de>
     336    - KERNEL32: Added RegOpenCurrentUser() to registry.cpp.
     337    - OLE32:    ifs.c, Added some more comprehensive debug output to the IMalloc interface.
     338                compobj.c, Added stub for CLSIDFromProgIDEx().
     339    - OLEAUT32: o Added VT_R8 support to VarCmp (SvL)
     340    - OLEAUT32: o Rewrote VarNumFromParseNum()
     341                o Added VarDecFromStr() from Wine.
     342                o VarParseNumFromStr() updated with Wine code
     343                o Updated DECIMAL struct (include\win\windef.h) to Wine level.
     344                o updated V_DECIMAL(A) macro (oleaut.h) to Wine level.
     345    - OLEAUT32: variant.c, Added stubs for:
     346                VarDecAdd()
     347                VarDecMul()
     348                VarDecSub()
     349                VarDecAbs()
     350                VarDecFix()
     351                VarDecInt()
     352                VarDecNeg()
     353                VarDecRound()
     354                VarDecCmp()
     355                VarDecCmpR8()
     356                VarOr()
     357                VarNeg()
     358                VarEqv()
     359                VarIdiv()
     360                VarAbs()
     361                VarMod()
     362                VarImp()
     363                VarFix()
     364                VarRound()
     365                VarInt()
     366                VarFormatNumber()
     367                VarFormatPercent()
     368                VarWeekdayName()
     369                VarMonthName()
     370
     371            Added from Wine:
     372                VarPow()
     373                VarXor()
     374                VarAdd()
     375
     376            safearray.c:
     377            Added stubs for
     378                SafeArrayGetRecordInfo()
     379                SafeArraySetRecordInfo()
     380                SafeArrayCreateEx()
     381
     382            Added from Wine:
     383                SafeArraySetIID()
     384                SafeArrayGetIID()
     385
     386
     3872004-09-23: Chris Wohlgemuth <cinc@innotek.de>
     388    -SHLWAPI:   Fix for PathSetDlgItemPathW() by D. Teickner so import of reg files with
     389                W98-regedit works (taking sizeof(WCHAR) into account).
     390
     391 2002-06-16: Dmitry Froloff <froloff@os2   >
     392    - GDI32:    o Fixed font creation for ANSI_CHARSET
     393
     394 2004-05-24: Eugene Romanenko <eros2@os2   >
     395    - SHELL32:  o Systray integration with XWP
     396
     397 2004-05-24: KO Myung-Hun <komh@chollian    >
     398    - GDI32:    o DBCS updates
     399    - IMM32:    o Created OS/2 implementation
     400    - KERNEL32: o DBCS/IMM updates
     401    - USER32:   o DBCS/IMM updates
     402
     403 2003-05-11: Dietrich Teickner <Dietrich_Teickner@t-online   >
     404    - USER32:   o Added wrappers for calling window handlers
     405
     406 2004-05-07: KO Myung-Hun <komh@chollian    >
     407    - GDI32:    o DBCS updates
     408
     409 2004-05-06: Sander van Leeuwen <sandervl@innotek   >
     410    - COMDLG32: o Update the hDevNames member of the printer dialog structure
     411                  whenever the user chooses another printer
     412
     413 2004-05-03: knut st. osmundsen <bird-changelog@innotek    >
     414    - USER32:   o Missing clipboard updates
     415
     416 2004-04-30: Sander van Leeuwen <sandervl@innotek   >
     417    - COMDLG32: o Always turn off collate support
     418    - GDI32:    o drawSingleLinePoint: wrong pen style checks
     419
     420 2004-04-27: Andy Willis <abwillis@comcast    >
     421    - IMM32:    o Renamed to IMM32OS2
     422
     423 2004-04-19: knut st. osmundsen <bird-changelog@innotek    >
     424    - USER32:   o Changed some critical sections which weren't initiated to
     425                  VMutex to get automatic initialization.
     426    - LIBWRAP:  o DosVerifyPidTid.
     427
     428 2004-04-15: Sander van Leeuwen <sandervl@innotek   >
     429    - USER32:   o SetWindowPos: do not check for position and size redundancy
     430
     431 2004-04-08: knut st. osmundsen <bird-changelog@innotek    >
     432    - INCLUDE:  o Merged wingdi.h from current WINE CVS.
     433                o Added prototypes for new WGSS APIs.
     434    - GDI32:    o Corrected a few problems due to wingdi.h merge.
     435                o Corrected GetDIBits query mode.
     436    - USER32:   o Rewrote clipboard code completely.
     437
     438 2004-04-07: Sander van Leeuwen <sandervl@innotek   >
     439    - KERNEL32: o Profile: flush ini file after write actions
     440
     441 2004-04-06: Sander van Leeuwen <sandervl@innotek   >
     442    - WINMM:    o Automatically disable audio support when any Crystal driver
     443                  is detected
     444    - KERNEL32: o Changed check for number of memory map views
     445
     446 2004-04-02: Sander van Leeuwen <sandervl@innotek   >
     447    - KERNEL32: o ReadFile/WriteFile: wrong page calculation for memory maps
     448
     449 2004-03-25: Sander van Leeuwen <sandervl@innotek   >
     450    - GDI32:    o LineTo: special case in toWin32LineEnd when inside a path
     451                          definition
     452
     453 2004-03-24: Sander van Leeuwen <sandervl@innotek   >
     454    - GDI32:    o CreateDIBitmap: added workaround for DIB_PAL_COLORS mode
     455
     456 2004-03-24: Vitali Pelenyov <sunlover@innotek   >
     457    - KERNEL32: o GetVolumeInformation: check for file system buffer size
     458
     459 2004-03-23: Sander van Leeuwen <sandervl@innotek   >
     460    - USER32:   o MapVirtualKeyA: must convert return value from PM to windows
     461                  scancodes
     462                o OSLibWinTranslateMessage: removed some strange numpad related
     463                  hacks that caused problems for VK_DECIMAL processing
     464
     465 2004-03-22: Sander van Leeuwen <sandervl@innotek   >
     466    - COMCTL32: o Rebar: changed resize fix again
     467
     468 2004-03-18: Sander van Leeuwen <sandervl@innotek   >
     469    - USER32:   o RedrawWindow: ignore if window is not visible
     470                o Dialog: use CallWindowProcA/W for calling the dialog procedure
     471    - SHELL32:  o Allow shell links to be placed in arbitrary directories
     472
     473 2004-02-17: knut st. osmundsen <bird-changelog@innotek    >
     474    - KERNEL32: o Fixed HEAP_strdupW.
     475    - USER32:   o GpiCreateBitmap() sometimes read too much data, allocate more to
     476                  prevent hitting the electric fence.
     477
     478 2004-03-17: Sander van Leeuwen <sandervl@innotek   >
     479    - COMCTL32: o Merged latest Wine rebar and status controls
     480                o Status: invalidate window if SBARS_SIZEGRIP and width or
     481                          height changed
     482                o Rebar: resize control to match parent width in WM_SIZE
     483
     484 2004-03-16: Vitali Pelenyov <sunlover@innotek   >
     485    - ODINCRT:  o New os2 fast critical section implementation
     486
     487 2004-03-16: Sander van Leeuwen <sandervl@innotek   >
     488    - USER32:   o Changed SPI_ICONHORIZONTALSPACING & SPI_ICONHORIZONTALSPACING
     489                  to (75,75)
     490    - WINMM:    o Check that we aren't overwriting existing data in case
     491                  we get a lot more audio data than fits in our internal DART
     492                  buffers.
     493    - KERNEL32: o PROFILE_GetSection regression fix (heap corruption)
     494    - COMCTL32: o Listview: merged with latest Wine code
     495
     496 2004-03-15: Sander van Leeuwen <sandervl@innotek   >
     497    - USER32:   o GetKeyboardLayoutNameA; use only the low word returned by
     498                  GetKeyboardLayout to build the keyboard layout string
     499                o SystemParametersInfo: added SPI_ICONVERTICALSPACING &
     500                  SPI_ICONHORIZONTALSPACING
     501                o GetSystemMetrics: corrected SM_CXICONSPACING & SM_CYICONSPACING
     502                o SystemParametersInfo: added SPI_SETDRAGFULLWINDOWS
     503
     504 2004-03-12: Sander van Leeuwen <sandervl@innotek   >
     505    - SHELL32:  o Disabled Shell_NotifyIconA
     506    - USER32:   o SPI_GETNONCLIENTMETRICS: corrected caption width and height
     507                o WM_EXITSIZEMOVE should be sent after the window position
     508                  and/or size has been changed.
     509    - GDI32:    o SetDIBitsToDevice/StretchDIBits; set coloruse to DIB_RGB_COLORS
     510                  for high (>=15) bpp bitmaps; GPI will crash with DIB_PAL_COLORS
     511
     512 2004-03-12: knut st. osmundsen <bird-changelog@innotek    >
     513    - KERNEL32: o Added interface to HM for querying the object type.
     514
     515 2004-03-11: Sander van Leeuwen <sandervl@innotek   >
     516    - USER32:   o More WH_MOUSE changes
     517
     518 2004-03-10: Sander van Leeuwen <sandervl@innotek   >
     519    - USER32:   o Added support for WH_MOUSE hook
     520
     521 2004-03-09: Sander van Leeuwen <sandervl@innotek   >
     522    - GDI32:    o SetDIBitsToDevice: fixes for xSrc offset
     523
     524 2004-03-09: Vitali Pelenyov <sunlover@innotek   >
     525    - GDI32:    o SetDIBitsToDevice: fixes for partial blits
     526
     527 2004-02-27: Sander van Leeuwen <sandervl@innotek   >
     528    - USER32:   o Re-assert DC transformation and y-inversion after SetWindowPos
     529                o Fixed b&w mouse cursors
     530    - GDI32:    o SetDIBitsToDevice: fixed bugs when dealing with negative height
     531                o StretchDIBits: If biClrUsed equals 0, set it to (1<<bitcount)
     532                                 Disabled DIB_PAL_COLORS workaround
     533                o SetDIBitsToDevice: removed Matrix driver bug workaround;
     534    - NETAPI32: o Removed all OS/2 Netbios dependencies
     535
     536 2003-02-24: Dietrich Teickner <Dietrich_Teickner@t-online   >
     537    - KERNEL32: o CreateProcess fix
     538
     539 2004-02-23: Sander van Leeuwen <sandervl@innotek   >
     540    - USER32:   o Backed out RedrawWindow change
     541                o Edit: wrong ScrollWindowEx call; must include SW_ERASE
     542                o ScrollWindowEx: set background erase flag for SW_ERASE
     543
     544 2004-02-20: Sander van Leeuwen <sandervl@innotek   >
     545    - KERNEL32: o Default CPU is set to Pentium if the one in the system isn't recognized
     546
     547 2004-02-19: Sander van Leeuwen <sandervl@innotek   >
     548    - USER32:   o RedrawWindow; wrong check for update region when clearing
     549                  WM_ERASEBKGND flag.
     550
     551 2004-02-19: KO Myung-Hun <komh@chollian    >
     552    - KERNEL32: o DBCS fixes for console & resource functions
     553
     554 2004-02-17: Sander van Leeuwen <sandervl@innotek   >
     555    - GDI32:    o CreateDCA: special handling of FILE and FILE: ports
     556
     557 2004-02-16: KO Myung-Hun <komh@chollian    >
     558    - USER32:   o Edit control: DBCS related fixes
     559
     560 2004-02-16: Sander van Leeuwen <sandervl@innotek   >
     561    - USER32:   o EndPaint; fixed region handle leaks
     562    - GDI32:    o Another region leak in GdiCombineVisRgnClipRgn fixed
     563                o DIB Section: flush used the wrong RGB conversion
     564
     565 2004-02-13: Sander van Leeuwen <sandervl@innotek   >
     566    - KERNEL32: o Allocate memory for the map during CreateFileMapping and
     567                  free it when the map is destroyed
     568
     569 2004-02-12: Sander van Leeuwen <sandervl@innotek   >
     570    - GDI32:    o PathToRegion failure bugfix + leak fixed
     571                o SelectClipPath can fail in printer DCs. Pretend success.
     572    - URLMON:   o Added HlinkNavigateString, CreateAsyncBindCtx & IsAsyncMoniker stubs
     573
     574 2004-02-11: Sander van Leeuwen <sandervl@innotek   >
     575    - USER32:   o HODIN_PREWINDOWCREATEDA extension added
     576
     577 2004-02-10: Sander van Leeuwen <sandervl@innotek   >
     578    - KERNEL32: o Added ODIN_SetProcessDword function to change the startup
     579                  information about size, position and state of the main
     580                  application window.
     581                o Rewrote keyboard hook handler to post messages and swallow
     582                  the one it gets from PM.
     583    - GDI32:    o Wrong GdiCopyClipRgn return value
     584                o Implemented SelectClipPath
     585
     586 2004-04-04: Platon Fomichev <pfomichev@alarity    >
     587    - USER32:   o Fixed typo in PeekMessageA/W.
     588
     589 2004-01-30: knut st. osmundsen <bird-changelog@innotek    >
     590    - USER32:   o AttachThreadInput implementation (read hack).
     591    - OLE32:    o Drag & Drop fixes.
     592                o Resynced ole2.c with current wine.
     593    - various:  o Added DEBUG_LOGGING define to indicate logging in order to
     594                  make release mode logging possible. Changed a few places where
     595                  DEBUG were used to include/exclude logging related code.
     596
     597 2004-01-29: knut st. osmundsen <bird-changelog@innotek    >
     598    - KERNEL32: o Parse LANG to figure out the language id.
     599    - INCLUDE:  o Synced language IDs with current wine.
     600                  This includes moving them from winnls.h to winnt.h.
     601    - WRC:      o Synced lang2cps table with wine. (needed due to above header update)
     602
     603 2004-01-21: Sander van Leeuwen <sandervl@innotek   >
     604    - USER32:   o DrawIconEx: handle cyWidth == 0 case correctly
     605
     606 2004-01-20: Sander van Leeuwen <sandervl@innotek   >
     607    - KERNEL32: o Wrote wrapper for our exception handler to clear the direction
     608                  flag on entry (reported by Dietrich Teickner)
     609    - WINMM:    o MCIWAVE.DRV updates from Wine
     610                o mciSendCommandW update from Wine
     611                o Hardcoded MCI drivers (cdaudio & waveaudio)
     612                o Added LGPL license file
     613
     614 2004-01-19: Sander van Leeuwen <sandervl@innotek   >
     615    - USER32:   o Allocate DC for windows with CS_CLASSDC style (one per window)
     616
     617 2004-01-15: KO Myung-Hun <komh@chollian    >
     618    - GDI32:    o Cleanup of text functions
     619
     620 2004-01-15: knut st. osmundsen <bird-changelog@innotek    >
     621    - DBGWRAP:  o Added optional display of caller address.
     622                  (Remove NO_CALLER #define)
     623    - PE2LX:    o Process imports in Ring-3.
     624    - KERNEL32: o Rewrote pe2lx classes to match pe2lx import changes.
     625                o Made pe2lx classes use the generic export lookup.
     626                o Rewrote the generic PE export lookup in the base class
     627                  to use a binary search and support pe2lx images with
     628                  differnet RVA calculation.
     629                o Fixed a couple of COMMIT_ALL issues where pages were touched
     630                  by winimagepeldr code before they were preloaded.
     631    - USER32:   o Removed duplicate (and dangerous) checks on framewindows
     632                  in a couple of enumerations (OSLibWinQueryClientWindow).
     633    - MAKE:     o Warn about uninitialized variables for C++ code.
     634                  (Looks like it give a lot of false warnings on C code, so
     635                   let's skip it there.)
     636
     637 2004-01-14: KO Myung-Hun <komh@chollian    >
     638    - GDI32:    o Fixed Ft2CharStringPosAtW(), passing lCount instead len.
     639                o Modified Ft2GetTextExtentW(). Now use OSLibGpiQueryCharStringPosAt().
     640                o Fixed InternalTextOutAW(). When using font association, the height of
     641                  DBCS and SBCS chars may be different. In this case, background
     642                  color make stair below chars.
     643                o Fixed GetTextExtentPointA() and GetTextExtentExPointA() to support DBCS.
     644
     645 2003-01-11: Sander van Leeuwen <sandervl@innotek   >
     646    - GDI32, USER32, KERNEL32:
     647                o Major updates.
     648
     649 2004-01-08: KO Myung-Hun <komh@chollian    >
     650    - GDI32:    o Fixed FONT_mbtowc(). If charset is 0, CP must not be 1252 in DBCS country.
     651                o Restored calcDimensions(). The result of the old is the same as that
     652                  of O32_GetTextExtent().
     653
     654 2003-12-29: KO Myung-Hun <komh@chollian    >
     655    - GDI32:    o GetTextExtentPointW fix
     656                o GetTextExtentExPointA fix for DBCS leadbytes
     657
     658 2003-12-29: Dietrich Teickner <Dietrich_Teickner@t-online   >
     659    - GDI32:    o GetTextExtentPointW fix
     660
     661 2003-12-12: Dietrich Teickner <Dietrich_Teickner@t-online   >
     662    - KERNEL32: o Fix for memory map offset
     663
     664 2003-12-01: KO Myung-Hun <komh@chollian    >
     665    - GDI32:    o Use Warpsans Combined in DBCS environments
     666    - SHLWAPI:  o Forward wvnsprintfA/W to user32
     667    - USER32:   o wvsnprintfA/W: fixed ascii and unicode conversion
     668                o Listbox: added index and length conversion between ANSI and UNICODE
     669
     670 2003-12-01: Dietrich Teickner <Dietrich_Teickner@t-online   >
     671    - SHELL32:  o Fixed memory leak
     672
     673 2002-11-21: Dmitry Froloff <froloff@os2   >/Alex Samorukov (samm@os2.kiev   )
     674    - KERNEL32: o Support for Ukrainian language added
     675                o Unicode table updates
     676    - USER32:   o Ukrainian resources added
     677    - TOOLS\WRC:o Unicode table updates
     678
     679 2003-11-17: Sander van Leeuwen <sandervl@innotek   >
     680    - USER32:   o Destroy switch entry before hiding window in DestroyWindow.
     681                  (workaround for XCenter problems)
     682    - SHELL32:  o Destroy icon cache imagelists in SIC_Destroy
     683
     684 2003-11-14: Sander van Leeuwen <sandervl@innotek   >
     685    - USER32:   o Updates
     686
     687 2003-11-12: Sander van Leeuwen <sandervl@innotek   >
     688    - GDI32/USER32:
     689                o Clip/visible region changes
     690
     691 2003-11-12: Dietrich Teickner <Dietrich_Teickner@t-online   >
     692    - SHELL32:  o Resource updates
     693                o Shell file operations updates
     694
     695 2003-11-11: knut st. osmundsen <bird-changelog@innotek    >
     696    - MAKE:     o Added a set of custombuild rules to the root makefile.
     697
     698 2003-10-30: Sander van Leeuwen <sandervl@innotek   >
     699    - SHELL32:  o Wrong if statement in recent SHAddToRecentDocs patch
     700
     701 2003-10-24: Sander van Leeuwen <sandervl@innotek   >
     702    - SHLWAPI:  o Removed wrong debug wrappers for forwarders
     703    - WININET:  o Fixed initterm
     704    - VERSION:  o Resync with Wine
     705    - PEBUILD:  o Added
     706
     707 2003-10-25: knut st. osmundsen <bird-changelog@anduin    >
     708    - MAKE:     o pe_*.obj changes for custombuilds.
     709                o Custombuild objects goes into .\bin\<buildmode>.cust so it's
     710                  possible to build both in the same tree.
     711                o Don't build the src/custombuild directory as it's broken.
     712
     713 2003-10-22: Sander van Leeuwen <sandervl@innotek   >
     714    - USER32:   o Use WC_FRAME for the Odin frame window and subclass it. There's
     715                  some PM code that makes assumptions about frame window names.
     716                o Updates for new keyboard hook
     717    - PMKBDHK:  o Updates
     718
     719 2003-10-20: Sander van Leeuwen <sandervl@innotek   >
     720    - USER32:   o PM windows should have no owner if none is specified. (instead
     721                  of their parent)
     722                  (NOTE: Potentially dangerous change!)
     723
     724 2003-10-20: Platon Fomichev <stauff@innotek   >
     725    - USER32:   o On init we should migrate fonts that Windows applications
     726                  installed globally.
     727
     728 2003-10-16: Sander van Leeuwen <sandervl@innotek   >
     729    - SHELL32:  o CommandLineToArgvW bugfix from Wine
     730    - ADVAPI32: o Check for valid SID pointer in LengthSid
     731
     732 2003-10-13: Platon Fomichev <stauff@innotek   >
     733    - COMDLG32: o We should set/clear PD_PRINTTOFILE flag when we click on
     734                  checkbox to change dialog print structure.
     735
     736 2003-10-13: Sander van Leeuwen <sandervl@innotek   >
     737    - WINMM:    o Make sure the timer object is not deleted inside the timer
     738                  callback handler
     739
     740 2003-10-06: Platon Fomichev <stauff@innotek   >
     741    - USER32:   o Wrong class names (case) for Static, Scroller, Button.
     742    - OLEAUT32: o GIF and JPEG static libs for IPicture interface implementation
     743
     744 2003-10-06: KO Myung-Hun <komh@chollian    >
     745    - USER32:   o Fixed heap corruption when changing windows text (DBCS)
     746
     747 2003-10-01: Sander van Leeuwen <sandervl@innotek   >
     748    - USER32:   o Clean up global critical section (window handles) during unload
     749    - SHELL32:  o Added stubs for SHGetNewLinkInfoA/W
     750
     751 2003-10-01: Platon Fomichev <stauff@innotek   >
     752    - USER32:   o CallWindowProcA/W: don't fail if window handle is invalid
     753    - SHELL32:  o Add support for Unicode adding of files to 'recent document'
     754    - COMCTL32: o Fixed bug when calling function by pointer in MRU funcs
     755
     756 2003-09-30: knut st. osmundsen <bird-odinspam@anduin    >
     757    - CMDQD:    o Fixed code which messes with STD handles.
     758
     759 2003-09-18: KO Myung-Hun <komh@chollian    >
     760    - KERNEL32: o fixed GetAtomNameW() and GlobalGetAtomNameW() to support
     761                  unicode correctly. (DBCS)
     762
     763 2003-09-14: knut st. osmundsen <bird-odinspam@anduin    >
     764    - MAKE:     o Synced with other projects using the new buildsystem (which
     765                  odin doesn really use yet).
     766    - TOOLS/BIN:o Updated BuildEnv.cmd. Will now facilitate a global config
     767                  file in the ETC directory if not a local one is found.
     768
     769 2003-09-07: knut st. osmundsen <bird-odinspam@anduin    >
     770    - LIBWRAP:  o Do all .asm's in with on ALP.
     771
     772 2003-08-22: Sander van Leeuwen <sandervl@innotek   >
     773    - USER32:   o Ignore messages sent or posted to the desktop window
     774                o Post/SendMessage: use shared or local memory depending
     775                  on the target window.
     776
     777 2003-08-20: Sander van Leeuwen <sandervl@innotek   >
     778    - USER32:   o Do not create CD polling window by default. It can cause
     779                  PM hangs. (IOCtl blocks indefinitely)
     780
     781 2003-08-09: Sander van Leeuwen <sandervl@innotek   >
     782    - IPLOG:    o Limit logfile size to 250 MB. When reached, reset file position
     783                  to start of file.
     784
     785 2003-08-08: Sander van Leeuwen <sandervl@innotek   >
     786    - TOOLS\CVTASM:
     787                o Header parser and assembly wrapper generator
     788    - LIBWRAP:  o Assembly wrappers for WGSS and OS/2 functions
     789    - USER32:   o Update for libwrap
     790
     791 2003-08-07: KO Myung-Hun <komh@chollian    >
     792    - USER32:   o Generate WM_IME_CHAR messages for DBCS input
     793                o Process WM_IME_CHAR in Edit, Listbox, Combo controls and
     794                  default window procedures
     795
     796 2003-08-06: Sander van Leeuwen <sandervl@innotek   >
     797    - USER32:   o Cleaned up GetMessage/PeekMessage.
     798                o Removed DispatchMessage change for WM_CHAR; must return
     799                  the proper format in Get/PeekMessageA/W.
     800                  (assuming the GetMessageW/DispatchMessageA combination is
     801                   not allowed)
     802
     803 2002-08-06: Dmitry Froloff <froloff@os2   >
     804    - KERNEL32: o HMDeviceConsoleOutClass::CreateFile; use current window size
     805                  instead of default
     806
     807 2003-08-01: Sander van Leeuwen <sandervl@innotek   >
     808    - USER32:   o Fixed SPI_GETWHEELSCROLLLINES
     809    - AVICAP32: o Added stub dll from Wine
     810    - KERNEL32: o Added InitializeCriticalSectionAndSpinCount from Rewind
     811
     812 2003-07-31: KO Myung-Hun <komh@chollian    >
     813    - USER32:   o fixed GetMenuStringA() to truncate DBCS string correctly.
     814                o fixed GetMenuItemInfo_common() to truncate DBCS string correctly.
     815                o fixed WM_GETTEXT of Win32BaseWindow::DefWindowProcA() and
     816                   Win32BaseWindow::DefWindowProcW() to ensure null-terminator.
     817                o fixed Win32BaseWindow::GetWindowTextA() and Win32BaseWindow::GetWindowTextW()
     818                  to ensure null-terminator.
     819                o fixed memory allocation for windowNameW. When open 'Open common dialog box'
     820                  memory block of windowNameW is overwritten.
     821                o fixed MessageBoxIndirectW() to support unicode correctly.
     822                o fixed OSLibWinDispatchMsg() to distinguish ascii message from
     823                  unicode message in case of the message being sent directly
     824                o fixed OS2ToWinMsgTranslate() to process DBCS input.
     825                o fixed Win32BaseWindow::MsgChar() to distinguish ascii from unicode message.
     826                o fixed Win32BaseWindow::MsgCreate(), Win32BaseWindow::DefWindowProcA(),
     827                  Win32BaseWindow::DefWindowProcW() to process messages related to
     828                  window name such as WM_GETTEXT, WM_GETTEXTLENGTH, WM_SETTEXT, and so on.
     829                o fixed Win32BaseWindow::GetWindowTxtLength(), Win32BaseWindow::GetWindowTextA(),
     830                  and Win32BaseWindow::GetWindowTextW() to process window name correctly.
     831                o fixed DispatchMessageW() to call CallWindowProcW() not CallWindowProcA().
     832                o fixed WINPROC_UnmapMsg32ATo32W(). len is first word of ptr not lParam on EM_GETLINE.
     833                o changed a parameter WPARAC wParam to WPARAC *wParam of WINPROC_MapMsg32WTo32A() and
     834                  WINPROC_UnmapMsg32WTo32A() to process WM_GETTEXT.
     835                o fixed WINPROC_MapMsg32WTo32A(). When EM_GETLINE mapped, first word of lParam
     836                  is ascii length not unicode length.
     837                o improved WINPROC_CallProc32ATo32W() and WINPROC_CallProc32WTo32A() to process WM_CHAR
     838                  and WM_GETTEXTLENGTH, LB-GETTEXTLEN, CB_GETLBTEXTLEN.
     839                o fixed edit control to process WM_CHAR including splitted DBCS chars.
     840                o fixed listbox control to process WM_CHAR including splitted DBCS chars.
     841
     842 2002-07-31: Dmitry Froloff <froloff@os2   >
     843    - USER32:   o Convert WM_CHAR characters to UTF-16 for unicode windows
     844
     845 2003-07-28: Platon Fomichev <stauff@innotek   >
     846    - WMC:      o Port of Wine Windows Message Compiler
     847    - KERNEL32: o Fixed loading of unicode messages and added loading of
     848                  internal ones. (message file from Rewind)
     849
     850 2003-07-28: knut st. osmundsen <bird-odin-spam@anduin   >
     851    - USER32:   o Updates
     852    - OLEPRO32: o Updates
     853    - ODINCRT:  o Use fast method to query pid & tid in critical sections
     854
     855 2003-07-28: Sander van Leeuwen <sandervl@innotek   >
     856    - USER32:   o Updates
     857    - WINMM:    o Updates
     858    - OLE32:    o Updates
     859    - SHELL32:  o Return 'My Computer' when an applications asks for the
     860                  'Network Places' shell32 object
     861                o Filter out hidden files in CreateFolderEnumList if not wanted (Wine update)
     862                o Also check for SFGAO_HASSUBFOLDER flag when deciding whether or
     863                  not to clear SFGAO_FOLDER & SFGAO_HASSUBFOLDER!
     864                  (---> submit to Wine)
     865
     866 2003-07-16: KO Myung-Hun <komh@chollian    >
     867    - SHELL32:  o DragQueryFileW; allocate more for unicode conversion (DBCS)
     868    - WINMM:    o Fixed mciGetErrorStringW() to prevent buffer overflow.
     869                o Fixed midiInGetErrorText() and midiOutGetErrorText()
     870                  to prevent buffer overflow.
     871                o Fixed waveInGetErrorTextW() to prevent buffer overflow.
     872                o Fixed waveOutGetErrorTextW() to prevent buffer overflow.
     873    - GDI32:    o Fixed GetTextFaceW() to support unicode correctly. (DBCS)
     874                o Fixed calcDimensions(). The width is one point - other point + 1
     875                  (code currently not active)
     876    - KERNEL32: o Added functions to query length after ascii or unicode conversion
     877                o Changed the destination length parameter name of lstrcpynWtoA()
     878                  and lstrcpynAtoW().
     879
     880 2002-07-16: Yuri Dario <mc6530@mclink   >
     881    - INSTALL:  o Do not overwrite program files registry entry if it already
     882                  exists and is valid.
     883
     884 2003-07-16: Dietrich Teickner <Dietrich_Teickner@t-online   >
     885    - GDI32:    o Fix for partial blits in StretchDIBits
     886
     887 2003-07-14: KO Myung-Hun <komh@chollian    >
     888    - GDI32:    o Fixed InternalTextOutW() and GetTextExtentPointW() to support
     889                  unicode correctly. (DBCS)
     890    - COMCTL32: o Fixed PROPSHEET_CollectSheetInfoA() and PROPSHEET_SetTitleA()
     891                  to convert ascii to unicode correctly. (DBCS)
     892                o Fixed TREEVIEW_TVItemFromItem() and TREEVIEW_BeginLabelEditNotify()
     893                  to convert ascii to unicode correctly. (DBCS)
     894                o Fixed TREEVIEW_SetItemW() to convert unicode to ascii correctly. (DBCS)
     895
     896 2003-07-11: Dietrich Teickner <Dietrich_Teickner@t-online   >
     897    - SHELL32:  o Shell folder updates
     898
     899 2003-07-09: knut st. osmundsen <bird-odinspam@anduin    >
     900    - MAKEFILES:o Invoke RC directly and not thru the CMDQD.
     901
     902 2002-07-07: Dmitry Froloff <froloff@os2   >
     903    - PMKDBHK:  o Pass Alt-Shift on to PM (Russian language switch hotkey)
     904
     905 2003-07-03: Sander van Leeuwen <sandervl@innotek   >
     906    - USER32:   o Free drag transfer structure after sending DM_RENDERCOMPLETE
     907                o MapVirtualKey: when mapping VK_A-VK_Z, VK_0-VK_9 to their
     908                  scancodes, use hardcoded character mapping for convertion.
     909
     910 2003-06-26: Platon Fomichev <stauff@innotek   >
     911    - USER32:  o ShowWindow(SW_RESTORE) should start the same PM restoration
     912                 routine as WM_SYSCOMMAND
     913
     914 2003-06-03: Sander van Leeuwen <sandervl@innotek   >
     915    - USER32:   o Don't search for keyboard accelerators in the default
     916                  WM_SYSKEYDOWN handler. That's already done in TranslateAccelerator
     917                o Send focus messages when we receive the undocumented WM_FOCUSCHANGED
     918                  PM message. Removes the need for the ugly hack to deal with
     919                  nested focus changes.
     920    - COMCTL32: o Rebar fix for recursive size changes
     921
     922 2003-06-02: Sander van Leeuwen <sandervl@innotek   >
     923    - KERNEL32: o CreatePipe: create unique named pipe
     924                o CreateNamedPipe: fixed return value + wrong check for duplex pipe
     925
     926 2003-05-29: Platon Fomichev <stauff@innotek   >
     927    - COMCTL32: o Listview selection draw code was not ok with OS/2 look
     928
     929 2003-05-28: Platon Fomichev <stauff@innotek   >
     930    - COMCTL32: o OWNERDRAW fixes for ListView control
     931
     932 2003-05-27: Sander van Leeuwen <sandervl@innotek   >
     933    - USER32:   o Do not send WM_STYLECHANGING/ED messages when the scrollbar
     934                  control is shown or hidden.
     935                o PeekMessage fix (regression from 5-16)
     936
     937 2003-05-26: Sander van Leeuwen <sandervl@innotek   >
     938    - COMCTL32: o Use the new resources from Wine.
     939
     940 2003-05-26: Platon Fomichev <stauff@innotek   >
     941    - COMCTL32: o Listview selection draw code was incomplete due to resync.
     942
     943 2003-05-26: Platon Fomichev <stauff@innotek   >
     944    - COMCTL32: o Patrick's 2001 fixes broke too much. Stay with ReWind for now.
     945
     946 2003-05-23: Sander van Leeuwen <sandervl@innotek   >
     947    - KERNEL32: o ClearCommError: lpdwError is allowed to be NULL
     948
     949 2003-05-16: Sander van Leeuwen <sandervl@innotek   >
     950    - USER32:   o Use our fast critical sections instead of OS/2 mutex semaphores
     951                  in the timer code.
     952                o Handle WM_(SYS)TIMER timer calls in DispatchMessageA/W.
     953                  We previously called timer handlers when we received WM_TIMER
     954                  from PM. That's not correct. These messages must be returned
     955                  by Get/PeekMessage. The handler will not be called if the
     956                  timer message is not dispatched. (verified in NT4)
     957
     958 2003-05-16: Platon Fomichev <stauff@innotek   >
     959    - USER32:   o Eat first WM_MOUSEMOVE while menu tracking like windows does
     960                  to prevent 'auto-clicking' on popup menus that appear in the
     961                  area of first mouse-click
     962
     963 2003-05-15: Sander van Leeuwen <sandervl@innotek   >
     964    - USER32:   o Window creation: updated the coordinate fix code with the latest Rewind version
     965                o ReleaseDC: always verify window associated with DC
     966    - COMCTL32: o Complete resync with latest Wine (except draglist)
     967                o Implemented LVM_APPROXIMATEVIEWRECT for LVS_REPORT controls
     968                  (needed to get rid of a crash; very likely to be incorrect)
     969
     970 2003-05-14: Sander van Leeuwen <sandervl@innotek   >
     971    - GDI32:    o DIB section: do not fetch more colors from a bitmap header than
     972                  biClrUsed (if != 0)
     973                o GetDIBits: save and restore negative height & log failure
     974    - USER32:   o Do not send any SetWindowPos related messages if the state
     975                  of the window doesn't change.
     976
     977 2003-05-12: Sander van Leeuwen <sandervl@innotek   >
     978    - KERNEL32: o _lopen: wrong parsing of mode parameter
     979                  (only found now due to CreateFile changed with dwDesiredAccess)
     980
     981 2003-05-07: Sander van Leeuwen <sandervl@innotek   >
     982    - USER32:   o Added more members to the TEB structure
     983
     984 2003-05-06: Sander van Leeuwen <sandervl@innotek   >
     985    - KERNEL32: o Fixed closing of parent file handle by duplicate memory map
     986                o Compare file names instead of handles when checking for
     987                  duplicate file maps.
     988    - USER32:   o ReleaseDC check if hwnd parameter is correct (WindowFromDC(hdc))
     989                o Messagebox: Wrong ReleaseDC call
     990
     991 2003-05-06: knut st. osmundsen <bird-odin-spam@anduin   >
     992    - KERNEL32: o Corrected the handling of OF_PARSE in OpenFile.
     993
     994 2003-05-05: Sander van Leeuwen <sandervl@innotek   >
     995    - KERNEL32: o Handle files opened with 0 for dwDesiredAccess seperately.
     996                  Those handles can only be used with a limited nr of functions
     997                  (such as GetFileType/Size/Time)
     998    - IPHLPAPI: o Implemented GetIpAddrTable, GetIfTable & GetFriendlyIfIndex
     999
     1000 2003-05-02: Sander van Leeuwen <sandervl@innotek   >
     1001    - USER32:   o Keep track of all open window DCs
     1002                o During WM_VRNENABLED we must query the visible region
     1003                  of all open DCs to ensure that GPI updates the visible
     1004                  region (e.g. when a window has moved).
     1005                  A bug in PM/GPI causes open DCs to get out of sync when
     1006                  moving windows with full window drag enabled.
     1007                  (without full window drag there is no such problem due
     1008                   to the use of LockWindowUpdate)
     1009
     1010 2003-04-30: Platon Fomichev <stauff@innotek   >
     1011    - USER32:   o In WM_PARENTNOTIFY correctly map window coordinates for each
     1012                  window we send this message to.
     1013                  Correctly finish PM minimize sequence.
     1014                  Correctly switch titlebar higlight on activate/deactivate.
     1015
     1016 2003-04-30: Dietrich Teickner <Dietrich_Teickner@t-online   >
     1017    - SHLWAPI:  o Fixed PathIsUrlA/W
     1018    - KERNEL32: o Changed dll renaming to include extension if it's not .dll
     1019    - ODIN.INI: o Update for kernel32 change
     1020                  (IMPORTANT: must update your odin.ini with this one or
     1021                              delete the current file)
     1022
     1023 2003-04-27: Platon Fomichev <stauff@innotek   >
     1024    - USER32:   o Correctly finish PM restore procedure from minimized state.
     1025                o Use Stock brush for minimized icon fill when it is not
     1026                  allocated.
     1027
     1028 2003-04-25: Sander van Leeuwen <sandervl@innotek   >
     1029    - NTDLL:    o Initialize kernel32 first (circular dependency between
     1030                  kernel32 & ntdll)
     1031
     1032 2003-04-25: knut st. osmundsen <bird-odin-spam@anduin   >
     1033    - USER32:   o Fake window subclass FS bugfix.
     1034
     1035 2003-04-24: knut st. osmundsen <bird-odin-spam@anduin   >
     1036    - USER32:   o Fake window init bugfixes
     1037
     1038 2003-04-24: Sander van Leeuwen <sandervl@innotek   >
     1039    - USER32:   o EndDialog: Enable owner window regardless of whether it was
     1040                             enabled before dialog creation. When the owner
     1041                             is disabled and we hide the dialog, then PM switches
     1042                             focus to another application. (hidden windows cannot
     1043                             have focus)
     1044                o Win32BaseWindow::GetWindowFromOS2Handle: also check fake
     1045                  windows)
     1046
     1047 2003-04-24: Platon Fomichev <stauff@innotek   >
     1048    - USER32:   o Fixed restore/maximize from minimized state for MDI windows.
     1049
     1050 2003-04-15: knut st. osmundsen <bird-odin-spam@anduin   >
     1051    - USER32:   o Properties allocated from shared memory.
     1052                o Fake window updates.
     1053
     1054 2003-04-15: knut st. osmundsen <bird-odin-spam@anduin   >
     1055    - src/makefile:
     1056                o Build NTDLL too. (netlabs only)
     1057
     1058 2003-04-14: knut st. osmundsen <bird-odin-spam@anduin   >
     1059    - USER32:   o Implemented SW_SHOWDEFAULT.
     1060    - KERNEL32: o Changed initialization of StartupInfo to take the actual
     1061                  values of the CreateProcess call (but for the strings).
     1062                  (not complete)
     1063
     1064 2003-04-11: knut st. osmundsen <bird-odin-spam@anduin   >
     1065    - USER32, KERNEL32, include/win/thread.h:
     1066                o Implemented WM_COPYDATA.
     1067
     1068 2002-04-11: Sander van Leeuwen <sandervl@innotek   >
     1069    - USER32:   o Send WM_WINDOWPOSCHANGED for ShowWindow(SW_SHOWWINDOW)
     1070                o Tool windows (WS_EX_TOOLWINDOW) don't have minimize or maximize
     1071                  buttons. (testing shows this in NT4)
     1072                o Changed default hittest handler to check for WS_EX_TOOLWINDOW
     1073                  (system menu & min/max buttons)
     1074                o MENU_TrackKbdMenuBar: check for WS_EX_TOOLWINDOW before using
     1075                  the system menu.
     1076                o Display tool window titlebars in win32 style. They are supposed
     1077                  to be thinner than standard PM titlebar controls.
     1078
     1079 2003-04-11: Dmitry Froloff <froloff@os2   >
     1080    - KERNEL32: o Console updates
     1081
     1082 2003-04-10: Platon Fomichev <stauff@innotek   >
     1083    - MSVCRT  : o MSVCRT updates, forwarders to stdcall functions, lots of funcs
     1084                  now directly imported from NTDLL, resync with latest Wine
     1085    - EMXLIBS : o Added yet another wrapper for FS and added some funcs for new
     1086                  msvcrt
     1087    - INCLUDE : o OS2SEL functions corrected for potential optimizing problems
     1088                  in release build. (Bug found and corrected by Dietrich)
     1089
     1090 2002-04-09: Sander van Leeuwen <sandervl@innotek   >
     1091    - KERNEL32: o Unmap memory view when deleting PE dll object.
     1092                  (problem found by Dietrich)
     1093
     1094 2003-04-09: Platon Fomichev <stauff@innotek   >
     1095    - COMCTL32: o Due to flaw in cdecl implementation of GCC temporary
     1096                  correctly import _wtoi func from NTDLL
     1097    - EMXLIBS:  o Possible endless loop in OS2FS replacement funcs
     1098                  (problem found by Dietrich)
     1099
     1100 2003-04-08: Platon Fomichev <platon@innotek   >
     1101    - USER32:   o Treat LBUTTON press different from others in scrollbar. (WineX resync)
     1102
     1103 2002-04-08: knut st. osmundsen <Knut.Osmundsen@innotek   >
     1104    - COMDLG32: o Corrected default printer init. It was crashing with big
     1105                  printer setups and not handling multiple drivers per device
     1106                  correctly.
     1107
     1108 2002-04-08: Sander van Leeuwen <sandervl@innotek   >
     1109    - USER32:   o Menu control: do not paint default menu item strings in bold
     1110                                if in OS/2 GUI mode
     1111
     1112 2003-04-04: Platon Fomichev <platon@innotek   >
     1113    - NTDLL:    o Massive update. NTDLL internal tests, almost all
     1114                  string and conversion funcs. Corrected and beautified .def file
     1115    - DOC:      o Updated GCCBuildInstructions.txt for GCC 3.2.1
     1116
     1117 2003-04-03: Sander van Leeuwen <sandervl@innotek   >
     1118    - WINMM:    o Different method for detecting DirectAudio (uniaud, sblive, c-media)
     1119                o Added custom build function to disable DirectAudio (always use DART)
     1120                o Waveout (DART): handle underrun properly (next buffer write
     1121                  and position after continueing)
     1122
     1123 2002-04-02: knut st. osmundsen <bird-odin-spam@anduin   >
     1124    - WIN32K:   o Win32VersionValue in OptionalHeader.
     1125
     1126 2002-04-02: Yuri Dario <mc6530@mclink   >
     1127    - INCLUDE, GDI32, USER32, KERNEL32:
     1128                o Corrected & changed headers + source updates
     1129    - USER32:   o Button: WM_SETTEXT fix
     1130
     1131 2003-04-02: Platon Fomichev <platon@innotek   >
     1132    - INCLUDE, KERNEL32:
     1133                o Corrected HFILE definition as it is in Wine and in Win2k +
     1134                  header updates.
     1135    - INCLUDE\EMXRUNTIME:
     1136                o Modified EMX headers
     1137    - LIB\EMXSUPPORT:
     1138                o Modified EMX libraries
     1139
     1140 2003-04-01: Sander van Leeuwen <sandervl@innotek   >
     1141    - GDI32:    o Fix for partial dibsection resyncs
     1142
     1143 2003-04-01: Platon Fomichev <stauff@innotek   >
     1144    - USER32:   o Functions for setting custom frame/cd/window class names
     1145
     1146 2003-03-31: Dietrich Teickner <Dietrich_Teickner@t-online   >
     1147    - SHELL32:  o Shell file operations update
     1148
     1149 2003-03-31: Platon Fomichev <platon@innotek   >
     1150    - KERNEL32: o Added vsnprintfW/snprintfW funcs for syncing with latest
     1151                  wine NTDLL
     1152
     1153 2003-03-31: knut st. osmundsen <bird-odin-spam@anduin   >
     1154    - PE2LX/WIN32K:
     1155                o Custombuild feature for excluding dlls. Cleanups.
     1156                o Option for making all object RW file.
     1157    - KERNEL32: o Made Pe2Lx'ed DLLs work.
     1158
     1159 2003-03-28: Sander van Leeuwen <sandervl@innotek   >
     1160    - USER32:   o Removed changes for window tracking (move/size) with full
     1161                  window dragging enabled (2003-03-27)
     1162
     1163 2003-03-27: Sander van Leeuwen <sandervl@innotek   >
     1164    - USER32:   o Don't change focus when processing mouse button message if
     1165                  the top parent is a fake window
     1166                o Changes for window tracking (move/size) with full window
     1167                  dragging enabled
     1168    - KERNEL32: o Memory map updates
     1169
     1170 2003-03-26: Sander van Leeuwen <sandervl@innotek   >
     1171    - KERNEL32: o WaitForSingleObject/(Msg)WaitForMultipleObject fixes to
     1172                  prevent thread priorities from being accidentally boosted to
     1173                  time critical
     1174
     1175 2003-03-22: Sander van Leeuwen <sandervl@innotek   >
     1176    - USER32:   o If an application doesn't validate the update region
     1177                  while processing WM_PAINT, then we must remember it for
     1178                  the next time.
     1179                  Windows will only send a WM_PAINT once until another part of
     1180                  the window is invalidated. Unfortunately PM keeps on sending
     1181                  WM_PAINT messages until we validate the update region.
     1182                  This affects UpdateWindow, RedrawWindow, GetUpdateRgn, GetUpdateRect,
     1183                  BeginPaint and the next WM_PAINT message.
     1184
     1185 2003-03-20: Sander van Leeuwen <sandervl@innotek   >
     1186    - USER32:   o WindowFromPoint: only send WM_NCHITTEST to windows belonging
     1187                  to the current thread
     1188                o Changes for fake windows. Moved them into a seperate C++ class
     1189                  and overload some methods to correct the behaviour.
     1190
     1191 2003-03-18: Platon Fomichev <platon@innotek   >
     1192    - USER32:   o Shift/Ctrl/Alt+Numpad keys illegal behaviour. Generic numpad
     1193                  keys like (/*-+) produced garbage.
     1194
     1195 2003-03-12: Platon Fomichev <stauff@innotek   >
     1196    - USER32:   o GetKeyState and GetAsyncKeyState fixes for numpad keyboard
     1197
     1198 2003-03-06: Sander van Leeuwen <sandervl@innotek   >
     1199    - KERNEL32: o Don't change the stack alignment if the thread has less than
     1200                  128 kb stack.
     1201    - WINMM:    o Improved accuracy of waveIn/OutGetPosition. (use FPU to prevent
     1202                  rounding errors)
     1203                o Added code to dump played wave data to disk (disabled by default)
     1204
     1205 2003-03-06: knut st. osmundsen <Knut.Osmundsen@innotek   >
     1206    - KERNEL32: o The WIN32LOG_FILEBASE env.var. can be used to point the logfile
     1207                  elsewhere. "%d.log" is added to the value.
     1208                o Print szLineExceptionType too in exception dump.
     1209                o Custombuild apis for entering and leaving Odin thread context.
     1210                o Added functions to quickly get the PID & TID
     1211
     1212 2003-03-05: knut st. osmundsen <bird-odin-spam@anduin   >
     1213    - MAKE:     o Experimental OTHERS variable.
     1214                o Full source path to compilers.
     1215
     1216 2003-03-05: Sander van Leeuwen <sandervl@innotek   >
     1217    - WINMM:    o timeBegin/EndPeriod: check for upper and lower boundaries
     1218                o waveoutGetPosition: return 0 if stream is not active (DART)
     1219                o waveinGetPosition: return 0 if stream is not active (DART)
     1220                o Don't print a warning for CALLBACK_NULL callbacks
     1221                o Added ODIN_waveInSetFixedBuffers, renamed SetFixedWaveBufferSize
     1222                  to ODIN_waveOutSetFixedBuffers. Used to tell WINMM to use
     1223                  the waveOutWrite buffer size for the DART buffers.
     1224                o Don't pause the wave stream if no buffers left to add. Let
     1225                  DART detect the underrun condition.
     1226
     1227 2003-03-04: Platon Fomichev <stauff@innotek   >
     1228    - USER32:   o We did not pay attention to numlock state on numpad keyboard.
     1229
     1230 2003-03-03: Dietrich Teickner <Dietrich_Teickner@t-online   >
     1231    - GDI32:    o ExtTextOutA: copy string and force zero termination
     1232    - SHELL32:  o Minor updates
     1233
     1234 2003-03-03: Sander van Leeuwen <sandervl@innotek   >
     1235    - WSOCK32:  o Removed wrong checks for invalid address parameters in
     1236                  sendto & recvfrom
     1237
     1238 2003-03-01: Sander van Leeuwen <sandervl@innotek   >
     1239    - KERNEL32: o ExitProcess: turn off hard errors & exception popups before
     1240                  calling O32_ExitProcess (release build only)
     1241                o DeleteFile: when deleting a .lnk file, verify if it's a shell
     1242                  link object file. if so, delete WPS object
     1243                o ODIN_DisableFolderShellLink added: disable object creation in
     1244                  Odin folder. Desktop shortcuts will still be created as WPS
     1245                  objects on the desktop.
     1246                o OSLibWinCreateObject: create shelllink file with WPS object id
     1247    - USER32/KERNEL32:
     1248                o Move OSLibWinCreateObject to KERNEL32
     1249    - SHELL32:  o Shelllink: use kernel32 file functions instead of those from
     1250                  the VAC crt
     1251
     1252 2003-02-28: Sander van Leeuwen <sandervl@innotek   >
     1253    - SRC\makefile:
     1254                o Skip msvcrt & crtdll for now. Causes too many problems with
     1255                  Odin builds.
     1256    - KERNEL32: o Fixed CreateProcessA regression (Lotus Notes)
     1257                o Check for invalid data while measuring the CPU speed. DosTmrQueryTime
     1258                  isn't very reliable (on laptops).
     1259                o ExitProcess: don't remove our exception handler too early
     1260                o Map ERROR_PATH_NOT_FOUND (OS/2) to ERROR_INVALID_NAME
     1261    - WINMM:    o Protect linked timer list with VMutex object.
     1262
     1263 2003-02-28: knut st. osmundsen <Knut.Osmundsen@innotek   >
     1264    - MAKEFILES:
     1265                o New rule cleanall which tries to wipe out all the output.
     1266                o ODIN32_LIB and ODIN32_BIN is now the same for all the CCENVs.
     1267                  (AFAIK we no longer try compile stuff with many compiles, but
     1268                   stick too the once which are working, VAC3 or EMX that is.)
     1269                o Linenumbers in release mode.
     1270                o Pass full source file names to compilers so the debugger easier
     1271                  will find the the right source.
     1272                o Defined STATIC_CRT in src/win32k/utils.
     1273                o Profiling: Link with kProfile.lib when DEBUG= and PROFILE=1.
     1274                  Configured this for EMX targets too. (state: Experimental)
     1275
     1276 2003-02-28: Platon Fomichev <stauff@innotek   >
     1277    - USER32: o Wrong checks on restoration point remembering. Maximizing
     1278                window from PM icon using keyboard or menu produced wrong
     1279                controls.
     1280
     1281 2003-02-27: Sander van Leeuwen <sandervl@innotek   >
     1282    - KERNEL32: o VirtualAlloc: fixed handling of commit for a page range
     1283                  that is not entirely reserved (contains committed pages)
     1284                o Don't call WinMessageBox in the unhandled exception filter as
     1285                  that can hang PM.
     1286
     1287 2003-02-27: Platon Fomichev <stauff@innotek   >
     1288    - USER32:   o Illegal PM sequence of maximizing from icon state corrected.
     1289                  Inter-thread controls change caused PM lockups. Rewrote
     1290                  PM window frame controls manipulation procedure.
     1291
     1292 2000-02-27: Achim Hasenmueller <achimha@innotek   >
     1293    - KERNEL32: o MoveFile: detect if source and target file names are on a
     1294                  different drive and use DosCopy/DosDelete instead of DosMove
     1295                  in this case.
     1296
     1297 2003-02-26: Sander van Leeuwen <sandervl@innotek   >
     1298    - RICHED32: o Rewrote control; no longer creates a child Edit window as this
     1299                  doesn't happen in Windows and breaks subclassing
     1300                o EM_CHARFROMPOS is different for RichEdit controls (lParam is
     1301                  a POINTL pointer)
     1302                o Implemented EM_FINDWORDBREAK
     1303
     1304 2003-02-25: Sander van Leeuwen <sandervl@innotek   >
     1305    - USER32:   o Bugfix for WPS object creation
     1306    - RICHED32: o Added support for EM_SETCHARFORMAT (text & background color)
     1307                  & EM_SETBKGNDCOLOR.
     1308
     1309 2003-02-24: Sander van Leeuwen <sandervl@innotek   >
     1310    - WS2_32:   o Implemented non-overlapped WSARecv & WSASend.
     1311    - WSOCK32:  o check for local host name in gethostbyname. if identical,
     1312                  then use "localhost" instead
     1313    - KERNEL32: o GetFullPathNameA: don't change the input string
     1314                o Added ODIN_IsWin32App export to determine whether an app
     1315                  is a win32 or os2 binary.
     1316    - USER32:   o Changes for creating WPS objects (win32/os2 app)
     1317                o Added function to convert an icon group in memory
     1318    - SHELL32:  o Convert win32 icon file to os2 format when creating a shell link.
     1319
     1320 2003-02-23: knut st. osmundsen <bird@anduin   >
     1321    - TOOLS/ALIASDEF:
     1322                o A tool for generating alias records from an .def file.
     1323                  Something I wrote will playing with NTDLL here.
     1324
     1325 2003-02-22: Sander van Leeuwen <sandervl@innotek   >
     1326    - WS2_32:   o Added WSARecv(From) & WSASend(To) stubs
     1327
     1328 2003-02-22: Platon Fomichev <stauff@innotek   >
     1329    - USER32:   o Restoring maximized window from iconic state caused window
     1330                  frame controls to behave badly. General out-of-sync problems
     1331                  with frame controls. Invisibility of frame controls after
     1332                  lots of minimizing/restoring.
     1333
     1334 2003-02-22: Dietrich Teickner <Dietrich_Teickner@t-online   >
     1335    - SHELL32:  o Shell file operation updates
     1336
     1337 2003-02-20: knut st. osmundsen <Knut.Osmundsen@innotek   >
     1338    - KERNEL32: o Added custombuild API for registering a callback for LX Dll
     1339                  loading thru LoadLibrary*().
     1340
     1341 2003-02-18: Sander van Leeuwen <sandervl@innotek   >
     1342    - KERNEL32: o Touch last stack page using ESP. (just in case)
     1343                o Cleaned up memory map code.
     1344
     1345 2003-02-17: Sander van Leeuwen <sandervl@innotek   >
     1346    - KERNEL32: o FindFirstFile: return ERROR_FILE_NOT_FOUND if DosFindFirst
     1347                  returns ERROR_PATH_NOT_FOUND
     1348    - USER32:   o Single Alt down + up always generates WM_SYSKEYUP; reset
     1349                  iMenuSysKey on WM_KEYUP, so the system menu isn't accidentally
     1350                  activated.
     1351
     1352 2003-02-16: Sander van Leeuwen <sandervl@innotek   >
     1353    - USER32:   o ToAscii: fixed wrong checks for VK_SHIFT/CONTROL/MENU
     1354                o Fixed broken implementation of GetKeyState, GetAsyncKeyState
     1355                  and GetKeyboardState
     1356                o Do not translate WM_KEYUP to WM_SYSKEYUP if AltGr released
     1357                  and KC_LONEKEY flag is set. (only for Alt)
     1358                o GetKeyboardState, GetKeyState, GetAsyncKeyState:
     1359                  pretend left Ctrl key is pressed if AltGr down.
     1360    - PMKBDHK:  o Special handling of AltGr key. Must send Ctrl key messages
     1361                  like Windows.
     1362
     1363 2003-02-14: Dietrich Teickner <Dietrich_Teickner@t-online   >
     1364    - SHELL32:  o Shell file operation updates
     1365
     1366 2003-02-13: Sander van Leeuwen <sandervl@innotek   >
     1367    - USER32:   o Handle SetFocus(0) correctly: keystrokes are converted into
     1368                  WM_SYSKEYDOWN/(WM_SYSCHAR)/WM_SYSKEYUP messages
     1369                o DrawFocusRect: conflict between SetROP2(R2_XORPEN) and
     1370                  SetBkMode(TRANSPARENT); commenting out the latter for now.
     1371    - SHELL32:  o Control panel Wine resync
     1372    - KERNEL32: o Added ODIN_SetTIBSwitch function to override TIB selector
     1373                  switching.
     1374                o Forward RtlZero/Move/FillMemory to ntdll
     1375    - NTDLL:    o Cleaned up
     1376
     1377 2003-02-11: Sander van Leeuwen <sandervl@innotek   >
     1378    - USER32:   o When a window is activated by a mouse click, we must set
     1379                  focus to the client window (and not the frame!).
     1380                o GetSysColor: always return cached colors
     1381
     1382 2003-02-10: Sander van Leeuwen <sandervl@innotek   >
     1383    - KERNEL32: o Touch all stack pages we skip in the out of stack workaround for
     1384                  16 bits code. Jumping over the guard page causes a protection
     1385                  violation exception.
     1386    - USER32:   o EnumThreadWindows: must return windows in Z-order
     1387                  (experiments show EnumThreadWindows in NT4 behaves like this)
     1388
     1389 2003-02-07: Sander van Leeuwen <sandervl@innotek   >
     1390    - DDRAW/NTDLL:
     1391                o Rename resource directory
     1392    - USER32:   o Don't save position (for restore) in SetWindowPos if window
     1393                  is minimized .
     1394
     1395 2002-02-06: Dietrich Teickner <Dietrich_Teickner@t-online   >
     1396    - USER32:   o Edit control: fixed heap corruption in undo buffer
     1397
     1398 2003-02-06: Sander van Leeuwen <sandervl@innotek   >
     1399    - ODINCRT:  o Rewrote critical sections to be safe on SMP systems
     1400                  (previous implementation had one flaw that happened
     1401                   to be triggered often on my SMP machine)
     1402    - USER32:   o Edit control: Always kill the timer if in captured state.
     1403                  The app can call ReleaseCapture before we get the WM_LBUTTONUP
     1404                  message.
     1405                o Send WM_QUERYNEWPALETTE when a window receives focus
     1406                o Translate WM_REALIZEPALETTE into WM_PALETTECHANGED
     1407    - GDI32:    o Must manually correct y coordinates for DIB section blit since
     1408                  we reset the y inversion back to 0.
     1409                  (subtract twice the viewport & windows origin y)
     1410                o CreateDIBSection: don't get palette from DC if bitmap bits provided
     1411
     1412 2003-02-05: Sander van Leeuwen <sandervl@innotek   >
     1413    - KERNEL32: o Check ESP when calling the entrypoint of a newly created thread.
     1414                  If close to a 64kb boundary, adjust it. Some ancient 16 bits
     1415                  code will crash if there's not enough stack left.
     1416
     1417 2003-02-04: Sander van Leeuwen <sandervl@innotek   >
     1418    - KERNEL32: o Support DuplicateHandle for threads
     1419                o Fixed command line parsing regression
     1420    - DDRAW:    o FS corruption in SetCooperativeLevel
     1421
     1422 2003-02-02: Sander van Leeuwen <sandervl@innotek   >
     1423    - INCLUDE\makefiles:
     1424                o Define STATIC_CRT for all exe targets
     1425
     1426 2003-01-30: Sander van Leeuwen <sandervl@innotek   >
     1427    - KERNEL32: o CreateProcess changes for parsing the application name
     1428                  and command line strings
     1429
     1430 2003-01-29: Sander van Leeuwen <sandervl@innotek   >
     1431    - USER32:   o OS/2 Look & Feel is now default
     1432                o Use OS/2 colors again in OS/2 L&F mode
     1433
     1434 2003-01-28: Sander van Leeuwen <sandervl@innotek   >
     1435    - USER32:   o Don't use DrawFocusRect from WGSS anymore
     1436    - GDI32:    o Fixes for InternalTextOutA without y-inversion (not activated)
     1437
     1438 2003-01-27: Platon Fomichev <platon@innotek   >
     1439    - INCLUDE:  o Illegal calling convention specified for _System calling
     1440                  convention in headers for GCC. Bugs in ASM code for SetFS
     1441                  RestoreFS.
     1442    - NTDLL:    o In C++ files specify extern "C" for _System calling convention
     1443                  as well. Affected _DLL_InitTerm
     1444
     1445 2003-01-23: knut st. osmundsen <bird-odin-spam@anduin.net>
     1446    - TOOLS\COMMON, TOOLS\WRC\U:
     1447                o Define STATIC_CRT so wrapper headers doesn't kick in.
     1448
     1449 2003-01-23: Sander van Leeuwen <sandervl@innotek   >
     1450    - INCLUDE\*.mk:
     1451                o Don't use include\incl_vac for statically linked targets
     1452                  (e.g. tools)
     1453    - ODINCRT:  o Added wrappers for new & delete operators
     1454    - ODINPROF, IPLOG, OLE32\REGSVR32;
     1455                o Link with static CRT library
     1456    - MAKE\setup.mak:
     1457                o Only add include\incl_vac if not building an odin32 app
     1458
     1459 2003-01-23: Platon Fomichev <platon@innotek   >
     1460    - DOC:      o Added build instructions for GCC
     1461    - NTDLL:    o Made initntdll a C file to remove C++ GCC stuff for now
     1462                  and added RtlBitmap support from Wine.
     1463    - INCLUDE:  o Correced odinlx.h header - problem while compiling with
     1464                  C compiler.
     1465
     1466 2003-01-22: Sander van Leeuwen <sandervl@innotek   >
     1467    - ODINCRT:  o Renamed wrapper functions
     1468    - INCLUDE\incl_vac:
     1469                o Changed VAC headers to rename memory and file functions
     1470                  (those that change FS when called)
     1471    - MAKE, INCLUDE\*.mk:
     1472                o Add include\incl_vac first to include path (/I)
     1473    - KERNEL32: o Removed WriteLogError
     1474
     1475 2003-01-22: Platon Fomichev <platon@innotek   >
     1476    - NTDLL:    o Dll load/unload changes
     1477
     1478 2003-01-21: Sander van Leeuwen <sandervl@innotek   >
     1479    - DDRAW:    o Removed dependency on dive.dll. Load it on demand.
     1480    - USER32:   o Moved debug wrapper for DDE to dde.cpp
     1481
     1482 2003-01-19: Sander van Leeuwen <sandervl@innotek   >
     1483    - KERNEL32: o Only load LVM.DLL when we actually need it.
     1484                o CreateProcess bugfix for thread id if launched directly
     1485                o CreateFile returns ERROR_ALREADY_EXISTS if file not found
     1486                  and CREATE_NEW
     1487                o Check and correct process type in thread wrapper. WinCreateMsgQueue
     1488                  fails for non-PM apps. We set it to PM in the VIO loader, but
     1489                  apparently it can be changed back.
     1490
     1491 2003-01-18: Sander van Leeuwen <sandervl@innotek   >
     1492    - KERNEL32: o FindFirstFile must return ERROR_FILE_NOT_FOUND when
     1493                  the specified file or directory isn't present.
     1494                  (OS/2 returns ERROR_NO_MORE_FILES)
     1495
     1496 2003-01-16: Sander van Leeuwen <sandervl@innotek   >
     1497    - KERNEL32: o Fixed heap corruption in CreateProcess (with current dir)
     1498    - USER32:   o Only the combo bitmap header is wrong; the others are fine
     1499                  (regression from 2003-01-05)
     1500
     1501 2003-01-16: Platon Fomichev <platon@innotek   >
     1502    - NTDLL:    o Changes for building dll with GCC
     1503
     1504 2003-01-15: Platon Fomichev <platon@innotek   >
     1505    - MSVCRT:   o Updates
     1506    - VERSION:  o Don't use crtdll
     1507    - INCLUDE:  o Updates for GCC builds
     1508
     1509 2003-01-14: Sander van Leeuwen <sandervl@innotek   >
     1510    - WINMM:    o Delete all wave object on unload
     1511                o Fix linked list synchronization
     1512
     1513 2003-01-13: Sander van Leeuwen <sandervl@innotek   >
     1514    - KERNEL32: o Don't allocate selectors anymore. Allocate tiled memory
     1515                  and call Dos32FlatToSel.
     1516                o Get default stack size from PE header.
     1517                o Thread handles not closed properly.
     1518
     1519 2003-01-12: Sander van Leeuwen <sandervl@xs4all   >
     1520    - KERNEL32: o Ported QueryDosDeviceA/W from Rewind
     1521                  Return all valid drive letters in QueryDosDeviceA/W(NULL)
     1522                  Return full device name for drive letters
     1523                o Implemented IOCTL_SCSI_GET_CAPABILITIES
     1524                o Do not fail CDIO init if media not present
     1525
     1526 2003-01-10: Sander van Leeuwen <sandervl@innotek   >
     1527    - KERNEL32: o Don't close handle in CloseHandle if HANDLE_FLAG_PROTECT_FROM_CLOSE
     1528                  flag set.
     1529                o Implemented Set/GetHandleInformation
     1530                o CreateFile: create handles that are not inherited by child
     1531                              processes by default
     1532                              Only enable inheritance if specified in security struct
     1533                o Create(Named)Pipe: default = not inherited by child processes
     1534                                     Only enable inheritance if specified in security
     1535                                     struct.
     1536                o DuplicateHandle; set inheritance flag with SetHandleInformation
     1537                o CreateProcess: support for setting stdin/out/err handles
     1538                                 of child process
     1539                o PeekNamedPipe: - return ERROR_BROKEN_PIPE when used for unnamed
     1540                                   pipes (which is not allowed in OS/2)
     1541                                   (workaround)
     1542    - USER32:   o ScrollDC bugfix; must convert rectangle returned by GetClipBox
     1543                                   to device coordinates
     1544
     1545 2003-01-10: Platon Fomichev <platon@innotek   >
     1546    - MSVCRT:   o Updates
     1547    - CRTDLL:   o Wine port (forwarder dll to msvcrt)
     1548
     1549 2003-01-10: Herwig Bauernfeind <herwig.bauernfeind@aon   >
     1550    - ODINBUG:  o Updated to version 0.5.8
     1551
     1552 2003-01-08: Sander van Leeuwen <sandervl@innotek   >
     1553    - KERNEL32: o SetTimeZoneInformation: save info in registry:
     1554                  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
     1555                o GetTimeZoneInformation: read info from registery if present;
     1556                  otherwise call WGSS
     1557                o RegQueryValue(Ex)W: workaround to return bytes for strings
     1558                  must always be executed when lpcbData != NULL.
     1559
     1560 2003-01-07: Sander van Leeuwen <sandervl@innotek   >
     1561    - USER32:   o Convert color masks to b&w in CreateIconIndirect
     1562    - RICHED32: o Don't forward WM_NCCALCSIZE to Edit control or else the
     1563                  richedit parent's client area is resized. We already
     1564                  resize the Edit child in the WM_SIZE handler.
     1565                o Wrong call to ctordtorTerm; removed it and ctordtorInit
     1566                  since there's no C++ code in that dll anyway.
     1567    - ODININST: o Parse TZ environment variable and save timezone information
     1568                  to the registry. (default is CET if not found)
     1569
     1570 2003-01-06: Sander van Leeuwen <sandervl@innotek   >
     1571    - WSOCK32:  o Better method to cancel all async requests in WSACleanup
     1572    - USER32:   o Invalidate window when it's resized and SWP_NOCOPYBITS
     1573                  is specified.
     1574                o Fixed icon leak in IconForWindow method (call LoadImageA
     1575                  with LR_SHARED flag to reuse icons)
     1576
     1577 2003-01-06: Platon Fomichev <platon@innotek   >
     1578    - ConfigureGCC.cmd,
     1579      INCLUDE\win\msvcrt,
     1580      INCLUDE\emx makefiles
     1581      MSVCRT:
     1582                o Wine port of MSVCRT (build with GCC)
     1583
     1584 2003-01-05: Sander van Leeuwen <sandervl@innotek   >
     1585    - KERNEL32: o Added ODIN_SetDllLoadCallback; install a dll load hook
     1586                  that's called as soon as all exports are processed
     1587                  (so before any code is executed that can use the dll)
     1588                o Added ODIN_SetProcAddress; override a name or ordinal export
     1589    - USER32:   o Corrected wrong bitmap headers in resources
     1590                o Added workaround for handling black & white cursors
     1591
     1592 2002-01-05: Dietrich Teickner <Dietrich_Teickner@t-online   >
     1593    - USER32:   o Return MA_NOACTIVATE in listbox WM_MOUSEACTIVATE handler.
     1594                  (apparently not necessary anymore in Wine; so probably
     1595                   caused by something else)
     1596
     1597 2003-01-04: Sander van Leeuwen <sandervl@innotek   >
     1598    - USER32:   o Corrected drawing of menubar in OS/2 L&F mode (when highlighted)
     1599                o Fixed handling of single ALT to select menu
     1600                o Use different color for highlighted menus (OS/2 L&F)
     1601    - GDI32:    o Removed broken handling of TA_RIGHT in TextOut
     1602                o Flip bitmap in GetDIBits if height is negative
     1603                o Only return bitfield data in GetDIBits if compression set
     1604                  to BI_BITFIELDS (and lpvBits is not NULL)
     1605
     1606 2003-01-03: Sander van Leeuwen <sandervl@innotek   >
     1607    - USER32:   o Merged Rewind menu control
     1608                o Fixed GetSystemMetrics(SM_CXMENUCHECK); should be 13
     1609                o Always use windows system colors (even in OS/2 L&F mode)
     1610
     1611 2002-01-03: Dietrich Teickner <Dietrich_Teickner@t-online   >
     1612    - KERNEL32: o Convert timezone names in Set/GetTimeZoneInformation as
     1613                  WGSS expects/returns ascii strings instead of unicode.
     1614
     1615 2003-01-02: Sander van Leeuwen <sandervl@innotek   >
     1616    - KERNEL32: o Set the codepage of the message queue for each new thread
     1617                  that is created. (done for the main thread in user32)
     1618    - USER32:   o Fix for composite keyboard character translation
     1619                  (e.g. ^ on german keyboards)
     1620                o SystemParametersInfoA fix for SPI_GETNONCLIENTMETRICS in
     1621                  OS/2 L&F (font height must be negative)
     1622                o Deactivate window when hiding it to force PM to switch focus.
     1623                  (Note: might cause regressions!)
     1624                o Fixed behaviour of SetFocus(NULL); should return the current
     1625                  focus window.
     1626
     1627 2003-01-01: Sander van Leeuwen <sandervl@innotek   >
     1628    - USER32:   o Fixes for windows with an iconless class and WS_EX_DLGMODALFRAME
     1629                  style. (they shouldn't have a system menu)
     1630                  (either right after creation or when the app add this extended
     1631                   style later on)
     1632                o Remove minimize or maximize controls when the app requests it
     1633                  (OS/2 GUI mode)
     1634    - GDI32:    o Cleaned up SetDIBitsToDevice
     1635