Wine Announcement

The Wine development release 1.7.20 is now available.

What's new in this release (see below for details):
  - X11 drag & drop fixes.
  - A few more C/C++ runtime functions.
  - Fixes for various memory issues found by Valgrind.
  - Some OLE storage fixes.
  - 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.7.20 (total 88):

   9616  Pronunciation Patterns 3 doesn't start
  12371  Neural Noise Synthesizer (Thinstall virtualization wrapped app) fails to launch (GetEnvironmentVariableA/W needs to respect size limits for temp buffer allocation)
  13432  ZDaemon: freezes when exiting launcher
  13459  Oberon game launcher (incl. buttons) does not work
  13719  E-texteditor installs but freezes on run
  14693  Program halts when on another virtual desktop
  14718  Rappelz  will not update itself
  14873  Voipstunt crashes trying to connect to server
  15417  Easy68k: Exiting without closing help window causes page fault.
  16127  Mouse Buttons do not work in BBC Basic For Windows 5.80a
  17035  RPG Maker XP 1.x: Script editor selects complete script when program gets focus
  18195  Medal of honor pacific assault: In bootcamp there are many bush glitches
  19048  RegCleaner assertion failure in LISTVIEW_GetItemT()
  20077  User Interface of RPG Maker XP 1.x is unusable and freezes
  20485  Uninitialised memory reference in FTP_DoPassive
  20630  Services written in Delphi 6: impossible to start by "net start" command
  20929  IDGET - Doesn't show disc drive
  22494  Microsoft Office 2007 cannot be activated
  22877  RegCleaner crashes on start
  23696  oxygen xml editor license page does not appear in web browser
  24302  STALKER: Shadow of Chernobyl install reports incorrect hard disk space
  24513  Background in VirtuaGirl is always black
  24593  Livestream Procaster: login fails
  24594  Livestream Procaster: Procaster's game streaming mode doesn't work due to a "DirectX Test Error"
  25088  Crysis Warhead 1.1.x does not start
  25799  GFWL (Games For Windows Live) 3.x client crashes at startup
  26402  Cain and Abel: Crashes in libfreetype/libc
  27433  mass effect 2 heisencrash on non-smp system
  28108  urlmon: url.ok occasional test failure: unexpected call OnProgress_SENDINGREQUEST
  28133  twain_32/dsm.ok crashes occasionally?
  28710  ws2_32: sock.ok reads/writes invalid memory during async_getservbyport?
  28821  kernel32/tests/time.ok: uninitialized memory read in GetCalendarInfoA
  28822  mmdevapi/tests/capture.ok fails sometimes under valgrind?
  28827  Digsby (PIM) won't start
  28835  rpcrt4/tests/rpc_protseq.ok fails under valgrind
  28865  Ski Resort Tycoon 2 crashes on startup
  29430  RPG Maker VX crashes during startup
  29662  IBankWizard.msi crash at the end of installing
  30209  Exchange file manager (.NET 3.5 app) crashes on startup
  30398  Word / Excel 2007: crashes while opening or saving documents
  30484  rFactor 2 launcher UI does not detect machine setup
  30601  Grand Theft Auto: San Andreas crashes on startup
  31177  SugarSync (sugarsyncmanager) crashes on startup
  31221  Acrobat 8 page one is full of artifacts
  31225  SA-MP (Multiplayer Online game mod for Grand Theft Auto: San Andreas): chat and scrollbar offscreen, text invisible
  31332  Project64: about page fails to render
  31532  Grand Theft Auto: San Andreas does not work on 75Hz
  32353  Grand Theft Auto: San Andreas crashes on new game
  32388  Mezzmo shows runtime errors while starting
  32545  TaxACT 2012 crashes at startup
  32800  construct2 crashed on open file dialog
  32849  Path Of Exile sound glitch
  33882  gtags (GNU GLOBAL) 6.2.x crashes on indexing of large projects
  34646  Virtual DJ v7.4 crashes on startup
  35426  RPG Maker VX Runtime: games crash on startup
  36002  ImpotRapide 2013 (.NET 4.0 app) crashes on unimplemented function msvcp110.dll.?gcount@?$basic_istream@DU?$char_traits@D@std@@@std@@QBE_JXZ
  36065  PunkBuster service tests fail (DeleteService should mark active services in SCM database as pending for deletion)
  36139  msi/db test crash on wine compiled with gcc-4.9.0
  36153  Borderlands 2 mouse focus no longer works properly
  36377  League of Legends crashes at game start with wine 1.7.18
  36432  valgrind shows a possible leak in shell32/tests/recyclebin.c
  36459  ICQ 7.x 'ServiceStarter.exe' tool crashes during post-install step
  36477  Nikon Message Center 2 (part of Nikon Capture NX2) crashes on startup (needs support for 'CIM_Processor' WMI class)
  36481  CFNetworkCopySystemProxySettings and kCFNetworkProxiesProxyAutoConfigURLString are unavailable
  36482  Raiden Legacy (DotEmu) shows black screen after launch
  36491  Theatre of War 3: Korea Demo hangs on start
  36496  Dragon NaturallySpeaking 12.x crashes on unimplemented function msvcr100.dll._wcslwr_l
  36505  DynDNS Updater 4.1.6 crashes on startup
  36507  valgrind shows a definite leak in dpnet/tests/server.c
  36518  Selecting character mission crashes Star Wars Rebellion 1.00
  36526  When Delphi programs (e.g. InnoSetup) start, their global variables are corrupt.
  36540  3dmark 2003 needs msvcp70.dll.?begin@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE?AV?$_Ptrit@DHPADAADPADAAD@2@XZ
  36541  Prince of Persia (2008) launcher fails to start, crashes in msvcrt
  36573  valgrind shows uninitialized memory use in shlwapi/tests/path.c
  36580  valgrind shows two definite leaks in user32/tests/cursoricon.c
  36584  valgrind shows a leak in winmm/tests/mci.c
  36588  valgrind shows a definite leak in userenv/tests/userenv.c
  36590  valgrind shows a definite memory leak in usp10/tests/usp10.c
  36591  valgrind shows uninitialized memory use in vbscript/tests/run.c
  36602  valgrind shows a possible leak in wininet/tests/urlcache.c
  36603  valgrind shows uninitialized memory use in winspool.drv/tests/info.c
  36604  valgrind shows two definite leaks in winspool.drv/tests/info.c
  36605  valgrind shows a definite leak in wintrust/tests/softpub.c
  36627  Games For Windows Live 2.0.0687.0 (PANORAMA_V2.00_RTM.090421-2351) needs MSASN1.dll
  36661  valgrind shows an unintialized write in ws2_32/tests/sock.c: test_completion_port()
  36667  VBScript doesn't handle numbers in exponential form (e.g. 1e2)
  36698  AudibleManager 5.5.x crashes at startup
  36715  3dmark 2003 needs msvcp70.dll.??8std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@PBD@Z


