Wine Announcement

The Wine development release 1.9.2 is now available.

What's new in this release (see below for details):
  - GStreamer 1.0 support.
  - Support for SHA hashes in BCrypt.
  - Synthesizing bold glyphs also for bitmap fonts.
  - Underlines support in DirectWrite.
  - Still more Shader Model 4 instructions.
  - Various bug fixes.

The source is available from the following locations:

Binary packages for various distributions will be available from:

You will find documentation on

You can also get the current source directly from the git
repository. Check 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.9.2 (total 41):

   7938  Gyldendal dictionary needs ole2disp.dll.SAFEARRAYALLOCDATA
   8490  SHBrowseForFolder: BIF_NEWSTYLEDIALOG not implemented - title gets cropped in uTorrent
  11023  Lack of ole2disp.dll.SAFEARRAYDESTROYDESCRIPTOR causes Nota Bene to refuse to launch
  18932  Installshield installer text not being bolded (appinstall)
  20896  Use-after-free in DdeClientTransaction in user32 dde tests
  24658  Unimplemented function ole2.dll16.READCLASSSTM
  28113  winverbs doesn't work, needs ole2disp.dll16.SAFEARRAYALLOCDESCRIPTOR
  30557  winegstreamer broken with >=glib-2.32.0
  31496  Render-to-fbo with WINED3D_SWAP_EFFECT_FLIP continually spammed in console
  31836  Add support for GStreamer 1.0 API/ABI
  31913  EasyPal version August 6 2012 crashes on unimplemented function msvcp60.dll.??Dstd@@YA?AV?$complex@N@0@ABNABV10@@Z
  34185  Castlevania: Lords of Shadow demo doesn't work after intro movies
  35774  MSVC 2012 needs msvcp110.dll.?_Equivalent@sys@tr2@std@@YAHPBD0@Z
  36299  valgrind shows a few possible leaks in msxml3/tests/httpreq.c
  36303  valgrind shows several leaks in msxml3/tests/schema.c
  37536  Native MSVCP120.dll override requires implementation of msvcr120.dll._W_Gettnames (Desura client)
  37908  GLFont crashes saving a .glf file (needs msvcp70.dll.?open@?$basic_ofstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z)
  38451  valgrind shows uninitialized variable in dlls/shlwapi/tests/ordinal.c
  38722  AVG installer wants ntdll.dll.RtlCreateUserProcess
  38781  Dungeon Keeper FX runs too quickly (differences in clock() function)
  39186  Steam client: links missing underline when DirectWrite method enabled
  39558  Unused variables xoffset, yoffset in SCROLL_TrackScrollBar
  39609  Dirt 3 requires WINED3DFMT_R8G8_UNORM
  39677  Zararadio crashes when it has to change from a playlist to another.
  39739  Cobra 11 - Burning Wheels demo: crashes when starting the tutorial
  39803  When closing a maximized microsoft word 2007 window, the program is closed but the desktop screen is not refreshed
  39805  GTAIV rendering is broken
  39818  J-Link 1.3.0 does not start at all, needs winspool.drv.EnumPrinterKeyW
  39820  Warhammer 40k: Kill Team needs BC1_UNORM
  39838  Wreckfest Server: Crashes at startup, unimplemented function KERNEL32.dll.GetConsoleScreenBufferInfoEx & SetConsoleScreenBufferInfoEx
  39874  Alien Shooter crashes often with access violation
  39901  LeapPadExplorer needs rasapi32.dll.RasSetCustomAuthDataW
  39943  Worms Armageddon opens wine explorer instead of running
  39950  Cabal II can't be opened, needs msvcp100.dll.?lowest@?$numeric_limits@M@std@@SAMXZ
  39951  KeePassX 2.0 wants KERNEL32.dll.SetSearchPathMode
  39952  trackbar thumb always at zero on dialog load.
  39953  StarCraft II: 64bit client crashing regularly due to access violation (0xC0000005)
  39954  StarCraft II: 64bit client only runs with lowest shader settings
  39958  Regression in dmime caused by change in flag handling for DSBCAPS_CTRLPAN in dsound
  39974  Thumb slider doesn't respond to key events
  39984  EveOnline launcher crashes when started, needs msvcr120.dll._dpcomp


Changes since 1.9.1:

Aaryaman Vasishta (3):
      d3drm/tests: Add texture loading tests.
      d3drm: Fix QueryInterface for IDirect3DRMTexture*.
      d3drm/tests: Add QueryInterface tests for IDirect3DRMTexture*.

