Wine Announcement

The Wine development release 1.5.25 is now available.

What's new in this release (see below for details):
  - Proper cursor support in the Mac driver.
  - Fixes for right-to-left support in RichEdit.
  - Initial version of a Wingdings font.
  - 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.25 (total 40):

   5341  SourceInsight: Missing dock button
   8942  Astral Masters no longer gets past start screen
  17130  felix2: The screenmate flashes and doesn't move
  18819  LOK Soul Reaver program error
  19144  QueryContextAttributesW returns wrong return value
  19504  Moedan: Crashes after showing developer's logo.
  19678  Lingoes does not start
  21283  sPlan 7.0: Non properly text rotation
  21856  VB6 modal form appears BEHIND parent (borderless) form when focus is on certain controls, making parent form unusable.
  22227  Wrong grayed picture for disabled vb6 controls
  22551  Multiple .NET apps fail to load riched20.dll into memory (.NET Framework/Windows Forms wants riched20.dll loaded into lower 2GiB address space range)
  22860  Enterprise Architect fails to create a new project or loads an existing one
  23227  G-Police: Page fault on read access
  23986  datetime control SetRange() has no effect, enter big year will cause CTime assert failed
  24669  Civilization V crashes on startup
  26261  Start menu items are not displayed
  26465  Sound Recorder cannot convert audio codec/sample rate, due to 'acmFormatChooseW' missing
  26775  Ace of Spades: Incomplete Sound
  27941  Very slow rendering in sPlan7
  29616  1Password crashes while creating a backup
  31456  Emulating a virtual screen does not work
  31769  windowsx.h macro HANDLE_WM_DISPLAYCHANGE is incorrect
  31987  FindNextFile/DeleteFile loop fails for directories with many files
  32391  Iexplore crashes
  32697  Word 2003 crashes on formula edit
  32709  The Testament of Sherlock Holmes crashes at launch
  32743  putty_arm for jailbroken WinRT needs KERNEL32.dll.GetCurrentPackageId
  32798  Memory leak in Path of Exile
  32829  TurboTax 2012 crashes when applying updater preferences
  32846  dxdiag: can't retrieve network info
  32854  Winedbg on ARM: gdb proxy mode lacks support for reading CPSR
  32905  MT4(MetaTrader) crash at start when mpd playing music
  32919  Yarmap causes Unhandled exception: page fault on read access in 32 bit code
  32990  Wine on ARM: relay tracing is broken with entry points having an odd number of arguments, calling into glibc code that makes use of alloca()
  33011  Metatrader4 crashes trying to open message
  33014  Steam enters into an infinite update loop upon opening with wine 1.4.1
  33029  wine-gecko downloads broken
  33063  Rosetta Stone 4.5.5 - RosettaStoneLtdServices.exe crash on start
  33064  Rosetta Stone 4.5.5 - Cannot start lesson: See only a gray box
  33071  Adobe Reader XI not installing


Changes since 1.5.24:

Alessandro Pignotti (8):
      quartz: IEnumFiltersImpl needs to access data from IGraphFilterImpl.
      quartz: Properly implement IGraphVersion in IFilterGraph.
      quartz: Modify GetClassMediaFile to also extract the SourceFilter value.
      quartz: Make GetClassMediaFile visible in the module.
      quartz: Check byte patterns in GetFileSourceFilter.
      quartz: Use the moniker to create the filter directly.
      quartz: Get the CLSID directly from the filter.
      quartz: It's not guaranteed that filters have a GUID in the property bag.

Alexandre Julliard (6):
      gdi32/tests: Define the required Windows version before including anything.
      user32/tests: Define the required Windows version before including anything.
      rpcrt4/tests: Define the required Windows version before including anything.
      kernel32: Attempt to buffer the full directory in FindFirstFile to avoid races.
      winegcc: Don't use prelink when cross-compiling.
      psapi/tests: Define the required Windows version before including anything.