Changes since 1.7.19:

Akihiro Sagawa (6):
      oleaut32/tests: Use a boolean constant for BOOL argument.
      oleaut32/tests: Test UnRegisterTypeLib surely deletes registry keys.
      oleaut32: Delete opposite side keys on UnRegisterTypeLib.
      kernel32: Avoid uninitialised value read in GetCalendarInfoA.
      kernel32: Return correct buffer size when returning DBCS characters.
      user32: Don't close a popup menu when clicking a sub-menu parent item twice.

Alexandre Julliard (4):
      vbscript: Avoid using bool keyword.
      comctl32/tests: Output message sequences only on failure.
      gdi32/tests: Remove some noisy traces.
      user32/tests: Remove some noisy traces.

Alistair Leslie-Hughes (1):
      dpnet/tests: Correct memory leak (valgrind).

Andrei Slăvoiu (1):
      wined3d: Recognize cards that expose GLSL 1.30 as DX10 capable even if they don't support EXT_GPU_SHADER4.

Andrew Eikum (6):
      mmdevapi: Make buffer size divisible by number of periods.
      mmdevapi: Clock rate should be in bytes for shared mode.
      user32: Remove unused internal menu messages.
      riched20/tests: Allow conversions to non-English codepages.
      ole32: Fix return value logging.
      ole32: Fix return type.

Aric Stewart (1):
      winemac: Reposition cursor for IME composition.

Austin English (3):
      include: Add missing EntryInProgress member to _PEB_LDR_DATA struct.
      user32: Fix a comment.
      msasn1: Add stub dll.

