Wine Announcement

The Wine development release 1.5.9 is now available.

What's new in this release (see below for details):
  - Support for GPOS font tables in Uniscribe.
  - Support for XRandr 1.2 and 1.3.
  - Parser improvements for the HLSL compiler.
  - More key exchange algorithms supported on Mac OS.
  - Relay tracing on ARM.
  - 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.9 (total 54):

   3569  "MDK" does not display most of graphic
   9638  VB6 apps using scrrun FileSystem object fail because GetIDsOfNames is not implemented (Fileant, WinAmbulance, ...)
  18505  Crashday: Grey overlay at loading screen
  20170  Gruntz: Slow down a lot when displaying text
  20809  15 Days: Crash at startup
  21346  Ashampoo Slide Show 2010: Slideshow preview window crashes the app
  21487  hh.exe: Missing icons, problem displaying initial page of sample .chm file
  25187  Sandlot games launcher "Play Now" button does nothing
  25312  Add support  for XRandR 1.2
  25797  Dogfighter (Steam) hangs when changing the video settings
  26247  Lifbase: text input area borders are corrupted
  26815  Mini Golf cannot be played a second time
  28428  eXperience 112: broken shadows
  28949  VBSCript fail to parse 'for each <> in <>' statement
  29115  Pegasus Mail v. 4.62 build 191 generates exception in safecall method
  29669  Dragon Age: Origins DVD authenticity checks fail (descriptor structures returned by DVD_READ_STRUCT need a descriptor header prepended)
  29697  Winamp [5.623]: Application crashes at startup, needs msvcr90.dll.bsearch_s
  29711  Quick Lohn installation crashes on setup
  29824  Photoscape needs msvcp90.dll.??0?$basic_istringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@H@Z
  30184  Take advantage of xrandr 1.3 features
  30221  Pegasus Mail v4.63 starts w/ exception "(0x80040100) (0x80040100) @01AD84F5" (OleCommandTarget_Exec Unsupported cmdID = 63)
  30316  Pegasus Mail v4.63 - tooltips labels are left blank
  30321  wine iexplore crash in mshtml
  30472  iexplore crashes in HTMLDocument_get_cookie
  30495  Serif WebPlus X2 fails to start due to windowscodecs BitmapEncoderInfo_GetPixelFormats being a stub
  30533  The Walking Dead Episode 1: Black screen after startup
  30602  GTA2 crashes on exit
  30757  Dota 2 won't render with d3d9ex
  30872  Fifa 2005 demo crashes with German language selected
  30926  Mathematica 8.0.1 crashes on startup
  30986  Severe frame rate regression in 3D games when changing cursor graphic (esp with animated cursors)
  31082  StarTopia: crashes while loading
  31092  ctest, cmake crash with null this in msvcp90.locale_dtor
  31104  msvcp90.dll.??5?$basic_istream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAVios_base@1@AAV21@@Z@Z unimplemented
  31115  Driftmoon needs Win32_BaseBoard WMI class (queries for SerialNumber property)
  31120  Clones (game) crashes on start in quartz
  31124  Trying to install Sketchup pro 8 on Ubuntu 12.04 64bit
  31127  .NET Framework 4.5 RC Runtime Optimization Service needs kernel32.dll WerSetFlags stub
  31128  Microsoft.Build tool from .NET Framework 4.x requires kernel32.dll GetDynamicTimeZoneInformation
  31130  Microsoft C# compiler from .NET Framework 4.x requires kernel32.dll GetLocaleInfoEx
  31131  installer of Thunder 7 crashes at unimplemented msvcp71.dll.?$?6U?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@D@Z
  31132  Rise of Nations : Will not Start
  31138  EverQuest II: Launchpad hangs while loading
  31141  wined3d_get_adapter_display_mode failure with relay+trace
  31155  Microsoft SQL Server 2005 Express Edition: SQL Server System Configuration Checker fails (needs StdRegProv WMI class)
  31160  Driver problem for Epson stylus sx235w printer/scanner. unimplemented function setupapi.dll.SetupDiGetDeviceInstallParamsW
  31165  Kareo installer puts up fatal dialog on startup
  31187  Error file not found "Version.ini" on IPView Pro 3.00 and 4.00 with builtin scrrun.dll
  31198  Google Sketchup Layout crashes during startup
  31201  MathCad 15 can't acquire trial license
  31213  Amnesia - The Dark Descent: launcher.exe crashes on start
  31214  Eschalon Book I: corrupted text in DirectX mode
  31219  Wine cannot install dotnet2 using winetricks
  31229  ChessBase 2009 Light help viewer crashes


