Wine Announcement

The Wine development release 1.5.12 is now available.

What's new in this release (see below for details):
  - Support for disabling individual joysticks.
  - Better support for D3DX9 constant tables.
  - Some XRandR improvements.
  - 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.5.12 (total 31):

  21159  "Rayman 2": Does not recognize user input
  21461  GrapherOC: problem with drawing dotted lines
  21472  GrapherOC: Incorrect drawing
  21473  GrapherOC: Never remember DB path
  22071  Adding a new Record after a Find fails.
  22562  Raisonance Ride7 + RKit-ARM crashes on startup
  23104  Pro evolution soccer 2010/2011 demo crashes without native d3dx9_36
  24422  Victoria 2 demo crashes on startup without native d3dx9_36
  25439  Guitar Pro 6 requires vcrun2005
  26113  gameux/gamestatistics shows a ton of valgrind warnings
  26205  Dragon Age 2 demo doesn't start
  29038  strftime in gvim is outputting strings in a wrong encoding
  29340  Multiple apps need msvcp100.dll.??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@AAI@Z (Cave Story+, Arda C&C Red Alert extension)
  29352  NightSky HD crashes on startup (msvcp100)
  30009  Pepakura Designer fails to start
  30088  Microsoft SQL Server 2005 Express Edition installer fails due to missing msvcp80.dll.??0?$basic_stringstream@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@QAE@H@Z
  30168  GLSL does not work on ATI-based Macs
  30658  Rendering artifacts in Anarchy Online
  31017  Cave Story+ crashes with builtin msvcp90 (msvcp100)
  31021  Diablo III: Jumping pixels on enemies/NPC's
  31206  PDF Annotator can't load documents, complains "OLE error 80004001"
  31303  Netflix on Firefox hangs with loading bar at 0%
  31363  Intellicad Viewer needs msvcp71.dll.?_Init@strstreambuf@std@@IAEXHPAD0H@Z
  31482  VariantChangeTypeEx crashes when trying to convert VT_BSTR to VT_UI1|VT_ARRAY
  31490  Beyond Divinity: black screen during gameplay
  31501  Wine binaries have become substantially bigger in Wine 1.5.11
  31512  'Movavi video converter 3D' crashes in RegSetValueExW
  31521  Microsoft SQL Server Management Studio Express 2005: cannot control server service (Win32_Service WMI class needs StartMode and SystemName properties)
  31538  'And Yet It Moves' crashes when switching between windowed and fullscreen modes
  31550  Patrizier 2 Gold crashes in wined3d_device_set_render_target
  31551  Synthesia crashes when you click on play button in main menu, "elf_search_auxv can't find symbol in module" in console output


Changes since 1.5.11:

Alexandre Julliard (12):
      gdi32: Add a helper function to find a specific driver in the DC stack.
      gdi32: Allow removing a driver from the stack based on its function table.
      kernel32/tests: "en" is not a valid locale on some platforms.
      configure: Only enable -gdwarf-2 if -g was specified.
      opengl32: Generate null driver entry points for all extension functions.
      user32: ScrollWindow should not use a cached DC, unlike ScrollWindowEx.
      user32: Rely on SetWindowPos to invalidate the DCEs when the window region is changed.
      user32: Always go through set_window_pos when the WS_VISIBLE style is changed.
      user32: Invalidate the DCEs while still holding the window lock in SetWindowPos.
      winex11: Never attempt to create the window data from a different thread.
      winex11: Don't select for mouse events on the client window.
      winex11: Always paint to the whole window.

Alistair Leslie-Hughes (3):
      kernel32: Add GetCurrentConsoleFont stub.
      kernel32: Add GetConsoleFontSize stub.
      oleaut32: Add VT_BSTR to VT_UI2|VT_ARRAY test.

Andrew Eikum (1):
      winealsa.drv: Special-case copying common sample sizes in a tight loop.

André Hentschel (7):
      ntdll: Add support for Windows 8 version.
      ntdll: Catch bad pointers in RtlWow64EnableFsRedirectionEx.
      winedbg: Add load word operators to Thumb2 disassembler.
      po: Update German translation.
      winedbg: Add store operators to Thumb2 disassembler.
      winedbg: Add register data processing operators to Thumb2 disassembler.
      usbd.sys: Add partial USBD_ValidateConfigurationDescriptor implementation.

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