Akihiro Sagawa (6):
      gdi32: Add a helper function to calculate the glyph advance metric.
      gdi32: Fix the advance width in synthetic bold glyphs with scaling.
      gdi32: Return an boolean value whether synthesizing bold glyph is success.
      gdi32: Implement synthesizing bold glyphs for bitmap fonts.
      comctl32/tests: Fix a typo.
      comctl32: Prevent invalid focus change notifications from LVS_OWNERDATA lists.

Alex Henrie (5):
      ntdll: Remove redundant avail_mode check and confusing comment.
      winex11: Fix overflow in remove_startup_notification.
      server: Fix duplicate, incorrect comment describing is_fd_signaled.
      ntdll: Avoid double initialization.
      ntdll: Return an error from CDROM_Open if fstat fails.

Alexandre Julliard (28):
      makefiles: Generate all makefiles at once.
      makedep: Generate testlist.c directly from the makefile data.
      makefiles: Generate distclean rules from makedep.
      makefiles: Generate makefile dependencies from makedep.
      msvcrt: Don't import atexit to avoid conflicts with the Mingw runtime.
      msvcrt/tests: Don't check array pointer for NULL.
      explorer: Support a quoted /desktop option.
      xaudio2: Remove unnecessary kernel32 imports.
      ntdll: Add a helper function to allocate the full object_attributes structure.
      server: Store the attributes in the object_attributes structure.
      server: Add a helper function to validate and return object attributes.
      server: Allow the object attributes to be omitted in requests.
      server: Pass full object attributes in the create_timer request.
      server: Pass full object attributes in the create_mailslot request.
      server: Pass full object attributes in the create_directory request.
      server: Pass full object attributes in the create_symlink request.
      server: Pass full object attributes in the create_completion request.
      server: Add a helper function to skip the object attributes structure.
      server: Pass full object attributes in the create_key request.
      server: Pass full object attributes in the load_registry request.
      server: Fix constraints on the length of NT object names.
      kernel32/tests: Avoid sizeof in a trace.
      ntdll/tests: Fix a test failure on restricted Windows.
      server: Create window stations objects in a standard directory.
      server: Store the desktop object names inside their window station.
      configure: Don't check for gnutls_hash if gnutls is missing entirely.
      configure: Don't check for gst/gstpad.h that we don't use.
      server: Always print the full path of objects when dumping them.

Alistair Leslie-Hughes (6):
      include: Add declaration D3DXDisassembleEffect.
      d3dx9: Implement GetMaxNum* functions.
      d3dx9/tests: Add D3DXCreateAnimationController tests.
      d3dx9/tests: DDS magic isn't part of the DDS header.
      msi: Allow PathEdit controls to be updated.
      msi: Refreh controls after spawned dialog is closed.

Andrew Eikum (35):
      xaudio2: Explicitly version the 2.7 coclasses.
      xaudio2_8: Use shared source.
      xaudio2_6: Use shared source.
      include: Add TrySubmitThreadpoolCallback declaration.
      mscoree: Set config path for default app domain.
      xaudio2_5: Use shared source.
      xaudio2_4: Use shared source.
      xaudio2_3: Use shared source.
      xaudio2_2: Use shared source.
      xaudio2_1: Use shared source.
      xaudio2_0: Use shared source.
      winegstreamer: Always run gstreamer callbacks on a Wine thread.
      xapofx1_5: Use shared source.
      xapofx1_4: Use shared source.
      xapofx1_3: Use shared source.
      xapofx1_2: Use shared source.
      xapofx1_1: Use shared source.
      x3daudio1_7: Use shared source.
      x3daudio1_6: Use shared source.
      x3daudio1_5: Use shared source.
      x3daudio1_4: Use shared source.
      x3daudio1_3: Use shared source.
      x3daudio1_2: Use shared source.
      x3daudio1_1: Use shared source.
      x3daudio1_0: Use shared source.
      winegstreamer: Add TRACEs and improve formatting.
      winegstreamer: Update to use gstreamer-1.0.
      maintainers: Add DirectShow section.
      mciqtz32: Support MCI_DGV_PUT_DESTINATION.
      xaudio2: Remove run-time version checks for XAudio2 object.
      xaudio2: Remove run-time versioning of xapo objects.
      xaudio2_8: Don't use IXAudio27 interface to call Initialize.
      xaudio2: Don't build interfaces for other versions.
      xaudio2_9: Add xaudio2_9.
      xaudio2: Use an HRESULT return code.

