The Wine development release 1.3.14 is now available.

What's new in this release (see below for details):
  - Many cleanups to address Valgrind and Clang warnings.
  - Support for creating compressed cabinet files.
  - Translation updates.
  - Various bug fixes.

The source is available from the following locations:

  http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.3.14.tar.bz2
  http://prdownloads.sourceforge.net/wine/wine-1.3.14.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.3.14:

  10140  Most grayscale JPEGs cause abnormal rendering artifacts in CDisplay
  11021  Unable to launch Universal Combat
  11124  VAZ Modular Demo unable to exit raising access violation exception
  11242  Deprecated functions called in audiounit.c
  12303  Halo has white boxes covering menu items when it loads the first screen.
  13629  ABEV (Hungarian Tax Returning SW) has some GFX problem with logo
  14282  Eve Online in windowed mode has additional black borders
  15686  Microsoft Word 5.5 for DOS does not install; int 21h ah=41h not fully implemented
  16695  Wine broken on PowerPC
  17884  Tree glitch in fable
  19202  eve online 100% cpu usage (frame rate limiter is not limiting anything)
  21517  Sims 3 crashes to desktop when entering Create-A-Sim or buying a house
  23267  Eudora 7.1.0.9: White space appears below the Search Web dropdown
  25206  Anarchy Online v18.4, Ingame browser crashes (Awesomium.dll)
  25865  EVE Online crashes if a character portrait requests fails
  25911  Miranda + windows riched20.dll = crash
  25933  SolidWorks 2010: Unimplemented function propsys.dll.PSRefreshPropertySchema
  25951  Mathematica 6.0 installation fails
  25989  Total Commander: Crashes when clicking the current directory field of the current panel
  25991  DameWare Exporter: Unimplemented function netapi32.dll.NetUseDel
  26014  Printing produces garbled output, characters rotated and sliced.
  26036  [foobar2000 1.x] crash when opening certain dialog box
  26051  wintrust/softpub tests show a few leaks under valgrind
  26052  usp10/usp10 tests show a few valgrind errors
  26071  urlmon/uri tests show some valgrind warnings
  26123  mshtml/protocol shows several leaks under valgrind

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

Changes since 1.3.13:

Akihiro Sagawa (2):
      wmc: Update PO message match algorithm.
      po: Update Japanese translation.

Alexander Kochetkov (2):
      comctl32: Fixed height of comboboxex32.
      wineps.drv: All map modes should have inverted y-transforms.

Alexander Lakhin (5):
      po: Update Russian translation.
      cryptui: Add Russian translation resources.
      inetcpl.cpl: Add Russian translation resources.
      shdocvw: Add Russian translation resources.
      regedit: Update Russian translation.

Alexander Morozov (2):
      shell32: Implement Folder2::get_Self.
      shell32: Partially implement FolderItem::get_Path.

Alexander Scott-Johns (2):
      comctl32: Fix read of uninitialized data in LISTVIEW_HeaderNotification and rename it to LISTVIEW_Notify (Valgrind).
      user32: Fix read of uninitialized data and a couple of typos in TrackMouseEvent (Valgrind).

Alexandre Julliard (16):
      cabarc: Add support for specifying a maximum cabinet file.
      cabarc: Add support for starting a new folder with a '+' file name.
      cabinet: Store folders in a list in memory instead of in a temp file.
      cabinet: Store files in a list in memory instead of in a temp file.
      cabinet: Add helper functions for temp file manipulations.
      cabinet: Store the CCAB data as soon as it is available.
      cabinet: Rewrite the cabinet header output code, and write everything to disk in one step.
      cabinet: Store the data block headers in a memory list instead of on-disk.
      msvcr90/tests: Fix the type info test for 64-bit.
      kernel32: Don't try to initialize curses if the TERM variable is not set.
      cabinet: Create one temp file per folder and avoid an extra copy of the data.
      cabinet: Cleanup file loading and add infrastructure for plugging in real compression.
      cabinet: Create temp files only once we have data to store into them.
      cabinet: Add support for MSZIP compression.
      cabinet: Avoid some memory allocations by storing buffers directly in the FCI structure.
      configure: Print a notice if zlib isn't found.