Austin English (1):
      readme: Wine no longer supports Mac OS X 10.4.

Dan Kegel (1):
      advapi32: RegSetValueExW should not crash when passed 1 instead of L"1".

Dmitry Timoshkov (25):
      windowscodecs: Do not assume that vtable is the first element of the object.
      gdi32: Make sure that pattern info is initialized before being used.
      gdiplus: If there is no hbitmap associated with GpBitmap then create one.
      gdiplus: Add a test for measuring string that doesn't fit into layout rectangle.
      gdiplus: Round the layout rectangle down instead of up in gdip_format_string().
      gdiplus: Return error code of the failed API to the caller.
      gdiplus: GdipGetImageThumbnail should return image in 32bppPARGB format.
      gdiplus: Add a test for extra space added by GdipMeasureString.
      gdiplus: StringFormatFlagsLineLimit doesn't allow line wrapping.
      gdiplus: Rename roundr() to gdip_round() to make it clearer that it's an internal helper.
      gdiplus: Use set_rect_empty() helper to make the code slightly more compact and readable.
      gdiplus: Add a bunch of tests for GdipMeasureCharacterRanges.
      gdiplus: GdipMeasureCharacterRanges shouldn't treat empty layout rectangle as infinite bounds.
      gdiplus: GdipMeasureCharacterRanges should respect device units and transformations.
      gdiplus: Clarify in the tests where 1/3 of extra text height comes from.
      gdiplus: Filter tabs out until they are properly supported using stringformat.
      gdiplus: Do not convert range_rect.X twice.
      gdiplus: Make GdipMeasureCharacterRanges use common font transformation code.
      gdiplus: Correct signature/mask info for the GIF codec.
      gdiplus/tests: Fix font leak.
      gdiplus: Fix font leak.
      gdiplus: get_log_fontW helper requires a valid graphics object.
      gdiplus: Make GdipMeasureCharacterRanges/GdipMeasureString/GdipDrawString add extra space around the text.
      gdiplus: Print some additional information about device and image being drawn.
      gdiplus: Add a test for scaling an image with world transform.

Erich Hoover (2):
      hhctrl.ocx: Create a special structure for holding non-const unicode strings.
      hhctrl.ocx: Implement HH_SET_WIN_TYPE.

Francois Gouget (12):
      dsound: Make dumpCooperativeLevel() static.
      msvcrt/tests: Add a trailing '\n' to a win_skip().
      msvcp100: VTBL_WRAPPER(60) is unused so remove it.
      dssenh/tests: add a trailing '\n' to a couple of ok() calls.
      po: A couple of British spelling fixes for the start usage message.
      po: Remove an unwanted trailing full stop in the Lithuanian translation.
      d3dx9_36: Add a trailing '\n' to a couple of Wine traces.
      xcopy: Fix spelling and slightly reword the usage message.
      po: A spelling fix in the French translation.
      msvcp100: Make some locale and string functions static.
      msvcp100: Remove some unused functions.
      usbd.sys: Add a trailing '\n' to a Wine trace.

Gerald Pfeifer (2):
      wininet: Fix initialization in test_cert_struct.
      dinput: Fix incorrect check in device_disabled_registry.

Henri Verbeet (4):
      winex11: Try XRandR 1.0 if 1.2 fails.
      winex11: Try harder to get usable RandR screen resources.
      wined3d: Use a slightly shorter timeout in wined3d_event_query_finish().
      wined3d: Also issue any queries for index buffers in drawPrimitive().

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

Jacek Caban (15):
      mshtml: Added IHTMLWindow6::get_sessionStorage implementation.
      oleaut32: Ensure that the right interface is passed to the callee in ITypeInfo::Invoke.
      oleaut32: Added more tests.
      d3d8: Use proper helpers for iface calls.
      ddraw: Use proper helpers for iface calls.
      dsound: Use proper helpers for iface calls.
      d3d9/tests: Use proper helpers for iface calls.
      windowscodecs/tests: Use proper helpers for iface calls.
      d3d10core: Use proper helpers for iface calls.
      Fixed remaining wrong iface call helpers.
      unknwn.idl: Don't use inline wrappers for IUnknown calls.
      Always define WIDL_C_INLINE_WRAPPERS.
      widl: Fail with error on an attempt to inherit interface from itself.
      mshtml: Added nsIDirectoryServiceProvider2 implementation.
      mshtml: Use nsIDirectoryServiceProvider2::GetFiles to provide Wine-specific plugin directory.

