Wine Announcement

The Wine development release 1.5.18 is now available.

What's new in this release (see below for details):
  - Various Windows Codecs improvements.
  - Fixes for OLE database support.
  - Improvements to system parameters management.
  - Some fixes to the built-in Web browser.
  - Fixes for XML support.
  - 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.18 (total 46):

  16238  Star Wars: The Battle of Endor: Crashes while starting.
  17264  The SunSpider JavaScript benchmarks does not show the Results
  20320  Mouse don't runs in Medal of Honor Airborne
  21047  cmd does not handle FOR /F %%a in ('command') properly
  21060  MCI open+play .avi hangs
  21394  nul: nul doesn't not work for copy.
  23331  Medal of Honor Airborne: Install recognizes it as "ProductName"
  23712  Rollercoaster tycoon not working
  23880  d3dx9/asm tests crashes in a real windows vista box
  24942  Fable: The Lost Chapters rendered scenes mostly black without native d3dx9_36
  28832  ddraw/tests/d3d.ok fails sometimes under valgrind with "Expected message 0x7e, but didn't receive it."
  28834  setupapi/tests/devinst.ok fails on some machines under Valgrind
  29676  .NET 4.0 runtime fails to initialize MediaSystem subsystem due to rpcrt4.dll RpcMgmtIsServerListening being a stub
  29749  Download Accelerator Plus: hangs on start without native ie7
  29853  QQ2011 does not display Chinese correctly with builtin usp10 if font link setting is incomplete
  30066  Format Factory crashes in Video Options
  30092  ePSXe crash while reset game
  30251  Word 2010 does not display reference styles with builtin msxml6
  30270  Wine doesn't detect opengl/wgl extensions anymore
  31108  Microshop 2.0 (.NET 2.0 app using System.Windows.Forms.WebBrowser) wants IWebBrowser2::Refresh
  31646  Popcap wrapper does not work through proxy
  31735  Circuitmaker 2000 schematic editor: some parts are wrongly displayed
  31738  Material Brave hangs on starting
  31774  Font smoothing does not work in spite of registry settings
  31841  Uru does not properly start anymore in full-screen mode
  31979  Lord of the Rings Online crashes at startup
  31993  Netflix on Firefox hangs with loading bar at 100%
  32040  The Witcher - Graphical glitches with ARB shader backend
  32044  Simon the Sorcerer 3D crashes on start with built-in msvcp60
  32047  HeidiSQL 7 crashes in 1.5.15
  32051  dhpoware's OpenGL 3 demos do not display
  32082  CCleaner 3.x installer crashes at the same point (not fully reproducible)
  32085  Elven Legacy needs msvcp80.dll.?replace@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@V?$_String_iterator@DU?$char_traits@D@std@@V?$allocator@D@2@@2@0PBDI@Z (purist)
  32087  External environment variables interfere with cmd runtest, causing it to issue false errors
  32101  SSF Saturn Emulator - Crashes with SendMessage() error
  32134  KwSing installer needs wmvcore.dll.DllRegisterServer
  32187  Image Composite Editor fails to install with a VSDCA_VsdLaunchConditions msi error
  32198  ListView fails to redraw after Insert
  32199  Installer of Creo 2.0 Parametric Free Trial needs msvcp100.dll.wctrans
  32200  Installer of Creo 2.0 Parametric Free Trial crashes
  32209  fixme:gdiplus:GdipSetPathGradientBlend not implemented gives Exception
  32242  Silverlight 4.x can no longer install
  32256  PowerPoint 2010 crashes in slideshow mode
  32262  System.TypeInitializationException when starting 'Adventures of Shuggy'
  32263  AtlModuleExtractCreateWndData and AtlModuleAddCreateWndData not found, needed by QQ2011
  32264  Jammer 6 demo installer: can't click on window


Changes since 1.5.17:

Akihiro Sagawa (3):
      winmm/tests: Add more mmioSeek tests.
      winmm: Fix SEEK_END direction of mmio files without buffering.
      winmm/tests: Add EOF and buffer pointer tests for mmio.