Bruno Jesus (17):
      ws2_32: Take care of EINTR inside the helpers.
      ws2_32: Avoid memory allocation for simple sends.
      ws2_32: Avoid memory allocation for simple receives.
      user32/tests: Fix a memory leak (valgrind).
      winmm: Fix a memory leak in mciSendStringW (valgrind).
      wintrust/tests: Fix a memory leak (valgrind).
      winspool.drv: Do not try to check the registry if opening the printer fails (valgrind).
      userenv/tests: Fix a memory leak (valgrind).
      wininet/tests: Fix a memory leak (valgrind).
      shlwapi: Avoid reading past the pointer in PathCreateFromUrlW (valgrind).
      usp10: Fix a memory leak in _ItemizeInternal (valgrind).
      wininet: Use a helper to send data and take care of EINTR.
      winetest: Take care of EINTR on send/recv.
      rpcrt4: Take care of EINTR on send/recv.
      wininet: Use a helper to receive data and take care of EINTR.
      ws2_32/tests: Initialize a test buffer (valgrind).
      kernel32: Limit the environment variable size to 32767 in GetEnvironmentVariable.

Damjan Jovanovic (8):
      winex11.drv: text/html should be imported as CF_HTML ("HTML Format"), not CFSTR_INETURL ("UniformResourceLocator").
      winex11.drv: Don't bother counting how many XDND selections are converted.
      winex11.drv: Use the global memory functions to allocate the memory for STGMEDIUM's hGlobal.
      winex11.drv: Use the clipboard functions and formats to import selections that XDND doesn't support.
      winex11.drv: Use the clipboard to import text/html XDND selections.
      winex11.drv: Import text/plain XDND selections through the clipboard.
      winex11.drv: Store XDND cached data in global memory objects.
      winex11.drv: Migrate importing text/uri-list XDND selections to the clipboard.

Daniel Beitler (1):
      msi: Prevent call to memset with a null pointer in get_tablecolumns function.

Felix Janda (3):
      server: Add missing includes of poll.h.
      dnsapi: stdio.h needs to be included for sprintf().
      iphlpapi: stdio.h needs to be included for sprintf().

François Gouget (2):
      msvcrt/tests: Make qsort_comp() static.
      scrrun: Fix compilation on systems that don't support nameless unions.

Guillaume Charifi (2):
      ole32: CoCreateGuid returns E_INVALIDARG on null-GUID.
      pdh: Implement PdhExpandCounterPathA/W.

Hans Leidekker (9):
      wininet: Fix build on Mac OS X 10.5.8.
      winhttp: Fix build on Mac OS X 10.5.8.
      wbemprox: Handle NULL out parameter to object methods.
      wbemprox: Add a partial implementation of CIM_Processor.
      winhttp/tests: Mark some test results on Windows 8 as broken.
      winhttp: Ignore URL components if the buffer length is zero.
      winhttp: Only set the scheme if we have a valid URL.
      wininet/tests: Fix a couple of test failures on Internet Explorer 11.
      wininet: Only set the content length header if it's not explicitly set by the user.

Henri Verbeet (20):
      d2d1: Add the ID2D1HwndRenderTarget interface.
      d2d1: Add the ID2D1DCRenderTarget interface.
      d2d1: Add the ID2D1GdiInteropRenderTarget interface.
      d2d1: Add the ID2D1Factory interface.
      wined3d: Increase the SM4 instruction length mask size.
      d2d1: Implement D2D1CreateFactory().
      d2d1: Implement d2d_factory_CreateDxgiSurfaceRenderTarget().
      wined3d: Recognize the SM4 discard opcode.
      wined3d: Recognize the SM4 dp2 opcode.
      wined3d: Recognize the SM4 ishl opcode.
      ddraw/tests: 64-bit ddraw only has DWORD surface pitch alignment in some cases.
      ddraw: Clear DDSD_LINEARSIZE on uncompressed surfaces.
      ddraw: Clear DDSD_PITCH on compressed surfaces.
      ddraw: Use wined3d_surface_get_pitch() to calculate dwLinearSize for compressed surfaces.
      ddraw: Properly support creating compressed user memory surfaces.
      ddraw: Don't try to create surfaces for wined3d internal textures.
      wined3d: Add format information for WINED3DFMT_R8_UNORM.
      d3d10_1: Forward D3D10CreateEffectFromMemory to d3d10.
      d3d10core: Implement d3d10_device_GetDeviceRemovedReason().
      user32: Ensure at least one character is used in TEXT_WordBreak().

