WineHQ

Wine Announcement

The Wine development release 2.7 is now available.

What's new in this release (see below for details):
  - TCP and UDP connection support in WebServices.
  - Various shader improvements for Direct3D 11.
  - Improved support for high DPI settings.
  - Partial reimplementation of the GLU library.
  - Support for recent versions of OSMesa.
  - Window management improvements on macOS.
  - Various bug fixes.

The source is available from the following locations:

  http://dl.winehq.org/wine/source/2.x/wine-2.7.tar.xz
  http://mirrors.ibiblio.org/wine/source/2.x/wine-2.7.tar.xz

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 2.7 (total 31):

  12311  Corman Lisp requires implementations for richedit stubs
  14606  TreeView + right click doesn't work the way it does in native windows
  25857  Multiple games (Stronghold 2, Need for Speed: Carbon demo, Purge) fail to draw correctly because of ID3DXEffectImpl_*Pass calls
  30764  regedit: a key created from right-click context menu is in incorrect position
  32319  Direct3D output in SNES9x is blank
  32426  TreeView of QvodSetupPlus5 unexpectedly draw a piece of blank area when clicking on a checkbox
  35563  Custom game development library expects non-zero value for ProcessVmCounters info class member 'WorkingSetSize'
  37404  A right click on a registry key does not select it
  40007  Dirt 3 requires d3d11_immediate_context_CSSetShaderResources
  40219  Multiple applications need msvcr120.dll.?_Id@_CurrentScheduler@details@Concurrency@@SAIXZ (Kontakt 5 Player, Serato DJ 1.9.2, Cisco Jabber 11.6, Darkest Dungeon, Sonic Pi 2)
  40689  Photoshop CS6: some dialogs have black background
  41029  DeSmuME 0.9.8 crashes whenever "control config" is clicked
  42144  Mass Lag when buying in store in rabi-ribi game
  42339  Horrible speed of Quantum of solace demo starting animations
  42347  The Witcher 3 starting menu is distorted [radeonsi]
  42462  Memory leak in several places in FFXIV
  42651  ViStart: fails to install, needs ntoskrnl.exe.IoReportResourceForDetection
  42733  Unable to find an entry point named 'RegSaveKeyEx' in DLL 'advapi32.dll' (SQL Server)
  42798  MsiGetPatchInfoEx returns incorrect values for UNINSTALLABLE, PATCHSTATE properties
  42808  msi: parent feature level is not propagated recursively on a whole subfeatures hierarchy
  42824  Nox (GOG) has constant menu flickering
  42825  Propellerhead Reason 5 drawn mostly in black and white
  42829  Transcendence (& many other D3D games) only show black screen (shaders)
  42834  Steuer-Spar-Erklärung 2017 crashes with critical error
  42840  Unbox Game black screen in-game
  42841  Tree of Savior: Missing function concrt140.dll.?_GetNumberOfVirtualProcessors@_CurrentScheduler@details@Concurrency@@SAIXZ
  42849  The Technomancer: Fails to create valid glsl
  42850  The Technomancer: Requires MFCreateAttributes implementation
  42871  Propellerhead Reason 5 garbled GUI elements
  42876  iTunes needs function msvcp140.dll._Lock_shared_ptr_spin_lock
  42884  Star Wars: Knights of the Old Republic 1 & 2 crash after the intro movie

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

Changes since 2.6:

Akihiro Sagawa (6):
      include: Add CALG_ECDH_EPHEM family.
      secur32: Return correct key exchange algorithm value.
      secur32: 3DES has a different ALG_ID.
      secur32/tests: Add tests with SECPKG_ATTR_KEY_INFO.
      secur32: Add support for SECPKG_ATTR_KEY_INFO.
      secur32: Return PRF algorithm value when using GCM.

Alexandre Julliard (14):
      glu32: Import projection functions from Mesa.
      glu32: Import quadric functions from Mesa.
      glu32: Import mipmap functions from Mesa.
      glu32: Import tessellation functions from Mesa.
      libwine: Set a non-null entry for the GDT selector to make sure it's properly reserved.
      libwine: Clear the %fs register we got from Android to force allocating a new one.
      glu32: Remove ARB_texture_cube_map extension ifdef since it's not defined in wgl.h.
      ntdll: Also store dynamic loader information in the PEB on Linux.
      dbghelp: Use the main module load address from the PEB.
      preloader: Add a debug option to dump memory maps.
      preloader: Use the SYS_mmap2 system call instead of the old SYS_mmap one.
      preloader: Fix symbol lookup for dynamic libraries.
      configure: Re-enable the preloader on Android.
      configure: Add a separate variable for wineloader-specific flags.