Alexandre Julliard (32):
      user32: Add helper functions to get and set dword registry values in SystemParametersInfo.
      user32: Add structures to describe individual system parameters to reduce code duplication.
      user32: Implement a number of missing system parameters.
      user32: Add some defines to reduce Unicode string duplication.
      user32: Add system parameter descriptors for user preference parameters.
      user32: Support more user preference system parameters.
      user32: Add helper functions for loading and saving system parameter registry entries.
      user32: Properly set last error in MapWindowPoints.
      user32: Add some error checking in ScreenToClient and ClientToScreen.
      gdi32: Don't load bitmap glyphs when using subpixel rendering in GetGlyphOutline.
      user32: Use the default GUI font for unspecified font parameters.
      user32: Use parameter entry objects for the non-client metrics parameters.
      user32: Add parameter entry objects for the desktop wallpaper and pattern.
      user32: Simplify initialization of the desktop wallpaper.
      user32: Check the length of the loaded registry key for system parameters.
      user32: Forward SystemParametersInfo calls to the user driver first.
      winex11: Move the screen saver support to a new SystemParametersInfo entry point.
      user32: Define a global list of parameter registry keys and store an index in the value string.
      user32: Maintain a cache of registry keys for the various parameters.
      user32: Initialize some system parameters in the registry on first run.
      gdi32: Fix coordinate mapping of arc limits.
      user32: Reimplement system color handling using standard system parameter entries.
      odbc32: Fix some data types for 64-bit.
      comctl32/pager: Use DrawFrameControl to paint the buttons.
      comctl32/pager: Fix tracking of mouse position inside the buttons.
      comctl32/pager: Don't rely on PGN_CALCSIZE to set the non-scrollable dimension of the control.
      comctl32/tests: Add some initial pager tests.
      user32: Make sure the scroll button arrows are really at least 3 pixels.
      user32: Don't check for driver events before normal messages in GetMessage.
      user32: Don't check for driver events before normal messages in PeekMessage.
      user32: Fix the wait event mask in PeekMessage.
      widl: Print large enum constants in hex.

Andrew Talbot (17):
      mscoree: Remove unneeded address-of operator from function name.
      crypt32: Remove unused variables.
      hhctrl.ocx: Remove unused variable.
      ddraw: Remove unused variable.
      d3d10core: Remove unused variables.
      d3d8: Remove unused variable.
      cryptui: Remove unused variable.
      shell32: Remove unused variable.
      quartz: Remove unused variables.
      msxml3: Remove unused variable.
      msi: Remove unused variables.
      kernel32: Remove unused variables.
      winspool.drv: Remove unused variable.
      wininet: Remove unused variable.
      winhttp: Remove unused variables.
      dnsapi: Remove unused variable.
      cryptdll: Remove unused variable.

André Hentschel (9):
      oleaut32: Fix remaining memory leak (coverity).
      msxml3: Fix remaining memory leak (coverity).
      dmsynth: Fix compilation on systems that don't support nameless structs or unions.
      advpack: Fix possible NULL pointer access in heap_strdupWtoA.
      dwrite: Fix possible NULL pointer access in heap_strdup*.
      jscript: Fix possible NULL pointer access in heap_strdupW.
      mshtml: Fix possible NULL pointer access in heap_str*.
      msxml3: Fix possible NULL pointer access in heap_strdupW.
      urlmon: Fix possible NULL pointer access in heap_strdup*.

Aric Stewart (3):
      wineqtdecoder: Properly clean up splitter and loader threads on QTSplitter destruction.
      imm32: Use SendMessage not PostMessage for the default IME winproc.
      imm32/tests: Test showing that communication to the IME window is done via SendMessage.

Austin English (2):
      secur32: Get rid of deprecated types.
      include: Remove stray linefeeds.