Jonas Wielicki (1):
      wined3d: Fix crash in wined3d_device_reset with gdi backend for directdraw.

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

Jérôme Gardou (1):
      opengl32/tests: Do not pass NULL attrib list to wglCreatePBufferARB.

Józef Kucia (7):
      d3dx9: ID3DXConstantTable::SetMatrix should set scalar constants.
      d3dx9: ID3DXConstantTable::SetVector shouldn't change the value of matrix constants.
      d3dx9: ID3DXConstantTable::SetFloat shouldn't change the value of matrix and vector constants.
      d3dx9: Implement ID3DXConstantTable::SetMatrixTransposeArray.
      d3dx9: Implement ID3DXConstantTable::SetMatrixTranspose.
      d3dx9: Implement ID3DXConstantTable::SetMatrixPointerArray.
      d3dx9: Implement ID3DXConstantTable::SetMatrixTransposePointerArray.

Lauri Kenttä (2):
      po: Update Finnish translation.
      joy.cpl: Make Enable/Disable buttons wider for translations.

Lucas Zawacki (10):
      dinput/tests: Test for keyboard GetCapabilities.
      dinput: Return a valid keyboard type in keyboard GetCapabilities.
      joy.cpl: Prevent crash on IDirectInputEffect_Release.
      dinput: Append driver name to dinput joysticks on Linux.
      dinput: Disable linuxinput or linux joysticks based on registry key.
      joy.cpl: Disable joysticks using joy.cpl.
      dinput8/tests: Added tests for saving and retrieving settings with SetActionMap.
      dinput: SetActionMap saving mappings.
      dinput8/tests: Test load actions when there's no pre-stored ones.
      dinput: BuildActionMap should not fail if mapping has no pre-stored settings.

Marcus Meissner (9):
      winecfg: Fixed use-after-free (Coverity).
      user32: Free the correct dce (Coverity).
      user32: Fixed two use-after-free (Coverity).
      quartz: Avoid linked list walk with free next (Coverity).
      qcap: Fixed a use after free in error path (Coverity).
      qcap: Fixed another use-after free (Coverity).
      joy.cpl: Avoid uninitialized variable usage (Coverity).
      hhctrl.ocx: Initialize ret on some error paths (Coverity).
      riched20: Fixed pointer to value out of scope (Coverity).

Marek Chmiel (3):
      dssenh/tests: Fixed failing block cipher mode tests on the DSSENH cryptographic service provider.
      dssenh/tests: Added signature tests on the DSSENH cryptographic service provider.
      dssenh/tests: Added key exchange tests for the DSSENH cryptographic service provider.

Matteo Bruni (3):
      wined3d: Fix blending test expected results.
      wined3d: Force ARB shader programs reselection on bool/int constant changes.
      wined3d: Use BOOL instead of char in shader_load_constants().

Michael Stefaniuc (10):
      qedit: COM cleanup for the IClassFactory iface.
      strmbase: COM cleanup for the IClassFactory iface.
      mlang: COM cleanup for the IClassFactory iface.
      amstream: COM cleanup for the IClassFactory iface.
      quartz: COM cleanup for the IClassFactory iface.
      dsound: Cleanup IKsPrivatePropertySetImpl_Create().
      dplayx: Avoid TRUE:FALSE conditional expressions.
      wineconsole: Avoid TRUE:FALSE conditional expressions.
      dsound: Move the capture structs declarations to the .c file.
      winetest: Remove an unused struct field.

Nikolay Sivov (26):
      amstream: Call interface methods properly.
      browseui: Call interface methods properly.
      comctl32: Call interface methods properly.
      gameux: Call interface methods properly.
      itss: Call interface methods properly.
      mciqtz: Call interface methods properly.
      mlang: Call interface methods properly.
      mscoree: Call interface methods properly.
      msctf: Call interface methods properly.
      mstask: Call interface methods properly.
      qcap: Call interface methods properly.
      winealsa: Fix variable types so pointer is not truncated on 64bit.
      winecoreaudio: Fix variable types so pointer is not truncated on 64bit.
      wineoss: Fix variable types so pointer is not truncated on 64bit.
      msdaps: Use proper method macro.
      quartz/tests: Use proper method macros.
      shell32/tests: Use proper method macros.
      wshom.ocx/tests: Use proper method macro.
      qmgr: Use proper method macros.
      riched20/tests: Use proper method macros.
      wmi: Implement StartMode property for service class.
      wmi: Implement SystemName property for service class.
      msxml3: Implement xmldecl-version property for a reader.
      dwrite: Added IDWriteFontFamily stub.
      kernel32: Handle neutral locale names better in GetLocaleInfoEx.
      xmllite: Store DTD processing mode in reader.