Changes since 1.5.8:

Alex Henrie (1):
      user32: Minimize and maximize boxes can only appear when WS_SYSMENU is set.

Alexandre Goujon (5):
      include/ddk: Add DVD_DESCRIPTOR_HEADER descriptor structure.
      kernel32/tests: Add a helper to test CDROM ioctl.
      kernel32/tests: Add a IOCTL_DVD_READ_STRUCTURE (DvdPhysicalDescriptor) test.
      kernel32/tests: Add a IOCTL_DVD_READ_STRUCTURE (DvdCopyrightDescriptor) test.
      kernel32/tests: Add a IOCTL_DVD_READ_STRUCTURE (DvdManufacturerDescriptor) test.

Alexandre Julliard (7):
      winex11: Get rid of the no longer needed drawable rect in the X11 device.
      wined3d: Remove unused variables.
      gdiplus: Avoid out of bounds access warning.
      opengl32: Mark invalid handles with ffff instead of 0.
      opengl32/tests: Run more tests against the GDI renderer.
      server: Subtract the current update region from the valid rect when a window client area is changed.
      user32/tests: Move DlgDirList tests to avoid changing the current directory for other tests.

Alistair Leslie-Hughes (2):
      scrrun: Add typelib support.
      mmcndmgr: Implement IMMCVersionInfo.

Andrew Eikum (1):
      mpr: Don't succeed if drive is not remote in WNetGetUniversalName.

André Hentschel (8):
      winedbg: Add branch and exchange operator to ARM disassembler.
      winedbg: Add multiplication operators to ARM disassembler.
      winedbg: Add swap operator to ARM disassembler.
      winedbg: Add new operators regarding data processing to ARM disassembler.
      setupapi: Add a stub for SetupDiGetDeviceInstallParamsW.
      winebuild: Generate relay debugging thunks for ARM.
      ntdll: Add support for relay debugging on ARM.
      msvcrt: Add bsearch_s implementation by reusing code and tests from ntdll.

Aric Stewart (16):
      comdlg32: Do not use GetDlgItemText to get combo box text during an CBN_SELCHANGE notification.
      ups10: Rename common opentype tables used in both GSUB and GPOS to OT_.
      usp10: Load the GPOS table.
      usp10: Change OpenType_GSUB_GetFontScriptTags to OpenType_GetFontScriptTags and load scripts from GPOS table as well.
      usp10: Change OpenType_GSUB_GetFontLangaugeTags to OpenType_GetFontLanguageTags and load languages from GPOS table as well.
      usp10: Change OpenType_GSUB_GetFontFeatureTags to OpenType_GetFontFeatureTags and load features from GPOS table.
      usp10: Implement SHAPE_ApplyOpenTypePositions using GPOS table.
      usp10: Implement GPOS Anchor formats.
      usp10: Add GPOS features to scripts as defined by VOLT.
      usp10: In ScriptTextOut make use of piAdvance and pGoffset to position glyphs.
      usp10: Implement GPOS MarkToBase.
      usp10: Handle GPOS ValueRecords.
      usp10: Implement GPOS Single Adjustment Positioning.
      usp10: Implement GPOS Pair Adjustment Positioning Subtable.
      ups10: Implement Single Adjustment Positioning: Format 2.
      usp10: Implement GPOS Coverage-based Chaining Context Glyph Positioning.