Christian Costa (12):
      d3drm: Implement texture SetAppData and GetAppData.
      user32: Add tests for MapWindowPoints, ClientToScreen and ScreenToClient.
      wmvcore: Add stub for DllRegisterServer.
      winegstreamer: Remove left over FIXME.
      winegstreamer: Turn some FIXME into TRACE.
      strmbase: Use FreeMediaType instead of freeing media type by hand and forgetting pUnk release.
      strmbase: Don't forget to add ref pUnk in CopyMediaType when pbFormat is null.
      strmbase: Display new ref in AddRef and Release for IEnumMediaTypes.
      strmbase: Display iface in TRACEs.
      strmbase: Simplify IEnumMediaTypesImpl_QueryInterface and turn FIXME into WARN.
      amstream: Initialize correctly AM_MEDIA_TYPE struct.
      cabinet: Simplify concatenation of path and filename.

Christian Inci (1):
      wined3d: Add support for nVidia GT 640M.

Daniel Jelinski (2):
      comctl32: Move WM_SIZE handling into WM_WINDOWPOSCHANGED.
      xolehlp: Add some stubs.

Detlef Riekenberg (8):
      advapi32/tests: Fix a failure on 64bit NT 5.x.
      advapi32: Allow string alias for common RID in sid strings.
      advapi32/tests: Test string alias for common RID in sid strings.
      netapi32/tests: Fix an access test failure on XP.
      kernel32/tests: Fix 32-bit thread test failures on NT 5.x 64bit.
      netapi32/tests: Fix workstation test failures on XP.
      ktmw32: Add a stub for CreateTransaction.
      ktmw32: Add a stub for CommitTransaction.

Dmitry Timoshkov (11):
      fonts: Update 10-pixel cyrillic bitmaps for Tahoma.
      fonts: Update 10-pixel and some rarely used 9-pixel cyrillic bitmaps for Tahoma Bold.
      gdiplus: Avoid more cases of allocating a transformation matrix on the heap.
      windowscodecs: Add NULL pointer checks to some color context methods.
      windowscodecs: Test QueryCapability of the TIFF decoder.
      windowscodecs: Make GetFrameCount in the TIFF decoder not fail without an image stream.
      windowscodecs: Implement QueryCapability in the TIFF decoder.
      windowscodecs: Reimplement GetFrameCount of the GIF decoder.
      windowscodecs: Implement QueryCapability in the GIF decoder.
      windowscodecs: Add a test to show that QueryCapability initializes the decoder.
      windowscodecs: Make GetFrame return WINCODEC_ERR_FRAMEMISSING without an image data.

Erich Hoover (2):
      advapi32: Implement SetSecurityInfo on top of NtSetSecurityObject.
      wininet: Fix InternetCrackUrl parsing URLs containing a semicolon.

Francois Gouget (4):
      shell32: Fix a buffer overflow in CommandLineToArgvW().
      msvcp60: Make some codecvt_xxx() functions static or remove them.
      winegstreamer: Make the GST_QualityControl methods static.
      server: Print the usage to stdout when invoked with --help.

Frédéric Delanoy (4):
      ole32: Avoid erroneously freeing a variable in ReadFmtUserTypeStg.
      msi: Fix leaks in stop_service_dependents (coverity).
      msi: Fix leaks in ITERATE_InstallService (coverity).
      msi: Fix a couple of leaks (coverity).

Hans Leidekker (17):
      msvcr100: Add a version resource.
      rpcrt4: Implement RpcMgmtIsServerListening.
      mscms: Handle more bitmap formats.
      windowscodecs: Implement IWICBitmapDecoderInfo::GetFileExtensions.
      windowscodecs: Implement WICCreateColorContext_Proxy.
      windowscodecs: Add a stub IWICColorContext implementation.
      windowscodecs: Implement IWICBitmapFrameDecode::GetColorContexts for PNG images.
      windowscodecs: Implement IWICColorContext::GetType.
      windowscodecs: Implement IWICColorContext::InitializeFromMemory.
      windowscodecs: Implement IWICColorContext::InitializeFromExifColorSpace.
      windowscodecs: Implement IWICColorContext::GetExifColorSpace.
      windowscodecs: Implement IWICColorContext::GetProfileBytes.
      windowscodecs: Add tests for IWICColorContext.
      windowscodecs: GetThumbnail should be supported for ICO frames.
      advapi32: Avoid a buffer overflow in CredUnmarshalCredentialW.
      msi: Don't set the REINSTALL property if the product will be patched.
      ole32/tests: Add a test to show that CoGetPSClsid is not affected by an override of HKEY_CLASSES_ROOT.

