The Wine development release 1.5.4 is now available.

What's new in this release (see below for details):
  - A new DirectSound resampler.
  - A Negotiate authentication provider.
  - OpenGL support in the DIB engine.
  - Beginnings of support for .NET mixed assemblies.
  - Support routines for Internationalized Domain Names.
  - Various bug fixes.

The source is available from the following locations:

  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.5.4.tar.bz2
  http://prdownloads.sourceforge.net/wine/wine-1.5.4.tar.bz2

Binary packages for various distributions will be available from:

  http://www.winehq.org/download

You will find documentation on http://www.winehq.org/documentation

You can also get the current source directly from the git
repository. Check http://www.winehq.org/git for details.

Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.

----------------------------------------------------------------

Bugs fixed in 1.5.4:

   5253  Starcraft/Diablo/Battle.net crashes from font metrics problem
   5703  SpartanDemo crashes
   6775  Sony CD Architect 5.2 crashes on startup (msxml domdoc_createTextNode should access/treat input BSTR data as wide-character string)
   9665  Kings Quest 8 "Mask of eternity" crashes at startup
  12623  yBook: doesn't display page textures
  14717  resampled sound is horrible
  15508  Risk II crash while loading the game
  17306  GTA2 Menu Discoloured and Unresponsive
  17443  Launchpad Enhanced gets stuck in a loop trying to download updates
  17631  LiteStep 0.3 refuses to install due to failing VC++ runtime detection in WinSxS (needs sxs.dll IAssemblyCache::QueryAssemblyInfo implementation)
  17826  NotePad++ search in files
  18130  VB APPS: Using edit controls context menu crashes application.
  18223  Grim Fandango: unable to install
  18231  Adobe Acrobat 7, 8 installers fail due to spooler service being disabled by default
  18620  Braid puzzle problem
  19643  Mankind: Page fault on program start
  20220  Missing windowscodecs.dll.WICCreateImagingFactory_Proxy causes failure for many .NET 3.x/4.x (WPF) based installers/apps
  21128  Envisioneer 4.5 Express Setup fails to write various data files under Application Data for the "Public" user
  21616  Winamp uses 100% of CPU
  21939  Several apps/games need "WMVCore.dll"
  22060  regedit crashes when a long length key is renamed or deleted
  22181  3D Maze screensaver doesn't work if fullscreen is enabled
  22611  WriteWay crashes at startup saying "ActiveX component can't create object" and outputting OLE errors in terminal
  22796  PopCap games installers crash with WinVer >= Vista (shell32 SHGetKnownFolderIDList stub needed)
  23928  Missing clickable items in Monopoly Tycoon demo
  24625  RSA SecurID Soft Token generator fails to start in 64 bit Ubuntu
  24907  Can't write '<' character in firefox portable
  25000  D-Link EMS requires "wsnmp32.dll"
  25261  AutoCAD 2009 LT: Running AcDelTree.exe crashes
  25672  Microsoft Office Word Viewer 2003 crashes downloading compatibility pack
  25777  TurningPointAnyWhere24.exe fails to run (needs "HKCU\\Control Panel\\Mouse" registry key present)
  25980  Duty Calls needs msvcm90.dll (purist) (support for mixed-mode assemblies, containing native and managed code)
  26311  Sid Meier's Railroads needs d3dx9_36.dll.D3DXOptimizeFaces
  26709  When moving a Poser window the window is not released after move action
  26985  1by1 Player version 1.74 freezes under normal use
  27192  Regedit - import failure if reg-file contains ';'
  27262  Google Chrome: videos show in all tabs (dogfood)
  27603  Total Overdose: audio issues with 'Diesel Power 3D' sound system
  27749  Still Life 2 runs without audio
  27808  Celtic Kings crashes on launch (audio related)
  27958  Powerpoint 2010 freezes on animations/transitions/slideshows
  28061  Can't connect to Bancho osu! online services (multiplayer,scores,chat...)
  28336  MorphVox Pro fails to install
  28468  wine chromium browser should not display a Linux native window title bar
  29043  Performing searches in CHM files lead to a crash
  29344  Multiple apps need Scripting.FileSystemObject implementation (Microsoft Scripting Runtime)
  29497  Alonix only plays every other sound effect in menus
  29870  unknown application: parse_script parser failed on parsing
  30134  Wine on ARM: .init/.text sections passed to assembler need directives to allow for mixed/pure arm32/thumb2 builds (.init section thumb2 libc ctors vs. Wine arm32 ctor)
  30137  Depth Hunter unable to take photos without native d3dx9_36 (D3DXSaveSurfaceToFileA not implemented)
  30284  Mathematica 6.0 installer fails, reports error 0x80020006 (missing support for IShellDispatch2::IsServiceRunning)
  30294  Crash in notepad when loading big text file
  30372  UT3 audio echo w/ in-game sound (video sound works normally)
  30513  Microsoft Office Communicator 2007 R2 Trial crashes in CDATA event handling while parsing rule XML from resource file
  30531  Microsoft SQL Server Management Studio Express 2005: OLEPicture fails to set hotspot coordinates for hand cursor
  30536  Avanquest PDF Experte Ultimate 7.0.x installer crashes with stack overflow (hot patching issue)
  30543  Multiple apps crash/terminate because K32GetModuleFileNameExW overflows supplied buffer
  30558  Multiple app installers fail on missing Session.FeatureRequestState property
  30563  WinBuilder v082: Error "Invalid floating point operation." occuring when running application.
  30566  .NET 4.5 (beta) installer: native assembly generation fails due to unimplemented function KERNEL32.dll.FlushProcessWriteBuffers
  30568  numeric keypad's period (decimal point) does not work
  30571  Office 2000 installation error at ODBC-driver installation
  30573  Give kernel32.GlobalMemoryStatus(Ex) own/separate debug channel, different from +heap (ntdll)
  30574  Installation of MS Office 2010, some service doesn't start
  30575  Silence FIXME from FlushProcessWriteBuffers stub to prevent console spam (.NET Framework/SDK installers)
  30604  Ultra Fractal 5 hangs when selecting an item in the file browser
  30606  Theatre of War 3 Korea installer crashes when clicking on Exit (audio related)
  30614  Builtin richedit extremely slow at appending text when window is hidden
  30626  Abbyy fine reader 11 needs rpcrt4.dll.RpcServerInqDefaultPrincNameW
  30631  Steam client crashes on exit