Alistair Leslie-Hughes (1):
      webservices: Add new dll.

Andrew Talbot (19):
      msvcp90: Avoid signed-unsigned integer comparisons.
      msi: Avoid signed-unsigned integer comparisons.
      mshtml: Avoid signed-unsigned integer comparisons.
      msxml3: Avoid signed-unsigned integer comparisons.
      msvcrt: Avoid signed-unsigned integer comparisons.
      ntdll: Avoid signed-unsigned integer comparisons.
      oleaut32: Avoid signed-unsigned integer comparisons.
      ole32: Avoid signed-unsigned integer comparisons.
      quartz: Avoid signed-unsigned integer comparisons.
      oledlg: Avoid signed-unsigned integer comparisons.
      oledb32: Avoid signed-unsigned integer comparisons.
      shell32: Avoid signed-unsigned integer comparisons.
      rpcrt4: Avoid signed-unsigned integer comparisons.
      sane.ds: Avoid signed-unsigned integer comparisons.
      usbd.sys: Avoid signed-unsigned integer comparisons.
      urlmon: Avoid signed-unsigned integer comparisons.
      usp10: Avoid signed-unsigned integer comparisons.
      windowscodecs: Avoid signed-unsigned integer comparisons.
      kernel32/tests: Do not assume the signedness of plain char.

André Hentschel (10):
      winhlp32: Properly detect non-ASCII chars.
      ntdll: Correctly align the stack for odd numbers of arguments in relay traces on ARM.
      kernel32: Add stub for GetCurrentPackageId.
      comctl32/tests: Mark win8 behaviour as broken.
      winedbg: There is no hardware single stepping support on ARM.
      winedbg: Add support for XML Target Descriptions to read Cpsr on ARM.
      api-ms-win*: Update spec files.
      msvcrt: Add a new file for the ARM exception handling.
      msvcrt/tests: Mark win8 behaviour as broken.
      msvcrt: Fix DISPATCHER_CONTEXT on ARM.

Austin English (1):
      riched20: Make sure to load dll below 2GB address space.

Byeongsik Jeon (1):
      gdi32: Fix the GdiGetCodePage() support ANSI_CHARSET font associated charset.

Carlo Bramini (1):
      windowsx.h: Fix HANDLE_WM_DISPLAYCHANGE macro.

Daniel Jelinski (3):
      comctl32/listview: Fix incorrect message parameters.
      comctl32/listview: Implement overlay image support.
      comctl32/imagelist: Allow only one drag cursor.

Dmitry Timoshkov (28):
      gdiplus: Forward GdipDrawLine to GdipDrawLines.
      gdiplus: Forward GdipDrawLineI to GdipDrawLine.
      gdiplus: Forward GdipDrawLinesI to GdipDrawLines.
      include/gdiplusenums.h: Add FlatnessDefault definition.
      gdiplus: Avoid a devision by zero when a being added segment length is 0.
      gdiplus: Avoid a crash in GdipDrawImagePointRect.
      gdiplus: Forward GdipDrawBezierI to GdipDrawBezier.
      gdiplus: Slightly simplify GdipDrawClosedCurve2 implementation.
      gdiplus: Reimplement GdipDrawCurve2 using GdipDrawPath.
      gdiplus: Reimplement GdipDrawLines using GdipDrawPath.
      gdiplus: Reimplement GdipDrawArc using GdipDrawPath.
      gdiplus: Reimplement GdipDrawBeziers using GdipDrawPath.
      gdiplus: Forward GdipDrawBezier to GdipDrawBeziers.
      gdiplus: Reimplement GdipDrawEllipse using GdipDrawPath.
      gdiplus: Reimplement GdipDrawPie using GdipDrawPath.
      gdiplus: Reimplement GdipDrawRectangle using GdipDrawPath.
      gdiplus: Reimplement GdipDrawRectangles using GdipDrawPath.
      gdiplus: Slightly simplify GdipFillClosedCurve2 implementation.
      gdiplus: Reimplement GdipFillRectangles using GdipFillPath.
      gdiplus: Use an off-screen DC for font enumeration.
      gdiplus: Use an off-screen DC as an image surface.
      gdiplus: Use an off-screen DC to trace a path.
      gdiplus: Correct the GdipDrawString .spec entry.
      gdiplus: Remove debug traces from GdipBitmapGetPixel and GdipBitmapSetPixel.
      gdiplus: Add some tests for ARGB conversions.
      gdiplus: Round up when converting from 32-bit ARGB to PARGB.
      gdiplus: If a device doesn't support AlphaBlend don't convert image to PARGB.
      fonts: Add an initial version of Wingdings font.