Henri Verbeet (50):
      ddraw: Avoid LPDIRECT3DTEXTURE.
      ddraw: Avoid LPDIRECT3DMATERIAL3.
      ddraw: Avoid LPDIRECT3DMATERIAL2.
      wined3d: Add support for GLSL based fixed function fragment shaders.
      wined3d: Handle relative addresses in the common code in shader_glsl_get_register_name().
      ddraw: Avoid LPDIRECT3DMATERIAL.
      ddraw: Avoid LPDIRECT3DVIEWPORT3.
      ddraw: Avoid LPDIRECT3DVIEWPORT2.
      d3d10core: Implement d3d10_device_VSGetShader().
      d3d10core: Implement d3d10_device_PSGetShader().
      ddraw: Avoid LPDIRECT3DVIEWPORT.
      ddraw: Avoid LPDIRECT3DDEVICE7.
      ddraw: Avoid LPDIRECT3DDEVICE3.
      d3d10core: Implement d3d10_device_GSSetShader().
      d3d10core: Implement d3d10_device_GSGetShader().
      ddraw: Avoid LPDIRECT3DDEVICE2.
      ddraw: Avoid LPDIRECT3DDEVICE.
      ddraw: Avoid LPDIRECT3DLIGHT.
      wined3d: Add support for geometry shaders to the GLSL shader backend.
      d3d10core: Fix the stream index in d3d10_device_IASetVertexBuffers().
      ddraw: Avoid LPDIRECT3D7.
      ddraw: Avoid LPDIRECT3D3.
      wined3d: Make state_geometry_shader() static.
      d3d8/tests: Also test that render states get reset in test_reset().
      d3d9/tests: Also test that render states get reset in test_reset().
      ddraw: Avoid LPDIRECT3D2.
      ddraw: Avoid LPDIRECT3D.
      wined3d: Update the scissor rect and viewport even on redundant wined3d_device_set_render_target() calls.
      d3d8/tests: Add a test for the viewport after SetRenderTarget() calls.
      d3d9/tests: Add a test for the scissor rect and viewport after SetRenderTarget() calls.
      d3d9: Avoid resetting device state for d3d9ex resets.
      d3d9/tests: Create the d3d9ex object in create_device().
      d3d9/tests: Add tests for device resets in d3d9ex.
      d3drm: Avoid LPDIRECT3DVIEWPORT.
      d3drm: Avoid LPDIRECT3DDEVICE2.
      d3drm: Avoid LPDIRECT3DDEVICE.
      d3d10core: Implement d3d10_device_IAGetIndexBuffer().
      d3d10core: Implement d3d10_device_IAGetVertexBuffers().
      d3dx9: Avoid LPD3DXFILEDATA.
      d3dx9: Avoid LPD3DXFILEENUMOBJECT.
      d3dx9: Avoid LPD3DXFILESAVEDATA.
      d3d10core: Implement d3d10_device_RSSetScissorRects().
      d3d10core: Implement d3d10_device_RSGetScissorRects().
      d3dx9: Avoid LPD3DXFILESAVEOBJECT.
      d3dx9: Avoid LPD3DXFILE.
      d3dx9: Avoid LPD3DXCONSTANTTABLE.
      d3d10core: Implement d3d10_device_SOSetTargets().
      d3d10core: Implement d3d10_device_SOGetTargets().

Huw Davies (1):
      winspool: Pre-1.6 versions of CUPS can leave behind a file when cupsGetPDD3 fails, so clear up afterwards.

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