----------------------------------------------------------------

Changes since 1.5.3:

Akihiro Sagawa (2):
      po: Update Japanese translation.
      po: Refine Japanese translation to aid understanding.

Alexander E. Patrakov (5):
      dsound: Clean up MixToTemporary().
      dsound: Replace convert() functions with get() and put().
      dsound: Clean up cp_fields.
      dsound: Clean up channels.
      dsound: Added a windowed-sinc resampler.

Alexandre Julliard (39):
      kernel32: Fix buffer overflows in K32GetModuleFileNameExA/W.
      gdi32: Add support for clipping source coordinates to the DC device rectangle.
      gdi32: Always pass the actual coordinates to the get_pixel_ptr functions.
      gdi32: Support drawing to a visible rectangle smaller than the whole bitmap in the DIB engine.
      kernel32: Fix another overflow in GetModuleFileNameExW.
      gdiplus: CreateDIBSection doesn't need a DC for the DIB_RGB_COLORS case.
      gphoto2.ds: CreateDIBSection doesn't need a DC for the DIB_RGB_COLORS case.
      wined3d: CreateDIBSection doesn't need a DC for the DIB_RGB_COLORS case.
      wing32: Use the correct constant names for CreateDIBSection.
      wininet/tests: Add some optional COOKIE_SENT messages in various places.
      iphlpapi/tests: Avoid test failures when IPv6 is not supported.
      wininet/tests: Add more optional COOKIE_SENT messages.
      urlmon/tests: Fix a test failure on COOKIE_SENT status.
      urlmon/tests: Allow multiple COOKIE_SENT notifications, and trace received progress messages.
      winex11: Remove support for the no longer used GET_GLX_DRAWABLE escape.
      winex11: Remove obsolete escapes.
      winex11: Update the pixel format through the DCE hook for window DCs to avoid races.
      winex11: Always store the GL drawable in the device context.
      winex11: Remove redundant code in ChoosePixelFormat.
      msi/tests: Skip MsiEnumProductsEx tests if not supported.
      wininet/tests: Add even more optional COOKIE_SENT messages.
      urlmon/tests: Allow more COOKIE_SENT notifications.
      winex11: Give XInitThreads yet another chance.
      winex11: Define an enum to manage the various types of GL device contexts.
      winex11: Use a standard Wine list for the OpenGL context list.
      urlmon/tests: Allow some more optional progress notifications.
      gdi32: Add a priority mechanism for pushing drivers on the stack in a defined order.
      gdi32: Allow a driver to implement SelectBitmap but not CreateBitmap.
      winex11: Add an OpenGL GDI driver.
      winex11: Implement wglGetPbufferDCARB with a DC escape and remove it from the GDI driver interface.
      winex11: Store the GL-specific information in the GL driver physdev.
      ieframe/tests: Mark a failing test as broken.
      wine.inf: Unify all the control panel settings.
      winex11: Add support for OpenGL rendering in DIBs using an intermediate pixmap.
      winex11: Use an intermediate pixmap also for DDBs to handle format mismatches.
      gdi32: Pass OpenGL calls through to the display driver from the DIB engine.
      opengl32/tests: Add some more tests for bitmap rendering.
      wininet/tests: Mark a failing test as broken.
      kernel32/tests: Remove a couple of invalid tests.