Austin English (4):
      kernel32: Add a stub for WerSetFlags.
      kernel32: Add a stub for GetDynamicTimeZoneInformation.
      inseng: Add a stub for DllInstall.
      kernel32: Add a stub for GetLocaleInfoEx.

Bruno Jesus (2):
      user32/tests: Add a test for OpenClipboard twice with non-zero hwnd.
      user32/tests: Update DlgDirList tests.

Dan Kegel (1):
      wininet: Don't evaluate netconn_get_avail_data() twice in netconn_read().

Daniel Jelinski (6):
      comctl32/treeview: Clean up mouse tracking code.
      comctl32/treeview: Fix NM_RCLICK behavior.
      comctl32/treeview: Send WM_CONTEXTMENU everywhere, not just over items.
      comctl32/treeview: Inlined TREEVIEW_RButtonUp.
      comctl32/treeview: Send WM_CONTEXTMENU only to parent window.
      comctl32/treeview: Fix the position reported by WM_CONTEXTMENU.

Daniel Lehman (1):
      msvcp90: Handle npos as a len in basic_string<>::replace.

Detlef Riekenberg (3):
      credui: Add a stub for CredUIInitControls.
      advapi32: Implement CredIsMarshaledCredentialA/W.
      advapi32/tests: Add tests for CredIsMarshaledCredential.

Dmitry Timoshkov (24):
      winex11.drv: Avoid conflicting definitions of WINGDIAPI.
      gdiplus: Add a test for palette associated with black&white TIFF image.
      windowscodecs: Add a test for palette associated with black&white TIFF image.
      windowscodecs: Add support for generating WICBitmapPaletteTypeFixedBW palette. Resend.
      windowscodecs: Add support for generating WICBitmapPaletteTypeFixedGray4 palette.
      windowscodecs: Add support for generating WICBitmapPaletteTypeFixedGray16 palette.
      windowscodecs: Add support for generating WICBitmapPaletteTypeFixedGray256 palette.
      windowscodecs: Add support for generating WICBitmapPaletteTypeFixedHalftone8 palette.
      windowscodecs: Add support for generating WICBitmapPaletteTypeFixedHalftone64 palette.
      windowscodecs: Add support for generating WICBitmapPaletteTypeFixedHalftone256 palette.
      windowscodecs: Use predefined WICBitmapPaletteTypeFixedGray4 palette instead of a handmade one.
      windowscodecs: Use predefined WICBitmapPaletteTypeFixedGray16 palette instead of a handmade one.
      windowscodecs: Test pixel format of the loaded TIFF image.
      windowscodecs: Avoid casting IWICFormatConverter to IWICBitmapSource.
      windowscodecs: Use predefined WICBitmapPaletteTypeFixedBW palette instead of a hand-made one.
      gdiplus: Make sure that 1bpp bitmap images get loaded in native format.
      gdiplus: Fix palette flags for a not indexed 1-bpp image.
      gdiplus: Make sure that GdipBitmapLockBits stores valid lockmode.
      gdiplus: Add some tests for GdipBitmapLockBits/GdipBitmapUnlockBits.
      gdiplus: Use public ColorPalette structure to store image palette.
      gdiplus: Pass complete palette info to convert_pixels().
      gdiplus: Pass palette instead of bitmap to setpixel helpers.
      gdiplus: Add support for converting RGB formats to 8bpp indexed.
      gdiplus: Add support for converting RGB formats to 1bpp indexed.

Erich Hoover (3):
      shell32: Fix FindExecutable search path when a default directory is supplied.
      hhctrl.ocx: Implement HH_CLOSE_ALL.
      hhctrl.ocx: Permit WS_CHILD help windows.

Francois Gouget (4):
      gdi32: Remove an unused wgl debugging channel.
      winex11.drv: We must include Xlib.h before Xrandr.h.
      appwiz.cpl: Only offer to download an addon if its installer is missing.
      mshtml: Avoid returning with an unset URL policy in error cases.