Jacek Caban (41):
      mshtml: Properly report history update for location.replace call.
      mshtml: Don't skip history notification for about: URLs.
      mshtml: Added IPersistHistory tests.
      mshtml: Store embedder's IOleComandTarget iface in HTMLDocumentObj and use it in handle_navigation_error.
      mshtml: Added exec_refresh implementation.
      mshtml: Added refresh tests.
      ieframe: Forward more DocHost::Exec calls to embedders.
      ieframe: Added IWebBrowser2::Refresh implementation.
      ieframe: Added IWebBrowser2::Refresh tests.
      mshtml: Added IHTMLScriptElement::get_text implementation.
      jscript: Use proper object as 'this' when function is called on an activation object.
      atl: Properly fail on an aggregation attempt.
      cmd: Make allocation unfailable.
      cmd: Added HeapFree wrapper.
      wininet: Store both proxy and destination host in http_request_t.
      wininet: Fixed HTTP CONNECT secure connection.
      amvideo.idl: Use proper IDirectDraw forward declaration.
      wininet: Store an info if connection is HTTPS in server_t.
      wininet: Allow passing INTERNET_INVALID_PORT_NUMBER port to get_server.
      wininet: Store more useful strings in server_t.
      wininet: Use processed string from server_t for constructing proxy path.
      wininet: Use proxy settings directly from http_request_t in a few more places.
      mshtml: Use stdint.h type names in nsiface.idl.
      atl100: Addeed stub DLL.
      atl: Always return S_FALSE in DllCanUnloadNow.
      atl: Removed unneeded includes.
      atl: Moved atlbase.h to public includes.
      atl100: Moved IRegistrar implementation to atl100.
      atl: Moved atlwin.h to public includes.
      atl100: Moved more function implementations to atl100.
      atl: Added AtlGetVersion implementation.
      atl80: Forward calls directly to atl100 when possible.
      winecrt0: Use atl100.dll directly to create a registrar instance.
      mshtml: Use ATTR_FIX_PX in IHTMLStyle2::put_bottom implementation.
      mshtml: Fixed leak in fill_props.
      mshtml: Always use UTF-8 encoding in nsWineURL.
      mshtml: Added nsIURI::GetOriginCharset implementation.
      atl: Don't forward AtlModule* calls to atl100.dll.
      advapi32: Added debug trace to RegOverridePredefKey.
      wininet: Don't take INTERNET_BUFFERSW as argument in object's ReadFileEx entry.
      wininet: Use generic ReadFileEx entry in InternetReadFileExA and get rid of ReadFileExA entry.

Jason Edmeades (3):
      cmd: Add support for tokens= (for /f).
      cmd: Prevent external env vars causing tests to fail.
      cmd: Add support for NUL in copy.

Jörg Höhle (1):
      mciavi: Fix player deadlock when starting to play.

Maarten Lankhorst (1):
      dsound: Create a primary_pwfx separately from pwfx.

Marcus Meissner (1):
      wininet: Move freeing netconn into create_netconn_socket (Coverity).

Michael Stefaniuc (20):
      user.exe16: Use FIELD_OFFSET to calculate the size of a struct with variable length array.
      msiexec: Use FIELD_OFFSET to calculate the size of a struct with variable length array.
      msi: Don't over-allocate memory for a MSISELECTVIEW.
      oleaut32: Remove a superfluous TRUE:FALSE conditional expression.
      msvcp100: Avoid FALSE:TRUE conditional expressions.
      ws2_32: Avoid using sizeof on structs with variable length array.
      krnl386.exe16: Use FIELD_OFFSET for the size of structs with varlength arrays.
      msvcp: Don't cast zero.
      kernel32/tests: Don't cast zero.
      user32: Remove two superfluous casts.
      appwiz: Use the correct types for callbacks.
      wintab32/tests: Remove a function pointer cast.
      shell32: Use the proper type for a function pointer field.
      comdlg32/tests: Fix the prototype of callback functions.
      dpnhpast: "Fix" DllCanUnloadNow() implementation.
      hlink: "Fix" DllCanUnloadNow() implementation.
      msisys.ocx: "Fix" DllCanUnloadNow() implementation.
      olepro32: "Fix" DllCanUnloadNow() implementation.
      pstorec: "Fix" DllCanUnloadNow() implementation.
      qedit: "Fix" DllCanUnloadNow() implementation.