Francois Gouget (2):
      ddraw/tests: Fix the refresh rate test when running with the Windows 'Standard VGA' driver.
      d3d9/tests: CheckDeviceType() may also return D3DERR_NOTAVAILABLE for D3DFMT_X1R5G5B5.

Hans Leidekker (10):
      wmiutils: Add support for for parsing and serializing a key list.
      wmiutils: Add a stub implementation of IWbemPathKeyList.
      wmiutils: Implement IWbemPathKeyList::GetCount.
      wmiutils: Implement IWbemPathKeyList::RemoveAllKeys.
      rpcrt4: Accept HTTP idle packets while waiting for the second prepare header.
      wbemprox: Avoid a crash in destroy_view.
      wbemprox: Implement more properties of Win32_CDROMDrive.
      wbemprox: Add a partial implementation of Win32_DiskPartition.
      msi: Handle more than one patch per file.
      msi: Don't attempt to patch files from disabled components.

Huw Davies (10):
      riched20: Add the ability to CharFromPoint to either pick the closest leading edge or the leading edge of the selected character.
      usp10: Clusters are represented by glyph indices not character positions.
      riched20: Change ME_FindRunInRow to fill out a cursor structure.
      riched20: Return a BOOL that indicates whether the hit is exact.
      riched20: Only retrieve the next row.
      riched20: Rewrite ME_FindPixelPos to use ME_GetRunInRow.
      riched20: Correctly set the row's x position.
      riched20: Allow the cursor offset to be equal to the run length - this implies the cursor is at the end of the run, which isn't necessarily the start of the next.
      riched20: Don't assume the the runs in a row are in visual order.
      riched20: Send WM_CHAR notifications.

Jacek Caban (42):
      urlmon: Skip https tests on IE6.
      wininet: Address string should never be converted to UNICODE in status notifications.
      wininet: Removed broken cache tests.
      mshtml: Fixed tests on some broken Vista versions.
      oleaut32: Fixed copy&paste mistake in SysFreeString.
      jscript: Use to_int32 in to_uint32 implementation.
      jscript: Fixed BSTR leak.
      mshtml: Don't crash if fire_event_obj is called on detached document.
      winhttp: Get cert store directly from cert in netconn_verify_cert.
      urlmon: Added a few more forward to propsys.
      mshtml: Forward IHTMLDocument3::get_childNodes to IHTMLDOMNode implemnentation.
      mshtml: Added IHTMLWindow2::onfocus property implementation.
      mshtml: Addeed IHTMLDocument5::createAttribute implementation.
      mshtml: Added support for IHTMLDOMAttribute::get_nodeName in detached attributes.
      mshtml: Added IHTMLDocument5::createAttribute tests.
      winhttp: Removed no longer used netconn_init argument.
      wininet: Fail in NETCON_secure_connect instead of create_netconn if OpenSSL is not available.
      vbscript: Added support for a few more constants.
      urlmon: Use separated variable for InternetQueryDataAvailable to avoid races.
      mshtml: Don't report IHTMLTextContainer as supported in anchor element.
      mshtml: Added IHTMLAnchorElement::get_hostname implementation.
      widl: Allow shadowing imported types with typedef.
      msctf.idl: Added some missing declarations.
      wininet: Don't call get_avail_data multiple times in HTTP_ReceiveRequestData.
      wininet: Moved dialog-related functions to dialog.c.
      vbscript: Make constant type explicit.
      vbscript: Added color constants.
      vbscript: Fixed chr(0) implementation.
      vbscipt: Added string constants.
      secur32: Report SecPkgContext_ConnectionInfo in bits, not bytes.
      mshtml.idl: Added IHTMLLabelElement* interfaces declarations.
      mshtml: Added IHTMLLabelElement stub implementation.
      ieframe: Fixed QI tests on IE10, where IStdMarshalInfo is supported by WebBrowser object.
      urlmon.idl: Added IGetBindHandle declaration.
      wininet: Renamed useSSL to secure and set it after secure connection is established.
      wininet: Renamed socketFD to socket.
      ieframe: Fixed tests on IE10.
      mshtml: Fixed handling escaped paths in is_gecko_path.
      mshtml: Fixed 'adjacent' spelling.
      mshtml: insert_adjacent_node clean up.
      mshtml: Added IHTMLElement2::insertAdjacentElement implementation.
      mshtml: Added IHTMLElement2::insertAdjacentElement tests.