Huw D. M. Davies (6):
      dwrite/tests: U+1cc8 is not an assigned codepoint, use U+1cc7 instead. Fixes test on win 8.
      crypt32: Add a new element to SIP_ADD_NEWPROVIDER.
      crypt32/tests: Fix test failure on win 8.
      riched20: Don't skip the final carriage return in SFF_SELECTION mode.
      gdi32/tests: tmLastChar is solely governed by the last entry before 0xffff in the cmap.
      gdi32: CLIP_DFA_DISABLE should disable the font association mechanism.

Jacek Caban (20):
      urlmon: Fixed some occasionally failing tests.
      ieframe: Added InternetExplore::get_HWND implementation.
      oleaut32: Rewrite debugstr_vt.
      oleaut32: Use debugstr_variant for dump_Variant implementation.
      oleaut32: Replaced dump_Variant by debugstr_variant.
      mshtml: Call unlink from HTMLDOMNode::Release.
      mshtml: Added new helper for getting element attribute value and use it in script.c.
      mshtml: Added new helper for GetAttribute based getters and use it in IHTMLMetaElement implementation.
      mshtml: Use get_elem_attr_value helper in get_font_size.
      mshtml: Use get_elem_attr_value helper in is_elem_name.
      mshtml: Use get_elem_attr_value helper in check_event_attr.
      mshtml: Use get_elem_attr_value helper in HTMLFormElement_get_dispid.
      mshtml: Use elem_string_attr_getter helper in HTMLLabelElement_get_htmlFor implementation.
      mshtml: Use get_elem_attr_value helper in npplugin.c.
      mshtml: Added function object default value getter implementation.
      vbscript: Added support for exponential form of numeric literals.
      ntdll: Removed no longer used defines.
      jscript: Properly handle NULL pvarResult in ParseScriptText.
      vbscript: Always initialize is_array value (valgrind).
      jscript: Added accessing not existing property on IDispatchEx tests.

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

Marcus Meissner (2):
      jsproxy: Avoid potential NULL dereference (Coverity).
      msxml3: Removed unused allocation (Coverity).

Michael Müller (2):
      server: Fix return value for FSCTL_PIPE_WAIT if pipe does not exist.
      ntdll: Stub TokenAppContainerSid in NtQueryInformationToken.

Michael Stefaniuc (28):
      dmusic: Return S_FALSE for the unimplemented IPersistStream_IsDirty().
      dmusic/tests: Test unimplemented IPersistStream methods in DMCollection.
      dmstyle/tests: Test some IPersistStream methods of DMStyle.
      dmscript: IPersistStream_GetClassID() is not implemented for DMScript.
      dmscript/tests: Test unimplemented IPersistStream methods in DMScript.
      dmband/tests: Test some IPersistStream methods of DMBand.
      dswave/tests: Test some IPersistStream methods of DirectSoundWave.
      dmcompos/tests: Test some IPersistStream methods of DMChordMap.
      dmscript: Move a struct definition to the .c file that uses it.
      dmloader/tests: Test some IPersistStream methods of DMContainer.
      dmime/tests: Test some IPersistStream methods of objects with DMObject.
      dmscript/tests: Test some IPersistStream methods of DMScriptTrack.
      dmusic: Simplify the creation of a DirectMusicBuffer object.
      dmusic: Don't leak memory on IReferenceClock creation failure.
      dmusic: Release the clock when destroying the IDirectMusic8 object.
      dmusic: Simplify the creation of a DirectMusic8 object.
      dmusic: Don't leak memory on DirectMusicInstrument creation failure.
      dmusic: Lock/unlock the module only on creation/destruction of the object.
      dmime/tests: Rather test for IDirectMusicObject as invalid iface.
      dmime: Move a struct definition to the .c file that uses it.
      dmband: Move struct definitions to the .c files that uses them.
      dmcompos: Move a struct definition to the .c file that uses it.
      dmstyle: Move a struct definition to the .c file that uses it.
      dmloader: COM cleanup for IDirectMusicContainer.
      dmusic: Move the common parts of DMObject to a generic implementation.
      dmusic: Use generic "unimplemented" methods for IPersistStream.
      dmusic: Get rid of the extra pointer to a DMUS_OBJECTDESC.
      dmusic: Remove the redundant "IDirectMusicCollection" from method names.

Nicolas Le Cam (2):
      mshtml/tests: Remove unused variable.
      winedbg: Remove unused variable.