Nikolay Sivov (29):
      comcat: Cleanup from unused includes and imports.
      msxml3: Add VT_INT to VARIANT tracing helper.
      msxml3: Fix a redundant newline in transformation result in html mode.
      msxml3: Disable text data escaping for format nodes set with put_data().
      scrrun: Use heap helpers for dictionary.
      scrrun: Improve OpenTextFile stub.
      scrrun: Block stream reading calls if it's not in ForReading mode.
      msi: Cache ITypeInfo instances for automation objects instead of reloading every time.
      msi: Store object function pointers with type id.
      msi: COM cleanup for IActiveScriptSite.
      msi: Make it clear where script type mask comes from.
      msi: Remove unnecessary casts and argument from script site creation helper.
      msxml3: Store handler pointers so casts to particular type are avoided.
      msxml3: Stub support for external entity resolver.
      xmllite: Support application defined IMalloc for reader.
      xmllite: Use application defined IMalloc for reader input.
      xmllite: Add stub for reader input buffer.
      xmllite: Keep stream reference in reader input instead of reader itself.
      xmllite: Store reader input impl pointer in reader structure.
      msxml3: Make it clear when encoded buffer is created.
      msxml3: AddRef() typeinfo pointers only when we have to.
      xmllite: Initial support for reader input encoding detection.
      xmllite: Implement GetNodeType() for reader.
      xmllite: Store remaining reader input parameters.
      odbc32: Implement SQLDataSourcesA() forward.
      oledb32: Implement IDataInitialize::CreateDBInstance.
      oledb32: Implement IDataInitialize::GetInitializationString.
      msxml3: Properly update node to doc link when cloning.
      include: Added error codes enum, cleanup existing enums.

Nozomi Kodama (2):
      d3dx9_36: Implement handy computations for small orders in D3DXSHRotate.
      d3dx9_36: Fix the case out = in for D3DXSHRotate.

Piotr Caban (26):
      msvcp90: Free memory allocated by _get_current_locale function.
      msvcp90: Fixed a memory leak in virtual destructor tests.
      gdi32: Ignore contours containing one point in get_glyph_outline function.
      gdi32: Added GetGlyphOutlineW tests on glyph that contains empty contour.
      msvcp90: Fixed basic_istream_char_read_uint64 tests.
      msvcp60: Fixed basic_filebuf<char> implementation.
      msvcp60: Fixed basic_filebuf<short> implementation.
      msvcp60: Fixed basic_string::c_str implementation.
      msvcp60: Added basic_string tests.
      msvcp60: Remove mutex class.
      msvcp60: Fixed num_get class implementataion.
      msvcp60: Fixed num_put::fput implementation.
      msvcp60: Fixed basic_istream::ipfx implementation.
      msvcp60: Fixed basic_istream::seekg implementation.
      msvcp60: Fixed basic_istream::getline(basic_string) implementation.
      msvcp60: Added iostream tests.
      urlmon: Update reference counter in bsc_from_bctx.
      msvcp80: Forward functions that are using String_iterators to msvcp90.
      msvcp90: Added wctrans and towctrans implementation.
      msvcp90: Added wctrans and towctrans tests.
      msvcp: Sync implementations.
      msvcp60: Added basic_stringbuf::_Mode implementation.
      msvcp60: Export basic_ostream constructors.
      msvcp60: Fixed handling of empty strings.
      msvcp60: Fixed basic_string::_Tidy implementation.
      msvcp60: Fixed basic_string::_Copy implementation.

Qian Hong (2):
      usp10: Fixed wgBlank, wgDefault, wgInvalid and wgKashida.
      usp10/tests: Added tests for wgBlank, wgDefault, wgInvalid and wgKashida.

Alexandre Julliard
[email protected]