Alistair Leslie-Hughes (6):
      mshtml: Implement IHTMLStyle put_borderRightColor.
      mshtml: Implemented IHTMLStyle_put_borderBottomColor.
      mshtml: Implement IHTMLStyle_put_borderLeftColor.
      mshtml: Implement IHTMLCurrentStyle_get_padding.
      mshtml: Implement IHTMLAnchorElement_put_href.
      msxml3: Add IObjectWithSite support to IXMLHttpRequest.

Amine Khaldi (1):
      riched20: Fix a c89 conformance issue in ITextImpl->editor->rcFormat initialization.

Andrew Nguyen (12):
      dxdiagn: Make the containers keep a reference to a IDxDiagProvider object.
      dxdiagn: Add code that introduces the infrastructure of a provider information tree.
      dxdiagn: Add code that populates the DxDiag_SystemInfo container.
      dxdiagn: Add code that populates the DxDiag_DisplayDevices container.
      dxdiagn: Add code to create stub containers for DxDiag_DirectSound.
      dxdiagn: Add code that populates the DxDiag_DirectXFiles container.
      dxdiagn: Add code that populates the DxDiag_DirectShowFilters container.
      dxdiagn: Remove the old container initialization code in preparation for switching to the information tree.
      dxdiagn: Transition to the information tree by making IDxDiagContainer view the information tree.
      dxdiagn: Restore a few traces in the container construction functions.
      usp10/tests: Avoid passing optional pointers to uninitialized structures in ScriptString tests.
      propsys: Add a PSRefreshPropertySchema stub.

André Hentschel (12):
      ntdll: Only use ST_FIX_ALIGN on solaris.
      netapi32: Add stub implementation for NetUseDel.
      netapi32: Add stub implementation for NetServerDiskEnum.
      oleaut32/tests: Add more safearray tests.
      msvcrt: Fixed a typo.
      oleaut32: Remove an unneeded error.
      winemaker: Ignore whitespaces before defines.
      urlmon/tests: Mark unavailable InternetZoneManagerEx2 as broken.
      urlmon/tests: Fix expected result.
      rsaenh/tests: Test the reported length on success.
      kernel32: Remove a useless error message.
      kernel32: Forward RtlCompareMemory to ntdll on x86_64.