Andrew Eikum (5):
      dsound: Convert from fixed to floating point.
      dsound: Don't derive the secondary position from the primary position.
      winmm: Close open wave devices upon process detach.
      dsound: Don't destroy primary buffer until device is released.
      winmm: Don't call MMDevAPI during process exit.

André Hentschel (19):
      ntdll: Correctly handle Thumb exceptions on ARM.
      winebuild: Expect a Thumb mode toolchain on ARM.
      configure: Check for Thumb2 on ARM and compile always in ARM mode.
      libwine: Always use Thumb instructions on ARM.
      rpcrt4: Avoid shadowing pProcHeader.
      wine.inf: Start the spool service when needed.
      winapi: Remove ALPHA from the architecture list.
      iphlpapi/tests: Add simple tests for the Get*StatisticsEx functions.
      d3drm: Implement IDirect3DRMFrameX_AddVisual.
      d3drm: Implement IDirect3DRMFrameX_DeleteVisual.
      d3drm/tests: Add tests for handling Visuals.
      winedbg: Complete the Thumb disassembler.
      d3drm: Add IDirect3DRMLight interface.
      d3drm: Implement IDirect3DRMFrameX_AddLight.
      d3drm: Implement IDirect3DRMFrameX_DeleteLight.
      d3drm/tests: Add tests for handling lights.
      winspool.drv: Support printer info level 8.
      winspool.drv: Also convert printer info for level 8.
      winspool: Implement SetPrinterW for level 2.

Aric Stewart (2):
      strmbase: Implement BasicAudio.
      quartz: Have DSoundRenderer use strmbase BasicAudio.

Aurimas Fišeras (1):
      po: Update Lithuanian translation.

Austin English (7):
      user32: Make a few more functions hotpatchable.
      shell32: Add a stub SHGetKnownFolderIDList.
      kernel32: Add a stub for FlushProcessWriteBuffers.
      kernel32: Move GlobalMemoryStatus(Ex) to a different debug channel.
      kernel32: Only print a fixme once for FlushProcessWriteBuffers.
      wmvcore: Add a stub dll.
      wine.inf: Add HKCU\Control Panel\Mouse\Beep key.

Christian Costa (26):
      dmsynth: COM cleanup of IDirectMusicSynth8. Rename parameters.
      dmsynth: Add some clock tests.
      dmsynth: COM cleanup of IDirectMusicSynthSink and rename parameters.
      dmusic: Add tests to enumerate master clocks.
      dmusic: COM cleanup of IDirectMusic8.
      dmusic: Implement IDirectMusic8Impl_EnumMasterClock.
      dmusic: Check errors in IDirectMusic8Impl_Activate and remove FIXME.
      include: Add definition of IKsControl interface in dmksctrl.h.
      amstream: Add checks to GetFormat.
      amstream: Add the corresponding pin to every media stream added to the media stream filter + add tests.
      d3drm: Implement IDirect3DRMFrameX_GetParent and update tests.
      d3drm: Implement IDirect3DRMFrameX_GetChildren method and IDirect3DRMFrameArray interface.
      dmusic: Midi message takes 4 bytes space but only 3 are relevant.
      dmusic: COM cleanup of IDirectMusicInstrument and get rid of separated IUnknown interface.
      dmsynth: Create default clock for SynthSink object and assign it to Synth object when callink SetSynthSink.
      dmsynth: Add tests for querying IKsControl for Synth and SynthSink objects.
      dmsynth: Add stubbed IKsControl interface to DirectMusicSynth object.
      dmsynth: Add stubbed IKsControl interface to DirectMusicSynthSink object.
      dmusic: Simplify ParseDescriptor by checking DLS header first and exit if it is wrong.
      d3drm: Implement IDirect3DRMFrameX_GetTransform.
      d3drm/tests: Fix error message.
      d3drm: Move some unsafe_impl_from_* call to where variables are declared.
      dmsynth: Display new ref in trace for AddRef and Release.
      dmsynth: Cleanup QueryInterface methods.
      dmusic: Variable spelling fix.
      dmusic: Display new ref in trace for AddRef and Release for IDirectMusicInstrument.