Alistair Leslie-Hughes (4):
      oleaut32: Remove redundant call to VariantClear().
      include/mfreadwrite.idl: Add MF_SOURCE_READER_* enum values.
      mfplat: Implement MFCreateAttributes.
      odbccp32: Handle ODBC_CONFIG_DRIVER request in SQLConfigDriver/W.

Andrew Eikum (1):
      xaudio2: Try to increase OpenAL source limit.

Andrey Gusev (1):
      po: Update Ukrainian translation.

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

Austin English (2):
      ntoskrnl.exe: Add IoReportResourceForDetection stub.
      user32: Add GetAutoRotationState/GetDisplayAutoRotationPreferences stubs.

Christopher Berner (1):
      wined3d: Add Nvidia TitanX (Pascal).

Daniel Lehman (5):
      msvcp90: Update exception RTTI data to reflect it's part of std namespace.
      msvcrt: Add __ExceptionPtrAssign.
      msvcrt: Handle synchronous flag for x64 C++ exceptions.
      msvcrt: Stop at trylevel for ControlPc on target frame for non-consolidate unwinds.
      server: Fix copy & paste for number of subkeys.

Gerald Pfeifer (1):
      wineps.drv: Add missing #include <stdarg.h>.

Hans Leidekker (24):
      msi: Apply feature selection to the whole feature subtree.
      msi: Properly handle DWORD registry values in MsiGetPatchInfoEx.
      msi: Set patch property Uninstallable.
      webservices: Reuse the message read buffer.
      webservices: Implement WsOpenListener and WsCloseListener.
      webservices: Implement WsCreateChannelForListener.
      webservices: Implement WsResetListener.
      webservices: Add support for outgoing TCP connections.
      webservices: Add support for outgoing UDP connections.
      webservices: Add support for incoming TCP connections.
      webservices: Add support for incoming UDP connections.
      webservices: Read message headers in read_envelope_start.
      webservices/tests: Add tests.
      webservices: Implement WsReadMessageStart.
      webservices: Implement WsReadMessageEnd.
      webservices: Implement WsWriteMessageStart.
      webservices: Implement WsWriteMessageEnd.
      webservices/tests: Add tests.
      webservices: Support appending text with multiple WsWriteText calls.
      webservices: Implement WsWriteQualifiedName.
      webservices: Implement WsReadQualifiedName.
      webservices: Implement WsWriteBytes.
      webservices: Implement WsWriteChars.
      webservices: Implement WsWriteCharsUtf8.

Henri Verbeet (35):
      usp10: Validate positioning record sequence indices in GPOS_apply_ChainContextPos().
      usp10: Validate substition record sequence indices in GSUB_apply_ChainContextSubst().
      usp10: Range check glyph counts in GPOS_apply_ContextPos().
      usp10: Simplify the "pr_2" assignment in GPOS_apply_ContextPos().
      usp10: Validate positioning record sequence indices in GPOS_apply_ContextPos().
      wined3d: Use the CPU blitter for clearing textures that are current in the map binding.
      wined3d: Avoid unmapping the module while the CS thread is still running.
      wined3d: Use wined3d_texture_get_memory() in surface_cpu_blt().
      wined3d: Use wined3d_texture_get_memory() in surface_cpu_blt_colour_fill().
      wined3d: Introduce a context function to bind a buffer object.
      wined3d: Introduce context functions to map/unmap a wined3d_bo_address.
      wined3d: Use context_map_bo_address() in wined3d_buffer_copy().
      usp10: Range check glyph counts in GSUB_apply_ContextSubst().
      usp10: Simplify the "sr_2" assignments in GSUB_apply_ContextSubst().
      usp10: Validate substition record sequence indices in GSUB_apply_ContextSubst().
      wined3d: Use vector types in wined3d_format_convert_from_float().
      wined3d: Use doubles to convert 24 and 32 bpc formats in wined3d_format_convert_from_float().
      wined3d: Get rid of the "Multisampling" setting.
      wined3d: Avoid touching the output value on failure in get_config_key_dword();.
      ddraw/tests: Introduce a helper function to create windows.
      ddraw/tests: Add a test for the alpha and z-buffer blit flags.
      ddraw: Ignore unsupported blit flags.
      wined3d: Make blits asynchronous by default.
      d3dx9/tests: Cleanup expect_mat.
      d3dx9/tests: Cleanup expect_color.
      d3dx9/tests: Cleanup expect_plane.
      d3dx9/tests: Avoid using expect_vec4 for comparing quaternions.
      d3dx9/tests: Cleanup expect_vec.
      d3dx9/tests: Cleanup expect_vec3.
      d3dx9/tests: Cleanup expect_vec4.
      d3dx9/tests: Get rid of compare_rotation.
      d3dx9/tests: Get rid of compare_scale.
      d3dx9/tests: Get rid of compare_translation.
      d3dx9/tests: Cleanup compare_vectors.
      d3dx9/tests: Get rid of compare_planes.