Piotr Caban (10):
      msvcp90: Fixed buffer allocation in basic_stringbuf<wchar> class.
      msvcrt: Fixed vector destructors implementation on 64-bit systems.
      msvcrt/tests: Execute c++ related tests on 64-bit systems.
      user32: Don't limit time needed for WM_DDE_INITIATE processing.
      msvcp100: Removed virtual function callers for functions that are not virtual.
      msvcp80: Forward basic_string::erase functions to msvcp90.
      msvcp80: Fixed basic_string::rbegin and basic_string::rend implementation.
      comctl32: Remove property sheet page that can't be initialized.
      wbemprox: Added MaxClockSpeed and NumberOfLogicalProcessors builtin properties.
      dxdiagn: Initialize ProcessorEnglish property.

Rico Schüller (34):
      d3dx9: Return NULL if name is not given.
      d3dx9: Improve check for empty braces for elements.
      d3dx9: Make annotation handling more generic for techniques and passes.
      d3dx9: Silence missing function handling in the effect interface.
      d3dx9: Use a separate function for the technique name.
      d3dx9: Move technique name handling to technique handle validation.
      d3dx9/tests: Add variable name test.
      d3dx9: Don't double check the technique.
      d3dx9: Identify D3DTSS_CONSTANT and FVF states.
      d3dx9: Remove not needed TRACE.
      d3dx9: Avoid TRUE : FALSE conditional expression.
      d3dx9: Remove ctab_constant typedef.
      d3dx9: Add a fixme for flags in D3DXGetShaderConstantTableEx().
      d3dx9: Don't use an index as variable handle, it's not useable for subvariables.
      d3dx9: Parse structs and sub constants in ID3DXConstantTable.
      d3dx9: Improve is_valid_constant().
      d3dx9: Improve ID3DXConstantTable::GetConstantByName().
      d3dx9: Improve ID3DXConstantTable::GetConstant().
      d3dx9: Improve ID3DXConstantTable::GetConstantDesc().
      d3dx9: Implement ID3DXConstantTable::GetConstantElement().
      d3dx9: Fix RegisterCount calculation.
      d3dx9/tests: Add tests for ID3DXConstantTable::GetConstantDesc().
      d3dx9/tests: Add tests for ID3DXConstantTable::GetConstant/ByName/Element().
      d3dx9: Use debug_d3dxparameter_class/type in traces.
      d3dx9: Add debug helper function for RegisterSet.
      d3dx9: Remove "too many constants" fixme.
      d3dx9/tests: Fix typo.
      d3dx9: Add some traces to D3DXLoadSurfaceFromMemory().
      d3dx9: Improve set_matrix_array().
      d3dx9: Handle D3DXPC_VECTOR in set_matrix_array().
      d3dx9: Remove min() in set_matrix_array(), uses always the desc value.
      d3dx9: Avoid desc copy in ID3DXConstantTable::GetSamplerIndex().
      d3dx9: Optimize set_matrix().
      d3dx9: Improve traces in set_number().

Roman Dadkov (2):
      oleaut32: Record DocString field in ITypeInfoImpl structure in function ITypeLib2_Constructor_SLTG.
      oleaut32: Fix VectorFromBstr call in VARIANT_CoerceArray.

Vincent Povirk (8):
      windowscodecs: Allow CopyPixels to succeed without padding from the last row.
      windowscodecs: Implement IWICImagingFactory::CreateBitmapFromSource.
      mscoree: Avoid calling mono_image_open_from_module_handle for libraries.
      propsys: Fix memory leak in IPropertyStore::SetValue.
      ole32: Add tests for StgConvertPropertyToVariant.
      ole32: Implement StgConvertPropertyToVariant.
      ole32: Add support for reading BSTR properties.
      ole32: Fix typo.

Alexandre Julliard