Austin English (141):
      advapi32/tests: Make sure to use return value (LLVM/Clang).
      comcat/tests: Make sure to use return value (LLVM/Clang).
      dinput/tests: Make sure to use return value (LLVM/Clang).
      credui/tests: Make sure to use return value (LLVM/Clang).
      crypt32/tests: Make sure to use return value (LLVM/Clang).
      cryptnet/tests: Make sure to use return value (LLVM/Clang).
      comctl32/tests: Make sure to use return value (LLVM/Clang).
      gdi32/tests: Make sure to use return value (LLVM/Clang).
      explorerframe/tests: Don't assign values to variables that are never checked (LLVM/Clang).
      kernel32/tests: Remove unused assignment (LLVM/Clang).
      ole32/tests: Remove unused assignment (LLVM/Clang).
      rsaenh/tests: Make sure to use return values (LLVM/Clang).
      shdocvw/tests: Make sure to use return value (LLVM/Clang).
      usp10/tests: Make sure to use return value (LLVM/Clang).
      wininet/tests: Make sure to use return value (LLVM/Clang).
      winspool.drv: Make sure to use return values (LLVM/Clang).
      gdiplus/tests: Make sure to use return values (LLVM/Clang).
      avifil32/tests: Remove useless variable assignments (LLVM/Clang).
      d3dx9_36/tests: Remove unused variable assignments (LLVM/Clang).
      ddraw: Fix unused variable warnings (LLVM/Clang).
      dsound/tests: Make sure to use return values (LLVM/Clang).
      fusion/tests: Make sure to use return values (LLVM/Clang).
      msvcrt/tests: Make sure return values are used (LLVM/Clang).
      oleaut32/tests: Make sure return values are used (LLVM/Clang).
      ntdll/tests: Make sure return values are used (LLVM/Clang).
      localspl/tests: Make sure return values are used (LLVM/Clang).
      inetcomm/tests: Make sure to use return values (LLVM/Clang).
      mmdevapi/tests: Make sure return value is used (LLVM/Clang).
      mstask/tests: Make sure return values are used (LLVM/Clang).
      mlang/tests: Remove unused assignment (LLVM/Clang).
      mshtml/tests: Make sure return value is used (LLVM/Clang).
      msxml3/tests: Remove unneeded assignment (LLVM/Clang).
      hlink/tests: Don't check results in disabled tests (LLVM/Clang).
      qmgr/tests: Make sure return values are used (LLVM/Clang).
      cryptui/tests: Remove a dead assignment (LLVM/Clang).
      dplayx/tests: Make sure to use return values (LLVM/Clang).
      msi/tests: Make sure to use return values (LLVM/Clang).
      localui/tests: Make sure to use return values (LLVM/Clang).
      riched20/tests: Make sure return value is used (LLVM/Clang).
      rpcrt4/tests: Make sure return values are used (LLVM/Clang).
      shlwapi/tests: Don't check return values inside of if(0) (LLVM/Clang).
      version/tests: Make sure return values are used (LLVM/Clang).
      user32/tests: Remove unneeded assignment (LLVM/Clang).
      ws2_32/tests: Remove unneeded assignments (LLVM/Clang).
      xmllite/tests: Don't check test results inside if(0) (LLVM/Clang).
      windowscodecs/tests: Make sure returns values are used (LLVM/Clang).
      kernel32/tests: Make sure to use return values (LLVM/Clang).
      advapi32/tests: Remove useless assignments (LLVM/Clang).
      crypt32/tests: Make sure to use return values (LLVM/Clang).
      gdiplus/tests: Make sure to use return values (LLVM/Clang).
      shell32/tests: Don't check return values inside of if(0) (LLVM/Clang).
      secur32/tests: Make sure a return value is used (LLVM/Clang).
      winhttp/tests: Make sure a return value is used (LLVM/Clang).
      mmdevapi/tests: Make sure return values are used (LLVM/Clang).
      gdi32/tests: Make sure to use return value (LLVM/Clang).
      mshtml/tests: Make sure return values are used (LLVM/Clang).
      urlmon/tests: Make sure return values are used (LLVM/Clang).
      d3dx9_36: Make sure return values are used (LLVM/Clang).
      msi/tests: Make sure to use return values (LLVM/Clang).
      msvcrt/tests: Remove useless assignment (LLVM/Clang).
      crypt32/tests: Make sure to use return values (LLVM/Clang).
      kernel32/tests: Don't check return values inside of if(0) (LLVM/Clang).
      gdi32/tests: Make sure to use return values (LLVM/Clang).
      gdiplus/tests: Make sure to use return values (LLVM/Clang).
      dsound/tests: Make sure to use a return value (LLVM/Clang).
      ole32/tests: Make sure to use return values (LLVM/Clang).
      shlwapi/tests: Don't check return values inside of if(0) (LLVM/Clang).
      user32/tests: Remove some dead assignments (LLVM/Clang).
      gdiplus/tests: Make sure to use return values (LLVM/Clang).
      gdiplus/tests: Remove redundant assignments (LLVM/Clang).
      ntdll/tests: Make sure return value is used (LLVM/Clang).
      mshtml/tests: Make sure return value is used (LLVM/Clang).
      secur32/tests: Don't check return values inside of if(0) (LLVM/Clang).
      oleaut32/tests: Make sure return value is used (LLVM/Clang).
      shdocvw/tests: Don't check return values inside of if(0) (LLVM/Clang).
      msvcr90/tests: Don't check return values inside of if(0) (LLVM/Clang).
      msxml3/tests: Make sure return value is used (LLVM/Clang).
      crypt32/tests: Make sure to use return values (LLVM/Clang).
      crypt32/tests: Make sure to use a return value (LLVM/Clang).
      crypt32/tests: Don't check return values inside of if(0) (LLVM/Clang).
      crypt32/tests: Make sure to use return values (LLVM/Clang).
      crypt32/tests: Make sure to use a return value (LLVM/Clang).
      msi/tests: Don't check return values inside of if(0) (LLVM/Clang).
      msi/tests: Make sure to use a return value (LLVM/Clang).
      kernel32/tests: Don't check return values inside of if(0) (LLVM/Clang).
      kernel32/tests: Don't check return values inside of if(0) (LLVM/Clang).
      kernel32/tests: Make sure to use return values (LLVM/Clang).
      secur32/tests: Make sure return values are used (LLVM/Clang).
      shlwapi/tests: Remove useless assignments (LLVM/Clang).
      ntdll/tests: Make sure a return value is used (LLVM/Clang).
      shell32/tests: Make sure return values are used (LLVM/Clang).
      shell32/tests: Don't check return values inside of if(0) (LLVM/Clang).
      shell32/tests: Don't check return values inside of if(0) (LLVM/Clang).
      shell32/tests: Make sure return values are used (LLVM/Clang).
      shell32/tests: Don't check return values inside of if(0) (LLVM/Clang).
      shell32/tests: Make sure a return value is used (LLVM/Clang).
      shell32/tests: Don't check return values inside of if(0) (LLVM/Clang).
      mshtml/tests: Make sure a return value is used (LLVM/Clang).
      mshtml/tests: Make sure a return value is used (LLVM/Clang).
      shell32: Trace APPBARDATA struct members based on message type (Valgrind).
      gdi32: Add a stub for GdiDrawStream.
      user32/tests: Make sure return values are used (LLVM/Clang).
      ntdll/tests: Don't check return values inside of if(0) (LLVM/Clang).
      ole32/tests: Make sure to use return values (LLVM/Clang).
      ole32/tests: Make sure to use a return value (LLVM/Clang).
      ole32/tests: Make sure to use return values (LLVM/Clang).
      urlmon/tests: Make sure to use a return value (LLVM/Clang).
      ntdll/tests: Make sure return values are used (LLVM/Clang).
      wine.inf: Add HKLM\\Software\\Microsoft\\Windows\\Current Version\\Run key.
      msiexec: Add /unreg as an alias for /z.
      oleaut32/tests: Don't check return values inside of if(0) (LLVM/Clang).
      oleaut32/tests: Make sure a return value is used (LLVM/Clang).
      oleaut32/tests: Make sure return values are used (LLVM/Clang).
      oleaut32/tests: Make sure return values are used (LLVM/Clang).
      oleaut32/tests: Remove dead assignments (LLVM/Clang).
      oleaut32/tests: Don't check return values inside of if(0) (LLVM/Clang).
      d3dx9_36/tests: Free memory after use (Valgrind).
      advapi32/tests: Make sure to use return value (LLVM/Clang).
      advapi32/tests: Make sure to use return value (LLVM/Clang).
      advapi32/tests: Remove Win9x hacks.
      crypt32/tests: Make sure to use return values (LLVM/Clang).
      msi/tests: Remove dead assignments.
      msi/tests: Make sure to use return values (LLVM/Clang).
      gdiplus/tests: Make sure to use return values (LLVM/Clang).
      inetmib1/tests: Remove a dead assignment (LLVM/Clang).
      crypt32/tests: Remove a dead initialization (LLVM/Clang).
      ole32/tests: Make sure to use a return value (LLVM/Clang).
      kernel32/tests: Make sure to use return values (LLVM/Clang).
      usp10/tests: Remove dead assignment (LLVM/Clang).
      winmm/tests: Remove dead assignment (LLVM/Clang).
      crypt32/tests: Make sure to use a return value (LLVM/Clang).
      crypt32/tests: Make sure to use return values (LLVM/Clang).
      d3d9/tests: Make sure to use return values (LLVM/Clang).
      jscript/tests: Remove a dead assignment (LLVM/Clang).
      comctl32/tests: Remove dead assignments (LLVM/Clang).
      comctl32/tests: Make sure to use a return value (LLVM/Clang).
      comctl32/tests: Make sure to use a return value (LLVM/Clang).
      comctl32/tests: Make sure to use a return value (LLVM/Clang).
      comctl32/tests: Make sure to use a return value (LLVM/Clang).
      wintrust/tests: Remove win9x hacks.
      mshtml/tests: Update disabled test comment.