Hugh McMaster (8):
      regedit: Call TrackPopupMenu() from WM_CONTEXTMENU.
      regedit: Select the targeted treeview item on right mouse click.
      regedit: Only show the context menu if the mouse is over a treeitem.
      reg/tests: Add some more import tests.
      regedit/tests: Add some more import tests.
      regedit: Simplify parseKeyName.
      regedit: Validate REG_SZ import data before processing it any further.
      regedit: Re-implement processSetValue().

Huw D. M. Davies (21):
      oleaut32: Use VariantInit() rather than open coding it.
      shell32: Avoid leaking icon handles.
      shell32: Use the imagelist to determine the icon size.
      shell32: Use a MENUEX resource for the context menu.
      shell32/tests: Add a test for the size of the icon returned by ExtractIcons().
      shell32: Don't copy the imagelist in SHGetImageList().
      shell32: Take a reference on the imagelist returned with SHGFI_SYSICONINDEX.
      shell32/tests: Add tests for the size of the icon returned by SHGetFileInfo().
      riched20: Only write out non-default pattern colours.
      user32: Fix a potential buffer overflow.
      explorer: Don't alter the shell imagelist.
      shell32: Remove an extraneous '@'.
      comdlg32: Don't ask for icon information since it's unused.
      explorerframe: Release the returned imagelist.
      shell32: Release the returned imagelist.
      regedit: Use the system metrics to retrieve the treeview icon sizes.
      winex11: Try to read the dpi from the user key first.
      winemac: Try to read the dpi from the user key first.
      gdi32: Try to read the dpi from the user key first.
      winecfg: Try to read the dpi from the user key first.
      user32/tests: Try to read the dpi from the user key first.

Jacek Caban (31):
      mshtml.idl: Added HTMLLabelElement coclass declaration.
      mshtml.idl: Added HTMLSelectElement coclass declaration.
      mshtml.idl: Added HTMLInputElement coclass declaration.
      mshtml.idl: Added HTMLTextAreaElement coclass declaration.
      mshtml.idl: Added HTMLButtonElement coclass declaration.
      mshtml.idl: Added HTMLHtmlElement coclass declaration.
      mshtml.idl: Added HTMLHeadElement coclass declaration.
      mshtml.idl: Added HTMLTitleElement coclass declaration.
      mshtml.idl: Added HTMLMetaElement coclass declaration.
      mshtml.idl: Added HTMLWindow2 coclass declaration.
      mshtml.idl: Added HTMLEmbed coclass declaration.
      mshtml.idl: Added HTMLTableRow coclass declaration.
      mshtml.idl: Added HTMLTableCell coclass declaration.
      mshtml.idl: Added HTMLScriptElement coclass declaration.
      mshtml.idl: Added HTMLObjectElement coclass declaration.
      mshtml.idl: Added HTMLFrameElement coclass declaration.
      mshtml.idl: Added HTMLIFrame coclass declaration.
      mshtml.idl: Added HTMLStyleElement coclass declaration.
      mshtml: Replace get_htmldoc_classinfo with more generic helper.
      mshtml: Added IProvideMultipleTypeInfo stub implementation for HTMLDocument object.
      mshtml: Added IProvideMultipleTypeInfo implementation for HTMLWindow object.
      mshtml: Added IProvideMultipleTypeInfo implementation for HTMLElement object.
      mshtml.idl: Added HTMLAreaElement coclass declaration.
      mshtml/tests: Added area element tests.
      mshtml: Added GetClassInfo implementation for HTMLElement objects.
      mshtml: Added IProvideClassInfo2 implementation for HTMLXMLHttpRequest object.
      mshtml/tests: Added more IProvideClassInfo tests.
      server: Use common get_fd_type implementation for both pipe end implementations.
      mshtml: Added edge compatibility mode support.
      mshtml: Don't emulate legacy style filters in compatibility mode >= IE10.
      secur32: Fixed compilation with prediluvian gnutls.