Gerald Pfeifer (1):
      ntdll: Omit unused typedef in test_query_process_basic.

Hans Leidekker (13):
      wbemprox: Add a partial Win32_BaseBoard class implementation.
      wbemprox: Implement Win32_Processor.Manufacturer and Win32_Processor.Name.
      fusion: Also copy external files in IAssemblyCache::InstallAssembly.
      ntdll: Report 3dnow and sse features if the processor supports them.
      setupapi: SetupInstallServicesFromInfSection doesn't fail if there are no AddService or DelService directives in the section.
      msi: Don't crash if no working directory is specified for custom action type 34.
      msi: Don't hard-code the ServicePackLevel property.
      wbemprox: Add support for evaluating string comparisons.
      wbemprox: Implement Win32_NetworkAdapter.MACAddress and Win32_NetworkAdapter.PNPDeviceID.
      wbemprox: Return a null variant instead of an empty string if the property isn't set.
      wbemprox: Add a partial StdRegProv class implementation.
      wbemprox: Add support for creating new tables.
      msi/tests: Mark some test results as broken.

Henri Verbeet (33):
      secur32: Only read complete records in schan_InitializeSecurityContextW().
      wined3d: Fix the .spec.
      d3d9: Implement d3d9_device_ResetEx().
      winex11: Get rid of xvidmode.h.
      winex11: Get rid of xrandr.h.
      wined3d: Get rid of the "lockable" parameter to device_parent_create_rendertarget().
      wined3d: Get rid of the "discard" parameter to device_parent_create_depth_stencil().
      wined3d: Print a more obvious message if a format doesn't have a corresponding GL internal format.
      winex11: Remove some unused includes from xrandr.c.
      winex11: Introduce a separate function for initializing the list of XRandR display modes.
      wined3d: Introduce a helper function for checking surface block alignment.
      wined3d: Fix the block alignment check in surface_cpu_blt().
      wined3d: Merge the device parent create_rendertarget() and create_depth_stencil() handlers.
      winex11: Simplify X11DRV_XRandR_Init() error handling a bit.
      winex11: Get rid of some needless globals.
      d3d10core: Always create a wined3d texture for d3d10core textures.
      d3d10core: Implement d3d10_texture2d_Unmap().
      d3d10core: Implement d3d10_texture2d_Map().
      ddraw: Get rid of the "tex_root" hack.
      ddraw: Get rid of some redundant TRACE_ON invocations.
      ddraw: Create texture surfaces from device_parent_create_texture_surface().
      winex11: Simplify the XRandR mode matching code a bit.
      winex11: Fix the virtual desktop check in update_desktop_fullscreen().
      ddraw: Create surfaces with the correct mip level in device_parent_create_texture_surface().
      wined3d: Get rid of the unused sampler_stages limit.
      winex11: Properly calculate the virtual screen rect in xinerama_init().
      winex11: Add support for XRandR 1.2.
      winex11: Add support for XRandR 1.3.
      wined3d: Use the proper texture target in arbfp_blit_set().
      wined3d: Use the proper texture target in ffp_blit_set().
      wined3d: Use the proper texture target in fb_copy_to_texture_direct().
      wined3d: Use the proper texture target in ffp_blit_p8_upload_palette().
      wined3d: Introduce a separate function for initializing various limits.

Huw Davies (3):
      winspool: Don't assume that CUPS is available.
      ntdll: Increase the buffer size for processor features and add a check to catch future overflows.
      ntdll: Remove a spurious assignment.