Andrey Turkin (1):
      d3d11: Add the ID3D11VideoContext interface.

André Hentschel (3):
      configure: Detect MinGW-w64 ARM toolchains.
      configure: Check for MinGW even when cross compiling.
      include: Add manifest related defines.

Anthony Fok (1):
      include: Suppress "use msvcrt" error in tchar.h when -mno-cygwin is used.

Anton Baskanov (1):
      quartz: Handle NULL target format in FilterGraph::ConvertTimeFormat.

Aric Stewart (4):
      hidclass.sys: Implement HID_Device_write.
      hidclass.sys: Implement IOCTL_HID_GET_FEATURE.
      hidclass.sys: Implement IOCTL_HID_SET_FEATURE.
      usp10: Rewrite ScriptXtoCP.

Austin English (5):
      kernel32: Add SetSearchPathMode stub.
      rpcrt4: Add a stub for RpcBindingServerFromClient.
      rasapi32: Add RasSetCustomAuthDataA/W stubs.
      winspool.drv: Add EnumPrinterKeyA/W stubs.
      irprops.cpl: Add stub dll.

Bernhard Übelacker (4):
      msvcp110/tests: Test virtual base table size exports.
      msvcp100/tests: Test virtual base table size exports.
      msvcp90/tests: Test virtual base table size exports.
      msvcp60/tests: Test virtual base table size exports.

Carlo Bramini (1):
      user32: Remove unused variables in SCROLL_TrackScrollBar.

Changhui Liu (1):
      hidclass.sys: Properly quit hid_device_thread when both completion event and halt event are signaled.

Christian Costa (1):
      d3dx9: Implement D3DXCreateAnimationController with a stubbed ID3DXAnimationController interface.

François Gouget (10):
      shell32/tests: The expectedArgs parameter of the DDE tests is an argument count, not a boolean.
      shell32/tests: Check the hProcess field when ShellExecuteEx() fails.
      shell32/tests: Create_test_association() should either succeed or fail due to insufficient permissions.
      shell32/tests: Fix the shortcut vs. class interaction test.
      tests: Use plain printf() calls instead of fprintf(stdout).
      kernel32/tests: Help the tests portably declare printf()-syle functions.
      kernel32/tests: Declare childPrintf() as a printf-style function.
      shell32/tests: Tweak some overly optimistic ok() messages.
      shell32/tests: Trace the effective ShellExecuteEx() flags.
      shell32/tests: Use the shell_execute{_ex}() call site for its traces and error messages.

Gerald Pfeifer (1):
      wined3d: Fix incorrect indentation of several break statements in in set_tex_op.

Hans Leidekker (17):
      bcrypt: Add support for SHA hashes on Linux using GnuTLS.
      bcrypt/tests: Don't load bcrypt dynamically.
      bcrypt/tests: Add tests for SHA hashes.
      bcrypt: Accept NULL implementation in BCryptOpenAlgorithmProvider.
      bcrypt: Support retrieving hash length from algorithm handles.
      include: Add missing Web Services declarations.
      webservices: Avoid some casts.
      webservices: Parse attribute names.
      webservices: Parse element names.
      webservices/tests: Add more tests for WsReadEndElement.
      webservices: Simplify handling of quotes in write_attribute.
      webservices: Attributes inherit the prefix from their element.
      webservices: Implement WsWriteXmlBuffer.
      webservices: Implement WsWriteXmlBufferToBytes.
      webservices: Reject end elements without a parent in the writer.
      webservices: Implement WsWriteType for a number of basic types.
      webservices/tests: Add tests.

Hugh McMaster (1):
      user32/tests: Use 'start' and 'end' variables in test comparisons.

Huw D. M. Davies (6):
      bcrypt: Ensure we have gnutls_hash() available.
      ole32: The type of the size of IMalloc'ed blocks is SIZE_T.
      oleaut32: Use the helper to access bstr_t.
      oleaut32: BSTRs should have 8 byte alignment on 64 bits.
      oleaut32: Use IMalloc_GetSize to determine the cache bucket.
      oleaut32: Use the default OLE allocator to allocate BSTRs.