Jactry Zeng (1):
      po: Update Simplified Chinese translation.

Józef Kucia (71):
      wined3d: Prefer GLSL 1.50 for all shaders.
      wined3d: Load all layers for render target views.
      wined3d: Prepare all layers for render target views.
      wined3d: Validate all layers locations for render target views.
      wined3d: Invalidate all layers locations for render target views.
      wined3d: Formalize requirements for layout qualifiers.
      wined3d: Avoid multiple layout qualifiers for uniform blocks.
      wined3d: Use layout binding qualifiers with legacy contexts.
      wined3d: Introduce wined3d_device_set_hull_shader().
      d3d11: Implement d3d11_immediate_context_HSSetShader().
      wined3d: Introduce wined3d_device_set_domain_shader().
      d3d11: Implement d3d11_immediate_context_DSSetShader().
      wined3d: Introduce wined3d_device_get_hull_shader().
      d3d11: Implement d3d11_immediate_context_HSGetShader().
      wined3d: Introduce wined3d_device_get_domain_shader().
      d3d11: Implement d3d11_immediate_context_DSGetShader().
      wined3d: Use correct layer count for 3D textures.
      wined3d: Recognize SM5 vGSInstanceID register.
      wined3d: Recognize SM5 dcl_gsinstances opcode.
      wined3d: Implement geometry shader instancing.
      wined3d: Prefer core geometry shaders.
      wined3d: Drop support for ARB_geometry_shader4.
      d3d11/tests: Add test for layered rendering.
      d3d10core/tests: Add test for layered rendering.
      d3d10core/tests: Allow passing any interface to get_refcount().
      d3d11/tests: Allow passing any interface to get_refcount().
      d3d10core/tests: Check device refcount after CreateInputLayout().
      d3d11/tests: Check device refcount after CreateInputLayout().
      d3d11: Implement d3d{10, 11}_input_layout_GetDevice().
      wined3d: Always use core profile GLSL versions.
      wined3d: Introduce wined3d_device_get_cs_uav().
      d3d11: Implement d3d11_immediate_context_CSGetUnorderedAccessViews().
      wined3d: Introduce wined3d_device_get_unordered_access_view().
      wined3d: Add ARB_tessellation_shader extension.
      wined3d: Introduce wined3d_device_set_hs_cb().
      wined3d: Introduce wined3d_device_set_ds_cb().
      d3d11: Implement d3d11_immediate_context_HSSetConstantBuffers().
      d3d11: Implement d3d11_immediate_context_DSSetConstantBuffers().
      wined3d: Introduce wined3d_device_set_hs_resource_view().
      d3d11: Implement d3d11_immediate_context_HSSetShaderResources().
      wined3d: Introduce wined3d_device_set_ds_resource_view().
      d3d11: Implement d3d11_immediate_context_DSSetShaderResources().
      d3d11/tests: Add test for ID3DDeviceContextState.
      wined3d: Initialize geometry shader limits when OpenGL 3.2 is supported.
      wined3d: Introduce wined3d_device_set_hs_sampler().
      d3d11: Implement d3d11_immediate_context_HSSetSamplers().
      wined3d: Introduce wined3d_device_set_ds_sampler().
      d3d11: Implement d3d11_immediate_context_DSSetSamplers().
      wined3d: Add parent ops for sampler objects.
      d3d11: Delay destroying sampler state until it is no longer referenced.
      d3d11/tests: Add test for state refcounting.
      d3d11: Fix refcounting for shaders.
      d3d11/tests: Introduce check_interface() helper.
      d3d11/tests: Extend test for ID3DDeviceContextState.
      wined3d: Add parent for rasterizer state objects.
      d3d11: Delay destroying rasterizer state until it is no longer referenced.
      d3d11: Get rid of "rasterizer_state" from struct d3d_device.
      d3d11: Delay destroying depth stencil view until it is no longer referenced.
      d3d11: Delay destroying render target view until it is no longer referenced.
      d3d11: Delay destroying shader resource view until it is no longer referenced.
      d3d11: Delay destroying unordered access view until it is no longer referenced.
      d3d11/tests: Add more tests for state refcounting.
      d3d11: Avoid potential double free in d3d11_device_CreateRasterizerState().
      d3d11: Avoid potential double free in d3d_texture2d_create().
      d3d11: Avoid potential double free in d3d11_device_CreateSamplerState().
      dxgi: Fix HMODULE leak in register_d3d10core_layers().
      dxgi: Return iface instead of object pointer.
      wined3d: Introduce wined3d_device_get_hs_cb().
      d3d11: Implement d3d11_immediate_context_HSGetConstantBuffers().
      wined3d: Introduce wined3d_device_get_ds_cb().
      d3d11: Implement d3d11_immediate_context_DSGetConstantBuffers().