Charles Davis (1):
      mountmgr: Use the media kind to fill in the device type field on Mac OS.

David Adam (1):
      d3dx9_36: Add a few tests for D3DXCreateBox.

Detlef Riekenberg (4):
      winspool: Do not mark AddPrinterA as stub.
      msi/tests: Fix a typo.
      mshtml/tests: Fix a typo.
      shlwapi: Add stubs for SHWinHelpOnDemandA/W.

Dmitry Timoshkov (4):
      user32: Add a test for reparenting a WS_POPUP window to a WS_CHILD parent.
      user32: Add message tests for SetParent().
      mlang: GetGlobalFontLinkObject() takes a non-zero number of arguments.
      user32: Use the windows created by the SetParent() test to get a more predictable active/focus window state.

EG Galano (1):
      gdiplus/tests: Make sure return value is used (LLVM/Clang).

Francois Gouget (1):
      comctl32/tests: Fix compilation on systems that don't support nameless unions.

Frédéric Delanoy (3):
      po: Update French translation.
      po: Update French translation.
      po: Add missing \n in various po language files.

Gerald Pfeifer (6):
      comctl32/tests: Avoid uninitialized variable warning in GetWidthBytes().
      wined3d: Remove an old hack around Mesa choking on protected memory from flush_to_framebuffer_drawpixels.
      comctl32/tests: Remove unused parameter from test_removeimage().
      wpp: Fix the output type for the "unsigned OP signed" cases in BIN_OP_INT and friends.
      wpp: Add explicit casts when mixing signed and unsigned integers.
      winmm: Simplify MCI_DumpCommandTable a bit.