Nikolay Sivov (29):
      scrrun/tests: Fix tests to depend on current codepage.
      scrrun: Implement Count() property for file collection.
      scrrun: Return disk space as VT_I4 if it fits.
      netprofm: Added IConnectionPointContainer stub for INetworkListManager.
      xmllite/writer: Implement OmitXmlDeclaration property.
      xmllite/writer: Implement ByteOrderMark property.
      scrrun: Return float type size when signed I4 limit exceeded.
      scrrun: Use existing helper to return file size.
      xmllite/writer: Initial implementation of WriteStartElement().
      xmllite/writer: Initial implementation of WriteElementString().
      propsys: Implement PSGetPropertySystem().
      propsys: Forward corresponding methods to exports.
      ntdll: Fix LdrLockLoaderLock()/LdrUnlockLoaderLock() on 64bit.
      include: Add more error codes.
      include: Added IImageList2 definition.
      shell32: Update to FolderItem2.
      wbemprox/tests: Fix some test failures on older XP versions.
      comctl32/progress: Set default marquee animation timer to 30 msec.
      comctl32/progress: Erase background too on WM_TIMER for marquee animation.
      comctl32/progress: Update position by one step on PBM_SETPOS in PBS_MARQUEE style.
      comctl32/treeview: Simplify sending parent WM_NOTIFY notifications.
      comctl32/treeview: Send TVN_KEYDOWN in response of WM_KEYDOWN.
      comctl32/imagelist: Update to IImageList2.
      explorerframe: Query for more notification callbacks.
      explorerframe/tests: Mark some results as broken.
      explorerframe: Internally make calls with interface wrappers.
      services: Defer service delete until all handles are closed.
      quartz/tests: Unregister filters only when registered successfully.
      shlwapi/tests: Skip if test ini file wasn't created.

Piotr Caban (17):
      vbscript: Parse doubles with bigger precision in parse_numeric_literal.
      msvcrt: Add _mbsnbcpy_s_l implementation.
      msvcrt: Add _mbscpy_s implementation.
      vbscript: Support multibyte characters in Global_Chr.
      msvcrt: Fix __libm_sse2_sqrt_precise implementation.
      msvcp100: Export basic_istream::gcount function.
      msvcrt: Rewrite qsort function.
      msvcrt: Add qsort_s tests.
      msvcrt: Add _wcslwr_s_l implementation.
      msvcrt: Return string in _wcslwr and _wcslwr_l.
      user32: Try to activate topmost activable window in WINPOS_ActivateOtherWindow.
      msvcp70: Export basic_string iterator functions.
      msvcrt: Handle negative file->_cnt value in fwrite.
      msvcp90: Fix typo in strstreambuf_freeze.
      msvcp70: Export operators working on basic_string.
      msvcrt: Add _strxfrm_l implementation.
      msvcrt: Add _wcsxfrm_l implementation.

Sebastian Lackner (1):
      ntdll/tests: Fix exception test failures on x86_64.

Shuai Meng (4):
      vbscript: Implemented CCur.
      vbscript: Implemented CDbl.
      vbscript: Implemented CLng.
      vbscript: Fixed CInt.

Stefan Dösinger (5):
      include: Sync an attribute to the Windows 8.1 SDK.
      wined3d: Remove d3dfmt_p8_init_palette.
      d3d9/tests: Add a test for D3DUSAGE_WRITEONLY.
      d3d8/tests: Add a test for D3DUSAGE_WRITEONLY.
      ddraw/tests: Test D3DVBCAPS_WRITEONLY.

Toshiaki Hirose (1):
      po: Update Japanese translation.

Vincent Povirk (8):
      user32/tests: Add test for SendMessage race condition.
      server: Clear the queue's QS_SMRESULT bit when sending a new message.
      ole32: Use a snapshot file when sharing storages for writing.
      ole32: Invalidate all caches when the transaction sig changes.
      shell32: Fix memory leak.
      ole32: Don't store file size in FileLockBytesImpl.
      ole32: Support storage files larger than 4 GB.
      notepad: Check IsDialogMessage before TranslateAccelerator.

Zhenbo Li (6):
      mshtml: Added IHTMLLocation::assign method implementation.
      mshtml: Added nsIDOMHTMLTableCellElement declaration.
      mshtml: Added IHTMLTableRow::deleteCell method implementation.
      mshtml: Added IHTMLLinkElement::media property.
      mshtml: Added IHTMLDocument2:toString method.
      mshtml: Added IHTMLTableRow::insertCell method implementation.

Alexandre Julliard
[email protected]