Dan Kegel (1):
      riched20: Don't need to redraw when changing selection from none to none.

Daniel Jelinski (1):
      oleaut32: Added support for loading cursors in OLEPicture.

Detlef Riekenberg (1):
      devenum: Remove tabs and duplicate newlines from TRACE.

Dmitry Timoshkov (10):
      gdiplus: Add more traces to font APIs.
      winex11.drv: Use XK_KP_Decimal as a fallback if XK_KP_Separator doesn't work.
      gdi32: Add a test for ntmCellHeight calculation.
      gdiplus: Derive GpFont from GpFontFamily.
      gdi32: Set tmDigitizedAspectX/Y to 96 instead of 300 for consistency.
      gdiplus: Retrieve LOGFONT from a GpFont using GdipGetLogFontW instead of accessing it directly.
      gdiplus: Use appropriate accessors to calculate font height instead of accessing GpFont internals directly.
      gdiplus: Use OUTLINETEXTMETRIC instead of LOGFONT to store GpFont metrics.
      gdiplus: Fetch font family metrics from truetype font data.
      gdiplus: Add a bunch of tests for internal font metrics.

Dylan Smith (2):
      richedit: Remove always FALSE parameter from ME_PaintContent.
      richedit: Avoid scanning all text for paragraphs to invalidate.

Eric Pouech (2):
      winedbg: Fix printing of fp registers for x86_64 CPU.
      winegcc: Try harder to find out whether the compiler is from gcc family.

Erich Hoover (5):
      ws2_32/tests: AcceptEx IOCP initialization cleanup.
      ws2_32/tests: Test for AcceptEx IOCP behavior for cancelled sockets.
      ws2_32/tests: Test for AcceptEx IOCP behavior for a duplicated handle.
      ws2_32/tests: Test for IOCP behavior without AcceptEx call.
      ws2_32/tests: Fix cleanup for first IOCP duplicated handle test.

Francois Gouget (10):
      iphlpapi/tests: Fix compilation on systems that don't support nameless unions.
      msi: Tweak msiexec's usage message.
      kernel32: Some English (United States) spelling fixes.
      po: English (neutral / Great Britain) spelling fixes.
      wldap32: An English (United States) spelling fix.
      comdlg32: An English (United States) spelling fix.
      regedit: An English (United States) spelling fix.
      d3dx9_36/tests: Add a trailing '\n' to an ok() call.
      strmbase: The strmbase debug channel is unused in a couple of files so remove it.
      mscoree: Make assembly_rva_to_va() and parse_headers() static.

Frédéric Delanoy (2):
      po: Update French translation.
      po: Update French translation.

Hans Leidekker (19):
      fusion: CreateAssemblyNameObject is no longer a stub.
      fusion: Add locking around operations on the assembly cache.
      sxs: Add some helper functions.
      sxs: Implement IAssemblyCache::UninstallAssembly.
      sxs: Add locking around operations on the assembly cache.
      msi: Add support for uninstalling global assemblies.
      msi: Remove a workaround for missing Windows Script interfaces.
      msi: Add the Session object as a global member to custom action scripts.
      msi: Fix a couple of DispGetParam calls.
      msi: Resolve the target path for the ODBC driver file if necessary.
      advapi32: Return a fake handle from EventRegister.
      advapi32: Add stub implementations of EventUnregister and EventWrite.
      rpcrt4: Add a stub implementation of RpcServerInqDefaultPrincNameA/W.
      secur32: Fix potential leaks of the NTLM session key.
      secur32: Remove some unused variables.
      secur32: Update NTLM capabilities to match native.
      secur32: Add an option to disable use of cached Samba credentials.
      secur32: Implement a Negotiate provider that forwards to NTLM.
      secur32/tests: Add tests for the Negotiate provider.