Hans Leidekker (4):
      msi: Split up resolve_folder.
      msi/tests: Show that a failing call to MsiGetSourcePath(SOURCEDIR) sets the SOURCEDIR property.
      msi: Get rid of msi_component_set_state and msi_feature_set_state.
      msi: Preserve existing advertise strings in the PublishComponents action.

Huw Davies (5):
      oleaut32: Rewrite ITypeInfo_GetDocumentation proxy/stub to return only the information that is requested.
      oleaut32: Implement proxy / stub for ITypeInfo_GetDllEntry.
      oleaut32: Implement proxy / stub for ITypeInfo2_GetDocumentation2.
      oleaut32: Implement proxy / stub for ITypeLib_GetDocumentation.
      oleaut32: Implement proxy / stub for ITypeLib2_GetDocumentation2.

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

Igor Egorov (1):
      kernel32: Add stderr redirection for native Unix programs started from Windows program.

Igor Paliychuk (4):
      po: Update Ukrainian translation.
      cryptui: Fix French translation.
      wininet: Fix translations.
      wordpad: Improve translations.

Jacek Caban (21):
      mshtml: Added IHTMLWindow2::focus implementation.
      mshtml: Added focus events tests.
      mshtml: Use case insensitive comparison in parse_classid.
      urlmon: Don't hardcode zone numbers.
      mshtml: Return size in about protocols handler's ParseUrl(PARSE_SECURITY_URL) call.
      mshtml: Fixed size check in res protocol ParseUrl(PARSE_SECURITY_URL) call.
      urlmon: CoInternetGetSecurityUrl rewrite.
      urlmon: CoInternetGetSecurityUrlEx rewrite.
      urlmon: Added more CoInternetGetSecurityUrl[Ex] tests.
      mshtml: Make nsIURI::[Get|Set]Username implementation IUri-based.
      appwiz.cpl: Added support for installing packages from MSI files.
      dsound.h: Added DSBNOTIFICATIONS_MAX definition.
      dvdmedia.h: Added MPEG2VIDEOINFO declaration.
      urlmon: Fixed Valgrind warnings.
      urlmon: Get rid of init variable in stgmed_buf_t.
      urlmon: Read remaining protocol data if report_data was called after binding finished.
      urlmon: Properly handle BINDSTATUS_BEGINDOWNLOADDATA.
      urlmon: Get rid of no longer needed buffering in stgmed_buf_t.
      mshtml: Fixed a leak (valgrind).
      msxml3: Silence QueryInterface FIXME.
      urlmon: Use winetest page URL for abort test.

Janne Hakonen (1):
      iphlpapi: Changed return value of NotifyAddrChange() stub and added test cases.

Joris Huizer (6):
      imagehlp/tests: Don't test function directly when reporting GetLastError().
      kernel32/tests: Don't test function directly when reporting GetLastError().
      user32/tests: Don't test function directly when reporting GetLastError().
      ws2_32/tests: Don't test function directly when reporting GetLastError().
      shdocvw: Initialise ie pointer as it's tested (Clang).
      crypt32: Remove helper variable i (Clang).