Jörg Höhle (9):
      ntdll: Stabilize CreateTimerQueueTimer callbacks over time.
      mmdevapi/tests: Produce audible 16bit output too.
      winmm: WAVE_OPEN_QUERY causes no WIM/WOM_OPEN notification.
      mmsystem: Use SEGPTR when the .spec says so.
      mmsystem: Do not rewrite input parameters.
      mmsystem: Always use CALLBACK_FUNCTION to update MIDI/WAVEHDR.dwFlags.
      winealsa: Reword some MIDI log messages.
      wineoss: Add midi MTC Quarter Frame support (on output).
      winmm: Prevent some MIDI race conditions.

Ken Thomases (20):
      winemac: Discard old frame changed events when setting frame for off-screen windows, too.
      winemac: Don't set Cocoa window frame to be zero-sized.
      winemac: Use only on-screen windows for Cocoa parent (Win32 owner) and ordering sibling.
      winemac: Track Cocoa windows in a z-ordered list.
      winemac: Implement support for full-screen windows.
      winemac: Implement DISPLAYS_CHANGED event for when display configuration has changed.
      include/wingdi.h: Add definitions for DEVMODE display fixed output flags and values.
      winemac: Implement EnumDisplaySettingsEx().
      winemac: Implement ChangeDisplaySettingsEx().
      winemac: Always use proper z-order when putting a window on screen.
      winemac: Call sync_window_position() before show_window() since window frame affects whether it shows.
      winemac: Don't bring a window onto the screen in SetFocus().
      winemac: Implement SetCursor() and DestroyCursorIcon().
      winemac: Use system cursors when possible.
      winemac: Implement GetCursorPos().
      winemac: Handle mouse moves in -[WineApplication sendEvent:] instead of WineWindow.
      winemac: Request mouse move events when our window is active even when cursor is outside it.
      winemac: Reset the cursor to the normal Mac arrow when it's outside all Wine windows.
      winemac: Implement SetCursorPos().
      winemac: Implement ClipCursor().

Marcus Meissner (2):
      kernel32: Use the correct pointer size in atl thunk (Coverity).
      ole32: Free *ppszProgID on error path (Coverity).

Matteo Bruni (2):
      wined3d: Make (wined3d_)surface_depth_blt_fbo handle locations other than SFLAG_INTEXTURE.
      wined3d: Add RESZ support.