Jacek Caban (35):
      vbscript: Better representation of statement context.
      vbscript: Fixed 'exit do' statements crossing for in loops.
      vbscript: Fixed function return crossing for loop.
      vbscript: Added support for exit for statement in 'for in' loops.
      ieframe: Call OnInPlaceDeactivate in DoVerb(OLEIVERB_HIDE) implementation.
      ieframe: Added more DoVerb tests.
      ieframe: Added init_test helper.
      ieframe: Avoid useless QI(IID_IWebBrowser2) calls in tests by passing IWebBrowser2 interface where possible.
      vbscript: Ignore version flags in GetDispID.
      mshtml: Moved binding list to HTMLInnerWindow.
      mshtml: Simplify ASServiceProvider_QueryService.
      mshtml: Moved detaching inner window to separated function.
      vbscript: Added UCase implementation.
      vbscript: Added LCase implementation.
      mshtml: Create inner window early in binding process and use it to store current binding callback.
      mshtml: Use per-inner window task_magic for binding.
      mshtml: Don't store outer window in nsChannelBSC.
      mshtml: Use proper task_magic in async_open.
      mshtml: Get rid of no longer needed support for new window navigation in before_async_open.
      mshtml: Added HTMLElement::onkeypress implementation.
      mshtml: Added HTMLInputElement::onchange implementation.
      mshtml: Added IHTMLInputElement::maxLength implementation.
      mshtml: Added IHTMLAnchorElement::name implementation.
      mshtml: Moved invoking DISPID_VALUE to separated function.
      mshtml: Added support for calling functions returned by builtin getters.
      mshtml: Added test of calling IDispatchEx properties.
      jscript: Prefer builtin version.
      jscript: Properly set Number.prototyp.constructor.
      jscript: Properly handle constructor property for most builtin constructors.
      jscript: Properly set Function constructor's constructor property.
      jscript: Properly set Error object's constructor property.
      jscript: Expose RegExpError constructor in global object.
      jscript: Don't set constructor property to each object instance, it belongs to their prototypes.
      d3drmdef.h: Replace unsigned long by ULONG.
      mshtml: Ignore navigation failures from detached bindings.

Józef Kucia (9):
      d3dx9: Validate the size of a volume texture in D3DXGetImageInfoFromFile.
      d3dx9: Fix D3DXLoadVolumeFromVolume so it works for subsets of volumes.
      d3dx9: Implement D3DXLoadVolumeFromFileInMemory.
      d3dx9/tests: Add tests for D3DXLoadVolumeFromFileInMemory.
      d3dx9: Implement D3DXLoadVolumeFromFile.
      d3dx9: Implement pixel format conversion for volume textures.
      d3dx9: Implement point filtering for volume textures.
      d3dx9: Use structure to pass volume size to pixel format conversion functions.
      d3dx9: Implement volume texture filtering in D3DXFilterTexture.

Ken Thomases (3):
      include/wincrypt.h: Add identifiers for Elliptic curve Diffie-Hellman algorithm.
      secur32: On Mac, recognize key exchange algorithm for cipher suites using ECDH.
      secur32: On Mac, define modern ECDH cipher suites if the SDK doesn't.

Lucas Zawacki (3):
      joy.cpl: Correct joystick testing thread behavior.
      joy.cpl: Tab for force feedback tests.
      joy.cpl: Added force feedback direction control.

Marcus Meissner (5):
      d3dcompiler_43: Fixed small overread possibility (Coverity).
      krnl386.exe16: Do not truncate the strcmp result (Coverity).
      setupx.dll16: Avoid strcmp() result truncation (Coverity).
      shell32: Avoid memcmp result truncation (Coverity).
      user.exe: Avoid truncating strcmp result (Coverity).

Matteo Bruni (20):
      d3dcompiler: Fix line info update.
      d3dcompiler: Type names have to be allocated on the heap.
      d3dcompiler: Carry around both shader major and minor version.
      d3dcompiler: Parse compilation target.
      d3dcompiler: Initialize and fix compilation messages generation.
      d3dcompiler: Properly print compilation messages.
      d3dcompiler: Make declaration_statement return a list.
      d3dcompiler: Pass the shader filename to the preprocessor.
      d3dcompiler: Add a trace to the scope push/pop functions.
      d3dcompiler: Improve debug_hlsl_type function.
      d3dcompiler: Add hlsl_report_message function to standardize error messages.
      d3dcompiler: Track the location of each lexer token.
      d3dcompiler: Introduce source_location structure.
      d3dcompiler: Store (and begin to use) location information for variables.
      d3dcompiler: Use location information in add_modifier().
      d3dcompiler: Store location information in constants, variable dereferences and constructors.
      d3dcompiler: Pass the complete location to add_func_parameter().
      d3dcompiler: Variables and functions can't have the same name.
      d3dcompiler: Don't allow semantics on void functions.
      d3dcompiler: Implement basic expressions parsing.