Jacek Caban (14):
      mshtml: Added IHTMLCurrentStyle::overflowX implementation.
      mshtml: Added IHTMLCurrentStyle::overflowY implementation.
      mshtml: Added IHTMLCurrentStyle4::get_maxHeight implementation.
      mshtml: Added IHTMLUniqueName interface stub implementation.
      mshtml: Added IHTMLUniqueName::get_uniqueNumber implementation.
      mshtml: Added IHTMLUniqueName::get_uniqueID implementation.
      mshtml/tests: Added IHTMLUniqueName tests.
      mshtml: Expose IHTMLUniqueName for IDispatch of all element objects.
      oleaut32: Added more Invoke tests.
      mshtml: Skip unused named args in Invoke calls.
      mshtml: Added IHTMLDocument2::get_defaultCharset implementation.
      mshtml: Initialize dest VARIANT before VariantCopy call.
      mshtml/tests: Fixed location tests on IE11.
      d3d11.idl: Added CD3D11_RENDER_TARGET_VIEW_DESC and CD3D11_SHADER_RESOURCE_VIEW_DESC declarations.

Jactry Zeng (1):
      user32/tests: Fix a leak.

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

Józef Kucia (25):
      wined3d: Recognize SM4 ftou opcode.
      wined3d: Recognize SM4 ilt opcode.
      wined3d: Recognize SM4 imad opcode.
      wined3d: Recognize SM4 ine opcode.
      wined3d: Recognize SM4 ineg opcode.
      wined3d: Implement SM4 ftou instruction.
      wined3d: Reduce code duplication in shader_glsl_to_ functions.
      wined3d: Enable ARB_texture_query_levels extension.
      wined3d: Recognize SM4 resinfo opcode.
      wined3d: Implement SM4 resinfo instruction.
      d3d11/tests: Add test for SM4 resinfo instruction.
      d3d10core/tests: Add test for SM4 resinfo instruction.
      wined3d: Handle swizzle type equal to 0 as NOSWIZZLE.
      wined3d: Fix destination swizzle in few SM4 instructions.
      wined3d: Allow both SM4 parameter modifiers simultaneously.
      wined3d: Recognize SM4 oDepth register.
      wined3d: Implement SM4 imad instruction.
      wined3d: Recognize SM4 _sat instruction modifier.
      wined3d: Fix SM4 udiv instruction.
      wined3d: Do not update surface when empty box is passed.
      d3d11/tests: Extend test for ID3D11DeviceContext::UpdateSubresource().
      d3d10core/tests: Extend test for ID3D10Device::UpdateSubresource().
      wined3d: Do not copy surface region when empty box is passed.
      d3d11/tests: Add test for ID3D11DeviceContext::CopySubresourceRegion().
      d3d10core/tests: Port test_copy_subresource_region() from d3d11.

Michael Stefaniuc (1):
      dmime: Don't set DSBCAPS_CTRLPAN together with DSBCAPS_CTRL3D.

Nikolay Sivov (41):
      comctl32/trackbar: Update thumb immediately on TBM_SETPOS.
      msi: Fixed same file handle closed twice (Coverity).
      avifil32: Use typed pointers in sizeof() and va_arg() (Coverity).
      comdlg32: Don't use BOOL constants for regular integer type.
      crypt32: Fix a leak on error path (Coverity).
      ole2: Fix error handling in ReadClassStg().
      ole2: Implement ReadClassStm().
      ole2disp: Implement SafeArrayAllocDescriptor().
      dwrite: Consistently use explicit float literals.
      dwrite: Make position snapping more compact.
      dwrite: Fix a leak on error path.
      ole2disp: Implement SafeArrayDestroyDescriptor().
      ole2disp: Implement SafeArrayAllocData().
      dwrite: Start new effective run on strikethrough, underline or effect change.
      dwrite: Keep underlines in separate list.
      dwrite: Pass drawing effect to renderer in DrawGlyphRun().
      dwrite: Pass drawing effect to renderer in DrawStrikethrough().
      dwrite: Fix strikethrough baseline origin.
      ole2disp: Implement SafeArrayGetDim().
      ole2disp: Implement SafeArrayGetElemsize().
      ole2disp: Implement SafeArrayLock()/SafeArrayUnlock().
      dwrite: Handle bitmap allocation error when rendering to bitmap target.
      dwrite: Scale strikethrough thickness and position with current font size.
      ole2disp: Implement SafeArrayAccessData()/SafeArrayUnaccessData().
      dwrite: Implement support for underlines.
      dwrite: Store locale name range attribute in lower case.
      dwrite: Always initialize out pointers.
      dwrite: Fix comment typos.
      dwrite/tests: A test to compare font metrics with bold simulation and without.
      comctl32/trackbar: Update thumb immediately on key press.
      dwrite: Use callback freetype API to implement GetGlyphRunOutline().
      dwrite: Underline origin is always at the left run boundary.
      dwrite: Underline reading direction matches run direction.
      d3dx9/tests: Fix some test failures.
      d2d1: Don't update target dpi if only one SetDpi() argument is zero.
      d2d1: Support different measuring modes in DrawText().
      d2d1: Block target creation on invalid dpi values.
      d2d1: SetDpi() rejects negative values too.
      dwrite: Ask freetype once about kerning pairs support and monospaced property.
      dwrite: Return earlier from GetKerningPairAdjustments() when pair kerning is not supported.
      d2d1/tests: A test for DrawTextLayout() with drawing effect.