Juan Lang (17):
      wintrust/tests: Fix a leak (valgrind).
      crypt32/tests: Update a CryptMsgUpdate call to succeed on more Windows versions, and check its return value (Clang).
      crypt32/tests: In more recent Windows versions, updating a data message with no content succeeds.
      crypt32: Allow updating data messages with no content.
      rsaenh/tests: Test errors creating schannel keys and hashes before parameters are set.
      rsaenh: Disallow creating schannel master hashes before setting the client random and server random.
      rsaenh: Disallow deriving schannel encryption keys before setting the encryption algorithm.
      crypt32: Don't attempt to find the length of a NULL string (valgrind).
      rsaenh: Fully initialize schannel algorithm information.
      crypt32: Fix return value (clang).
      crypt32: Fix return value in error cases (clang).
      crypt32: Don't assume a function succeeded (clang).
      crypt32: Don't assign a count value unless memory allocation succeeds (clang).
      crypt32/tests: Remove an unused assignment (clang).
      crypt32/tests: Test a return value (clang).
      crypt32/tests: Test return value (clang).
      wintrust/tests: Fix a leak (valgrind).

Jörg Höhle (2):
      msvcrt: sizeof(long double) is 12 with MS, but not necessarily so on UNIX.
      msvcrt/tests: sizeof(long double) is 12 with MS.

Ken Thomases (3):
      user32: Rename GetKeyboardLayout param; it's a thread ID, not a layout.
      user32: Remove wrong parameter name from comment.
      iphlpapi: Enable non-privileged ICMP (ping) on Mac OS X.

Maarten Lankhorst (2):
      riched20: Do not call callback when no data needs to be flushed.
      dsound: Forcibly lock buffers to be mixed.

Matteo Bruni (3):
      d3dcompiler: Include the string terminator in the output blob.
      wined3d: Make clip planes independent from offscreen/onscreen drawing.
      d3d9/tests: Add a test for clip planes.

Max TenEyck Woodbury (2):
      c2man: Search sub-directories for headers too.
      c2man: Add header's subdirectory and a link to its source file in the 'IMPLEMENTATION' notes.

Nicholas Niro (1):
      winex11.drv: Add proper initialization for border_pixel.

Nikolay Sivov (12):
      comctl32/listview: Remove couple of dead assignments (LLVM/Clang).
      comctl32/listview: Remove some useless operations (LLVM/Clang).
      comctl32/listview: Remove duplicated operation (LLVM/Clang).
      comctl32/tests: Test more return values (LLVM/Clang).
      urlmon/uri: Remove dead assignment and useless initializer (LLVM/Clang).
      msxml: Add IXSLTemplate stub.
      msxml3: Add basic putref_stylesheet() implementation.
      msxml3: Add a stub IXSLProcessor.
      msxml3: Basic put_input() method for IXSLProcessor.
      msxml3: Store output stream for processor.
      msxml3: Initial implementation of transform() method.
      msxml3: Null pointer for schema uri should be treated as empty.

Peter Urbanec (5):
      setupapi: Fix comparison issue on 64-bit systems.
      gdi32/tests: Use virtual screen size instead of primary monitor screen size.
      d3d8/tests: Use primary monitor screen size to perform tests.
      d3d9/tests: Use primary monitor screen size to perform tests.
      jscript: Implement character escaping as described by ECMA-262 B.2.1.

Reece Dunn (1):
      winefile: In the Options > Font menu handler, initially select the current font.

Rico Schüller (9):
      d3dcompiler: Parse OSG5 in the reflection interface.
      d3dcompiler: Parse bound resources.
      d3dcompiler: Implement ID3DShaderReflection::GetResourceBindingDesc().
      d3dcompiler: Implement ID3DShaderReflection::GetResourceBindingDescByName().
      d3dcompiler: Add argument check in D3DReflect().
      d3dcompiler/tests: Add reflection test.
      d3dcompiler/tests: Add reflection vs desc test.
      d3dcompiler/tests: Add reflection ps desc test.
      d3dcompiler/tests: Add GetResourceBindingDesc() test.

Stefan Dösinger (1):
      d3d9: Use a proper window class for the query test.

Thomas Mullaly (2):
      urlmon: Fixed invalid read and write errors (Valgrind).
      mshtml: Fixed a few typos.

Vincent Povirk (6):
      windowscodecs: Release the icon frame substream on success too.
      gdiplus: Allow adding rectangles with negative sizes to paths.
      gdiplus: Fix error path in GdipAddPathRectangle.
      gdiplus: Store an ImageAttributes in texture brushes.
      gdiplus: Add test for ImageLockModeUserInputBuf.
      gdiplus: Add tests for locked image bit reading/writing.

Yaron Shahrabani (1):
      po: Hebrew update.

--
Alexandre Julliard
julliard@winehq.org