Michael Stefaniuc (1):
      quartz: Remove an object to IFilterGraph2 cast.

Nicolas Le Cam (1):
      windowscodecs: Avoid using uninitialized value (LLVM/Clang).

Nikolay Sivov (22):
      msxml3: Don't use stream written value when saving to stream.
      msxml3: Fix xml declaration output when it's specified in loaded document (in case of stream).
      msxml3: Fix xml declaration output when it's specified in loaded document (in case of file).
      msxml3: Remove unneeded xmlInitParser call.
      msxml3: Add VT_I1 type to variant dump helper.
      scrrun: Added IFileSystem3_FileExists implementation.
      ole32: COM cleanup of storage IStream implementation.
      ole32: Implement GetConvertStg().
      ole32: Simplify storage root entry name initialization.
      ole32: COM cleanup for IStorage interface of base storage implementation.
      ole32: COM cleanup of IPropertySetStorage interface.
      ole32: No need to test for null implementation pointer in methods.
      ole32: Implement SetConvertStg().
      msxml3: Protect from null pointer in load().
      msxml3: Implement put/get for DTD handler callback interface.
      msxml3: Implement a common way to store and get callback interface pointers.
      msxml3: Use single helper to test for handler presence.
      ole32: Use interface macros to call methods.
      ole32: Make ole stream creation helper capable of handling flags data.
      ole32: COM cleanup of HGLOBAL ILockBytes implementation.
      ole32: COM cleanup for IErrorInfo.
      ole32: Fix QueryInterface for IErrorInfo to return IUnknown pointer.

Nozomi Kodama (2):
      d3dx9: Implementation of D3DXSHMultiply2.
      d3dx9_36: Implementation of D3DXSHEvalDirection.

Piotr Caban (10):
      msvcp90: Implement more basic_istream<char>::operator>> functions.
      msvcp90: Implement more basic_istream<wchar>::operator>> functions.
      msvcp90: Implement more basic_ostream<char>::operator<< functions.
      msvcp90: Implement more basic_ostream<wchar>::operator<< functions.
      msvcp: Sync spec files.
      msvcp90: Pass base class pointer to virtual functions.
      msvcp90/tests: Added destructor tests for class with virtual inheritance.
      msvcp90: Fix EOF handling in basic_filebuf<char>::underflow.
      msvcp90: Fix off by one issues in basic_string functions operating on iterators.
      msvcp90: Fix parsing of floating point numbers starting with decimal separator.

Rico Schüller (5):
      d3dx9: Implement ID3DXBaseEffect::GetMatrixPointerArray().
      d3dx9: Implement ID3DXBaseEffect::GetMatrixTransposePointerArray().
      d3dx9/tests: Add effect parameter value GetMatrixPointerArray() test.
      d3dx9/tests: Add effect parameter value GetMatrixTransposePointerArray() test.
      d3dx9/tests: Fix array increment in SetMatrix*PointerArray() test.

Thomas Faber (1):
      ntdll/tests: Add test for RtlIpv4StringToAddress.

Vincent Povirk (4):
      gdiplus: Fix GdipImageRotateFlip for images from streams.
      gdiplus: Fix memory leak in GdipImageRotateFlip.
      gdiplus: Implement LineJoinMiterClipped and partially implement LineJoinMiter.
      gdiplus: Accept a transformation matrix in GdipFlattenPath.

Wei-Lun Chao (3):
      po: Update Chinese (Taiwan) translation.
      po: Update Chinese (Taiwan) translation.
      po: Update Chinese (Taiwan) translation.

Alexandre Julliard
[email protected]