Paul Gofman (4):
      ole32: Fix behaviour of OLE init/uninit.
      ole32: Zero output interface pointer in OleGetClipboard() on error.
      ole32/tests: OleGetClipboard should succeed when COM/OLE is not inited.
      mscoree: Fix calling convention for mono callback functions.

Pierre Schweitzer (2):
      mpr: Implement WNetAddConnectionW(), WNetAddConnection2W(), WNetAddConnection3W().
      mpr: Implement WNetAddConnectionA(), WNetAddConnection2A(), WNetAddConnection3A().

Piotr Caban (19):
      msvcp120: Fix layout of classes with vtordisp field.
      oleaut32/tests: Add tests for safearray unmarshaling into passed variant.
      oleaut32: Set safearray pointer to NULL in LPSAFEARRAY_UserFree.
      oleaut32: Pass safearray from VARIANT_UserUnmarshal to LPSAFEARRAY_UserUnmarshal so it can be reused.
      oleaut32: Reuse safearray passed to LPSAFEARRAY_UserUnmarshal if possible.
      oleaut32: Don't overwrite pointers in VARIANT_UserUnmarshal so we may free or reuse them.
      oleaut32/tests: Show that VARIANT_UserUnmarshal may reuse passed in BSTR.
      msvcp100: Add numeric_limits<*>::lowest implementation.
      msvcp60: Export more complex numbers operators.
      msvcrt: Fix modff signature.
      msvcr120: Add _dpcomp implementation.
      msvcr120: Add _set_FMA3_enable stub.
      msvcr: Sync spec files.
      msvcrt: Add _crt_debugger_hook implementation.
      msvcrt: Fix size test of structure returned by _Gettnames.
      msvcr110: Fix __lc_time_data definition.
      msvcr110: Add _W_Gettnames implementation.
      msvcrt: Add support for member function pointers demangling in unDName function.
      msvcrt: Add support for $$B datatype description format in unDName.

Riccardo Bortolato (2):
      d3d11: Handle NULL source box in d3d10_device_CopySubresourceRegion().
      d3d11: Implement d3d11_immediate_context_CopySubresourceRegion().

Sebastian Lackner (2):
      server: Fix invalid memory accesss caused by destroying winstation before desktop.
      oleaut32: Fix invalid memory access on 64-bit when warn+heap is used.

Stefan Dösinger (10):
      d3d10core/tests: Multisampled render targets are zeroed on creation.
      d3d11/tests: Multisampled render targets are zeroed on creation.
      d3d10core/tests: Viewport properties are integers.
      wined3d: Prepare GL textures in surface_load_ds_location.
      wined3d: Block validation checks the surface size too.
      d3d9/tests: Block validation checks the surface size too.
      d3d8: Don't validate 2D texture lock coordinates.
      d3d8/tests: Test invalid locks with textures.
      d3d9/tests: Test invalid locks with textures.
      d3d8/tests: Block validation checks the surface size too.

Stefan Leichter (2):
      kernel32: Add stub for GetSystemPreferredUILanguages.
      kernel32/tests: Add tests for GetSystemPreferredUILanguages.

Thomas Faller (1):
      dde: Fix use-after-free.

Vincent Povirk (2):
      mscoree: Remove search fallbacks when Wine Mono isn't installed.
      mscoree: Remove "Install Mono for Windows" message.

YongHao Hu (1):
      msvcp110: Add tr2_sys__Link implementation and test.

Alexandre Julliard