Henri Verbeet (25):
      d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetIndices().
      d3d9: Properly retrieve an interface pointer in IDirect3DDevice9Impl_GetStreamSource().
      d3d9: Properly retrieve an interface pointer in d3d9_texture_2d_GetSurfaceLevel().
      d3dx9: Use proper size types in D3DXLoadSurfaceFromMemory().
      d3dx9: Add a FIXME for unsupported filter types to D3DXLoadSurfaceFromMemory().
      d3d9: Properly retrieve an interface pointer in d3d9_texture_2d_LockRect().
      d3d9: Properly retrieve an interface pointer in d3d9_texture_2d_UnlockRect().
      d3d9: Properly retrieve an interface pointer in d3d9_texture_cube_GetCubeMapSurface().
      d3dx9: Cleanup parameter names for D3DXLoadSurfaceFromMemory().
      wined3d: Keep track of "all_vbo" in the stream info structure.
      d3d9: Properly retrieve an interface pointer in d3d9_texture_cube_LockRect().
      d3d9: Properly retrieve an interface pointer in d3d9_texture_cube_UnlockRect().
      d3d9: Properly retrieve an interface pointer in d3d9_texture_3d_GetVolumeLevel().
      wined3d: Figure out the index size inside drawPrimitive().
      wined3d: Figure out the index data pointer inside drawPrimitive().
      d3d9: Properly retrieve an interface pointer in d3d9_texture_3d_LockBox().
      d3d9: Properly retrieve an interface pointer in d3d9_texture_3d_UnlockBox().
      ddraw: Get rid of the flag_info typedef.
      wined3d: The wined3d object doesn't need a parent.
      wined3d: Determine index buffer location based on vertex buffer locations.
      ddraw: Get rid of the member_info typedef.
      d3d8: Add a separate function for d3d8 initialization.
      d3d8: Get rid of IDirect3D8Impl.
      wined3d: Use the wined3d_matrix structure for the identity matrix.
      wined3d: Properly check for transformed position in buffer_check_attribute().

Hwang YunSong (1):
      po: Update Korean translation.

Jacek Caban (31):
      oleaut32: Added BSTR cache implementation.
      wininet: Use hostname stored in server_t in NETCON_secure_connect.
      jscript: Added support for VT_I2 in disp_propget.
      jscript: Added support for VT_I2 in disp_call.
      jscript: Added support for VT_I2 in invoke_prop_func.
      jscript: Added VT_I2 tests.
      oleaut32: SysStringLen code clean up.
      oleaut32: SysStringByteLen code clean up.
      mshtml.idl: Added DispHTMLHistory declaration.
      mshtml: Added IHTMLWindow2::get_history implementation.
      oleaut32: Use a struct for internal BSTR representation to avoid pointer magic.
      oleaut32: Added warn+heap support for cached BSTRs.
      jscript: Properly test if double may be converted to int32.
      jscript: Better handling of to_integer result in Array.splice.
      jscript: Better handling of to_integer result in String.charAt.
      jscript: Better handling of to_integer result in String.charCodeAt.
      jscript: Bettter handling of to_number result in String.indexOf.
      jscript: Better handling of to_integer result in String.lastIndexOf.
      jscript: Better handling of to_integer result in String.slice.
      jscript: Better handling of to_integer result in String.substring.
      jscript: Better handling of to_integer in String.substr.
      jscript: Return double from to_integer.
      wininet: Clean up HTTP_QUERY_STATUS_CODE tests.
      wininet: Store status code in http_request_t and use it in set_content_length.
      wininet: Use stored status code in HTTP_HttpSendRequestW.
      wininet: Use stored status code in HTTP_HttpEndRequestW.
      wininet: Added special case for HTTP_QUERY_STATUS_CODE in HttpQueryInfo.
      wininet: Set status code OK for responses without headers.
      jscript: Skip failing tests on old jscript versions.
      jscript: Added support for VT_INT.
      mshtml: Fixed tests on old IEs.

Jeff Muizelaar (1):
      gdi32: Improve performance of common case of AlphaBlend.

Julian Rüger (1):
      po: Update German translation.