Ken Thomases (15):
      secur32: Return CALG_ECDH_EPHEM as the key exchange algorithm ID for the internal schan_kx_ECDHE_* values.
      secur32: Add support for the cipher suites using pre-shared keys (PSK) added by the 10.9 SDK.
      winemac: Invalidate cached hasGLDescendant value unconditionally when the view is hidden or unhidden.
      winemac: Sync the frame of the Cocoa view for a window's client area while handling a frame-changed event.
      winemac: Move the window to the front of the z-order in SetFocus if it's the foreground window and not already in the front.
      winemac: Add a category on NSEvent to simplify checking if the Command key (and only that modifier) is pressed for an event.
      winemac: Move a window to the front when its Mac title bar is clicked.
      winemac: When realizing latent child windows, maintain their relative z-order.
      winemac: Better handle z-ordering windows that are in Cocoa parent-child window relationships.
      winemac: Defer ordering a window out if it's in the process of entering or exiting Cocoa full-screen mode.
      winemac: Use the -close method rather than -orderOut: for full-screen windows.
      winemac: Don't let child (owned) windows be Cocoa primary full-screen windows.
      winemac: Opt out of macOS 10.12's automatic window tabbing feature.
      gdiplus: Avoid infinite recursion in flatten_bezier().
      secur32: Implement schan_imp_get_key_signature_algorithm() for macOS.

Kim Malmo (2):
      po: Update Norwegian translation.
      po: Update Norwegian translation.

Lauri Kenttä (1):
      po: Update Finnish translation.

Louis Lenders (1):
      advapi32: Add stubs for RegSaveKeyEx{A,W}.

Michael Müller (5):
      ntdll: Mark LDR data as initialized.
      ntdll: Add stub for JobObjectBasicAccountingInformation and JobObjectBasicProcessIdList.
      kernel32: Add stub for GetPackageFullName.
      include: Fix an invalid UUID in dxva2api.idl.
      include/mfidl.idl: Add IMFMediaSession interface and dependencies.

Michael Stefaniuc (14):
      credui: Use SetRectEmpty() instead of memset().
      amstream/tests: Use SetRectEmpty() instead of memset().
      user32: Use SetRectEmpty() instead of memset().
      avifil32: Use SetRectEmpty() instead of memset().
      wineps.drv: Use SetRect/SetRectEmpty instead of open coding them.
      comctl32/tests: Check the correct last error code.
      dplayx/tests: Use a void* instead of void** outer IUnknown argument.
      dmscript/tests: Just use proper IUnknown implementations for aggregation.
      dsound/tests: Use a void* instead of void** outer IUnknown argument.
      dswave/tests: Use a void* instead of void** outer IUnknown argument.
      dmloader: Avoid a crash on a NULL string pointer.
      dmloader: Cleanup IDirectMusicLoaderImpl_SetSearchDirectory().
      dmloader: Return an error for an invalid directory.
      dmloader/tests: Add some IDirectMusicLoader directory tests.