Michael Stefaniuc (10):
      Revert "dsound/tests: Primary and secondary buffers use the same IDirectSoundBuffer vtbl.".
      mshtml: Fix copy and paste error.
      ddraw/tests: Simplify some equality comparisons between bools.
      shell32: COM clean up for the inner IUnknown of ShellFSFolder.
      shell32: COM clean up for IShellFolder2 in ShellFSFolder.
      shell32: Pass an IShellFolder2 to SHELL32_CompareIDs() to avoid casts.
      shell32: COM clean up for IPersistFolder3 in ShellFSFolder.
      shell32: Get rid of a helper function.
      shell32: Finish the COM cleanup of ShellFSFolder.
      shell32: Move IFSFolder_Constructor() to avoid forward declarations.

Nikolay Sivov (12):
      dwrite: Remove testing for exact script code value.
      dwrite: Added more dwrite interfaces.
      msvcrt: Move demangler flags to a header and use them.
      msxml3: Fail to insert a node of unsupported type to a document.
      wshom: Implement IWshShell3::Run().
      msxml3: Better handle cross-tree node moves.
      msxml3: Update refcount in replaceNode().
      msxml3: Update backing docs refcount in put_documentElement().
      msxml3: Remove unneeded cast to xmlDocPtr.
      msxml3: Escape value for attribute in put_value().
      msxml3: Don't make a variant copy if no need to for setting node value.
      msxml3: Avoid unneeded variant copy in setAttribute(), leak fixed as a side effect.

Nozomi Kodama (5):
      d3dx9: Specify arguments in trace to ease debugging.
      d3dx9: Add a missing trace.
      d3dx9: Avoid useless computations.
      d3dx9: Explicit computations in D3DXMatrixDeterminant to speed them up.
      d3dx9: Explicit computations in D3DXMatrixInverse to speed them up.

Petr Kočandrle (1):
      po: Small improvement of Czech translation.

Piotr Caban (24):
      msvcr90: Prefer builtin version.
      msvcp90: Prefer builtin version.
      jscript: Rename JSREG_* defines to REG_*.
      jscript: Cleanup regular expressions engine API.
      jscript: Avoid copying regular expression results.
      vbscript: Added RegExp2::Test implementation.
      vbscript: Added RegExp2 flags getters and setters implementation.
      vbscript: Added RegExp2::Execute implementation.
      vbscript: Silence IDispatchEx queries on RegExp objects.
      vbscript: Added RegExp.Execute tests.
      vbscript: Added IMatchCollection2::_NewEnum implementation.
      vbscript: Added tests for invalid parameters in regular expression functions.
      vbscript: Added IMatchCollection2::__NewEnum test.
      msvcrt: Mark gmtime32 tests with negative argument as broken on win8.
      oleaut32: Fixed time outputing for dates before 1899 in VarBstrFromDate.
      oleaut32: Fixed VarBstrFromDate behavior on dates before year 1600.
      oleaut32: Fixed VARIANT_FormatDate behavior on dates before year 1600.
      hlink: Call BindToObject with IID_IUnknown in IHlink_fnNavigate.
      hlink: Return value returned by IHlinkTarget_Navigate in IHlink_fnNavigate.
      hlink: Added basic Hlink::Navigate tests.
      ole32: Added more OleCreateDefaultHandler tests.
      ole32: Don't pass CLSCTX_INPROC_SERVER and CLSCTX_INPROC_HANDLER flags to CoCreateInstance in DefaultHandler_Run.
      cmd: Fixed memory leak in WCMD_run_program.
      msvcrt: Fixed closing of FindFirstFile handle in build_expanded_argv.

Rico Schüller (2):
      d3d9/tests: Use lower base hexadecimal values.
      d3dx9: Fix typos.

Ričardas Barkauskas (2):
      wined3d: Rename bsize to content_size to reflect usage.
      wined3d: Make shader buffer dynamic.

Vincent Povirk (2):
      mscoree: Add WINE_MONO_VERBOSE environment setting.
      mscoree: Keep a reference to mscoree when shutting down.

Alexandre Julliard