Józef Kucia (11):
      d3dx9: Add partial DDS support implementation for D3DXGetImageInfo functions.
      d3dx9: Implement conversion from DDS pixel format to D3DFORMAT.
      ddraw: Correct wrong comment in ddraw.h.
      d3dx9: Implement mapping from WICPixelFormat GUIDs to D3DFORMATs.
      d3dx9: Forward D3DXSaveSurfaceToFileA to D3DXSaveSurfaceToFileW.
      d3dx9: Implement D3DXSaveSurfaceToFileW.
      d3dx9: Implement the pixel format conversion in D3DXSaveSurfaceToFileW.
      d3dx9/tests: Add tests for D3DXSaveSurfaceToFile.
      d3dx9/tests: Use consistent naming for DDS defines.
      d3dx9: Print a real pixel format in a FIXME message.
      d3dx9/tests: Move tests for texture functions from surface.c to texture.c.

Lauri Kenttä (2):
      po: Update Finnish translation.
      po: Update Swedish translation.

Matteo Bruni (4):
      d3dcompiler: Remove shader_type typedef.
      d3dcompiler: Make set_parse_status() more general.
      d3dcompiler: Generalize message reporting function.
      d3dcompiler: Rename asm_alloc/realloc/free functions to more generic names.

Michael Mc Donnell (2):
      d3dx9: Added D3DXOptimizeFaces semi-stub.
      d3dx9: Added D3DXOptimizeFaces test.

Michael Stefaniuc (1):
      strmbase: Print the debug string and not the pointer to it.

Nikolay Sivov (9):
      msxml3: Use dispex support for IDispatch implementation of process instruction node.
      msxml3: Test for attribute value normalization.
      shell32: Added a stub for IShellDispatch2.
      msxml3: Make ::put_data() use passed BSTR as general WCHAR buffer.
      shell32: Implement IShellDispatch2::IsServiceRunning().
      msxml3: Protect content callbacks from being called on reset content handler pointer.
      msxml3: Add a helper to check that lexical handler is set.
      msxml3/tests: Correct variant type.
      msxml3/tests: Really test load() on files with leading spaces.

Piotr Caban (7):
      kernel32: Support multiple labels in IdnToNameprepUnicode.
      kernel32: Added IdnToAscii implementation.
      kernel32/tests: Added IdnToAscii tests.
      kernel32: Added IdnToUnicode implementation.
      kernel32/tests: Added IdnToUnicode tests.
      comctl32: LVM_SETITEMTEXT is not supported on LVS_OWNERDATA.
      comctl32: Make icons not overlapping in LVS_ICON mode.

Stefan Leichter (1):
      wsnmp32: New stub dll.

Thomas Faber (3):
      jscript: Add missing port.h include for isnan.
      msvcrt: Fix malloc_func_t/free_func_t calling convention.
      rpcrt4/tests: Fix build with PSDK headers.

Vincent Povirk (20):
      mscoree: Detect when a CLR DLL requests vtable fixups.
      mscoree: Use the main HMODULE in _CorExeMain instead of loading a new exe.
      mscoree: Change _CorDllMain fixme to a trace.
      winebuild: Allow angle brackets in export names.
      msvcm80: Add stub dll.
      msvcm80: Add stub DoDllLanguageSupportValidation function.
      msvcm80: Add stub RegisterModuleUninitializer function.
      msvcm80: Add __setusermatherr_m stub.
      msvcm90: Add new dll based on msvcm80.
      windowscodecs: Implement WICCreateImagingFactory_Proxy.
      windowscodecs: Add wrapper functions for IWICImagingFactory methods.
      windowscodecs: Add wrapper functions for IWICFastMetadataEncoder.
      windowscodecs: Add wrapper for IWICColorContext_InitializeFromMemory.
      windowscodecs: Add wrapper functions for IWICBitmapSource methods.
      mscoree: Implement vtable fixups.
      windowscodecs: Add wrapper functions for IWICBitmapLock methods.
      windowscodecs: Add wrapper for IWICBitmapFlipRotator_Initialize.
      windowscodecs: Add wrapper functions for IWICBitmap methods.
      windowscodecs: Add wrapper functions for IWICPalette methods.
      windowscodecs: Add wrapper functions for IWICComponentInfo methods.

--
Alexandre Julliard
julliard@winehq.org