Nikolay Sivov (32):
      dwrite: Consistently use common point and rect types.
      dwrite/tests: Test to show that canWrapLineAfter is not fixed up by disabled wrapping.
      dwrite/tests: Initial tests for IDWriteInMemoryFontFileLoader.
      dwrite: Trace QueryInterface fontface calls on failure (Coverity).
      dwrite/tests: Initial tests for GetGlyphImageFormats().
      dwrite: Make CreateFontFaceFromHdc() properly fail on unsupported font format.
      uxtheme: Create compatible bitmap using target hdc.
      dwrite: Handle allocation failure when duplicating reference key.
      dwrite: Added a helper to avoid extra traces from one method calling another.
      include: Added DB_MODE_* constants.
      oledb32: Support textual representation of Mode property values.
      user32: Partially protect WM_SETTEXT handlers from invalid input.
      scrrun: Added DateLastModified property for IFile.
      comctl32/tests: Fully initialize message tests data (Coverity).
      comctl32/pager: Prevent excessive PGN_CALCSIZE notifications during PGM_SETCHILD.
      comctl32/tests: Trace test name only of failure.
      dwrite: Partially implement GetGlyphImageFormats().
      po: Update Russian translation.
      uxtheme: Fix buffer bitmap leak.
      shell32: Fix string leak.
      dwrite: Look for 'SVG ' table too when checking supported formats.
      include: Fix IShellFolderView method macros.
      shell32/ebrowser: Respond to IOleWindow from IExplorerBrowser.
      dmusic/tests: Use void* instead of void** type value for outer argument.
      uxtheme: Fix buffer dc origin and clipping.
      dwrite: Extract supported image formats from 'sbix' table.
      dwrite: Update overhangs rectangle on alignment changes.
      po: Update Russian translation.
      uxtheme/tests: Remove some trace messages.
      gdiplus/tests: Fix copy/paste error in format tests.
      gdiplus: Fix generic string formats behavior.
      gdiplus: Use better naming for line alignment format field.

Olivier F. R. Dierick (1):
      api-ms-win-core-processthreads-l1-1-0: Add some functions.

Owen Rudge (4):
      wsdapi: Implement RegisterNotificationSink and UnRegisterNotificationSink.
      wsdapi/tests: Add tests for Register/UnRegisterNotificationSink.
      include: Remove typedefs from wsdapi.h, reorder includes.
      include: Avoid redefining WSDXML typedefs.

Paul Gofman (17):
      d3dx9/tests: Add tests for cross effect handles usage.
      d3dx9: Use magic number instead of parameter tables for parameter handles.
      d3dx9: Compare parameter definition instead of parameter handle in IsParameterUsed().
      d3dx9/tests: Add test for shared effect parameters.
      d3dx9/tests: Add more tests for IsParameterUsed() function.
      d3dx9: Reference top level parameter instead of dirty flag.
      d3dx9: Fix IsParameterUsed() for the case when state references child parameter.
      d3dx9: Factor out free_parameter_data() function.
      d3dx9: Reference effect pool implementation in d3dx9_base_effect structure.
      d3dx9/tests: Add test for releasing pool before effects referencing it.
      d3dx9: Support parameters sharing in effect.
      d3dx9: Fix register index for the scalar op case in parse_preshader().
      d3dx9/tests: Fix test blob data corruption in test_preshader_op().
      d3dx9: Return an error for out of bounds input register in parse_preshader().
      d3dx9: Set reg_component_count to 4 for immediate constants.
      d3dx9: Remove unused parameter 'effect' from d3dx9_get_param_value_ptr().
      d3dx9: Downgrade unknown DWORD FIXMEs() to WARN() messages.

Piotr Caban (9):
      msvcr120: Add wctype implementation.
      server: Update all children upon SetLayeredWindowAttributes.
      user32: Switch to normal window drawing on SetLayeredWindowAttributes call.
      user32/tests: Add layered window child painting test when WS_CLIPCHILDREN flag is specified.
      gdi32: Allocate smaller buffer in delete_external_font_keys helper.
      gdi32: Only delete unmodified font keys in delete_external_font_keys.
      dwrite: Don't crash on uninitialized cached and factory fields in dwritefontface_Release.
      dwrite: Don't fail in opentype_get_font_strings_from_id if any of font strings got decoded.
      dwrite: Fix EUDC font collection use after free issue.

Sebastian Lackner (5):
      wined3d: Release resources on error in wined3d_cs_exec_blt_sub_resource.
      wined3d: Fix double free in geometry_shader_init.
      ntoskrnl.exe: Do not use P* types in IoReportResourceUsage.
      vcomp: Handle begin == NULL in _vcomp_for_static_init.
      configure: Support for recent versions of OSMesa.

Stefan Dösinger (7):
      d3d9/tests: Accept another stale value in test_vshader_input.
      d3d9/tests: Accept WARP uninitialized texcoord alpha result on real cards.
      ddraw/tests: Don't use DDBLT_COLORFILL in test_flip.
      ddraw/tests: Prefer 16 bit depth buffers in ddraw1 and 2.
      d3d9/tests: Accept alpha channel differences in shadow_test.
      d3d8/tests: Accept alpha channel differences in shadow_test.
      d3d9/tests: WARP returns a random color in uninitialized color attributes.

Zebediah Figura (1):
      user32: Move internal message from EnableWindow to WIN_SetStyle().

--
Alexandre Julliard
[email protected]