Wine Announcement

The Wine development release 1.1.37 is now available.

What's new in this release (see below for details):
  - A number of fixes in AVI file support.
  - Several MSXML improvements.
  - A few MSI 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.1.37:

   7309  Desperados: image masking problem
   8232  Fate Axis - unimplemented function D3DRMCreate
   8867  Oblivion water lacks any shader effects
   9034  Fireworks 3 help fails, URL passed to winebrowser mishandled
   9369  cannot use context menu in password gorilla
  10047  Oblivion water lacks transparency
  11462  Protel does not show correctly status bar
  11795  Oblivion giant tree sprite(s) follow the player
  12871  Civilization 2 Test of Time is Unplayable
  13560  Baldur's Gate 2 Throne of Bhaal fails to save game because the file default.tot exists in the game temp directory.
  13827  Oblivion distant trees flicker and look like 2D sprites
  14443  Enterprise Architect - Text inside block rendered in reversed order
  15368  Heroes of Might and Magic IV crashes
  15388  gdi32: dib.c fails to build with gcc 4.2, -Werror -O3
  15496  Rome Total War always crashes on certain maps
  15580  The Bat! v4.0.34.13 - lose birthday in addressbook
  15962  BMW M3 Challenge: Screen between intro and menu is invisible
  16143  msxml1: Can't set an attribute to Null
  16496  Battlezone 2: frame rate deteriorated
  16750  ntdll/tests/rtlbitmap.c: comparison is always false due to limited range of data type
  16965  Deep Burner opens with missing buttons on burn iso window
  16981  SAMO-Touragent does not work with new gecko engine (since 1.1.12)
  17041  Console messages cut short?
  17123  WinAVR: make command fails with Interrupt/Exception caught
  17172  IDirect3DDevice9::Present ignores pDestRect
  17203  Regression in PowerPC compilation
  17308  ArtRage needs native gdiplus
  17650  Maya PLE 8.5 doesn't install
  18381  Oblivion: blank screen when HDR is enabled
  18541  HoneyBOT: Wine crash upon Right Click Copy of text.
  18658  Kingsoft Office crashes almost immediately on launch
  19395  ExSystemTimeToLocalTime is not implemented
  20406  Perfect World International - Diagonal Lines on Tiger Barbarians
  20841  Read buffer overflow in test_GetSidSubAuthority?
  21087  Civilization 2 crashes during installation
  21206  Cygwin 1.7.1 fails to install packages under wine
  21220  16-bit app barks at wprocs.dll and then crashes
  21289  System call "dup2" returns 0 for negative inputs, thus behaving different from real Windows
  21291  System call "dup2" doesn't retain text vs binary mode
  21320  wine/list.h has namespace conflicts with sys/queue.h
  21331  Stars! crash on "New Game"
  21334  build broken on OpenSolaris


Changes since 1.1.36:

Alexander Kochetkov (1):
      user32: Fix arithmetic overflow in GetThumbVal.

Alexandre Julliard (15):
      winebuild: Do not output an undefined symbol reference for variables.
      winebuild: Rename __wine_call_from_32_regs for consistency with 64-bit.
      winebuild: Output the asm relay functions as needed and get rid of --relay32 mode.
      winebuild: Output the 16-bit asm relay functions as needed and get rid of --relay16 mode.
      ntdll: Fix the NtCreateEvent prototype.
      winedump: Remove an unused flag.
      msi: Add a partial stub for the ValidateProductID control event.
      ntdll: Implement LdrQueryImageFileExecutionOptions and use it to retrieve the per-process global flag.
      ntdll: Load the various PEB global options at startup.
      wine.inf: Add entries for some of the global options.
      include: Define some more of the NT global flag values.
      ntdll: Make it possible to use RtlGetNtGlobalFlags before the TEB is initialized.
      ntdll: Set the heap debug flags based on the GlobalFlag value.
      kernel32/tests: Add tests for the global flag and its influence on the heap flags.
      winex11: Use the thread connection to clear the systray icon window.

Andrew Eikum (5):
      wininet: Add Internet{Set,Query}Option tests, implement POLICY option.
      wininet: Convert PER_CONN_OPTION_LIST from A to W in InternetSetOptionA.
      wininet: Pull proxy info gathering into its own function.
      wininet: Implement PER_CONN_PROXY_SERVER option.
      wininet: Implement PER_CONN_FLAGS option.

Andrew Nguyen (19):
      ntdll/tests: Make function pointer checks consistent and report skips.
      ntdll/tests: Allow native crashing code to be compiled.
      ntdll/tests: Add a few additional tests for wcschr.
      ntdll/tests: Add a few additional tests for wcsrchr.
      advapi32/tests: Test SystemFunction036.
      msvcrt: Implement and test rand_s.
      ntdll/tests: Remove obsolete commented code.
      ntdll/tests: Remove useless ifdef statements.
      ntdll/tests: Report skip when time conversion functions are not available.
      ntdll/tests: Re-enable a commented virtual memory test.
      ntdll/tests: Report appropriate skips for information tests.
      kernel32/tests: Add tests for IsBadReadPtr.
      kernel32/tests: Add more tests for IsBadWritePtr.
      kernel32/tests: Add tests for IsBadCodePtr.
      mapi32/tests: Report skips for unavailable property functions.
      mapi32/tests: Report skips for unavailable utility functions.
      mapi32/tests: Report skip for MAPIGetDefaultMalloc.
      mapi32/tests: Fix the PropCopyMore tests and add an additional test.
      mapi32/tests: Centralize property function pointer initialization.

André Hentschel (5):
      kernel32/tests: Simplify string generation.
      msvcrt: Forward __C_specific_handler to ntdll.
      msvcrt/tests: Add some demangle tests.
      msvcrt: Fix typo.
      kernel32/tests: Initial fiber tests.

Aric Stewart (1):
      oleaut32: Do not crash in logging if string is NULL.

Austin English (1):
      winecoreaudio.drv: Reorder includes to avoid OS X bug.

Christian Costa (24):
      d3drm: Add definitions for IDirect3DRM2 and IDirect3DRM3 interfaces.
      d3drm: Fix LPDIRECT3DRM definition and make sure it is defined before including d3drmobj.h.
      d3drm: Add some definitions.
      d3drm: Add some object interface definitions.
      d3drm: Simplify declaration of VTable members (spotted by Dmitry Timoshkov).
      d3dxof: Simplify declaration of VTable members.
      amstream: Simplify declaration of VTable members.
      d3drm: Fix IDirect3DRMObject2 macros.
      d3drm: Fix IDirect3DRMDevice macros.
      d3drm: Add definitions for IDirect3DRMDevice2.
      d3drm: Add definitions for IDirect3DRMDevice3.
      msvcr71: Add forward to msvcrt for ?swprintf@@YAHPAGIPBGZZ and ?vswprintf@@YAHPAGIPBGPAD@Z.
      d3drm: Add definitions for IDirect3DRMViewport.
      d3drm: Add definitions for IDirect3DRMViewport2.
      d3drm: Add definitions for IDirect3DRMFrame.
      d3drm: Add definitions for IDirect3DRMFrame2.
      d3drm: Add definitions for IDirect3DRMFrame3.
      d3drm: Add definitions for IDirect3DRMMesh.
      d3drm: Add definitions for IDirect3DRMProgressiveMesh.
      d3drm: Add definitions for IDirect3DRMShadow and IDirect3DRMShadow2.
      d3drm: Add definitions for IDirect3DRMFace.
      gdi32: Improve some FIXMEs.
      d3drm: Add definitions for IDirect3DRMFace2.
      d3drm: Add definitions for IDirect3DRMMeshBuilder.

Damjan Jovanovic (1):
      sti: Add launch application registry.

David Adam (1):
      d3drm: The input quaternions are not changed when calling D3DRMQuaternionSlerp.

Detlef Riekenberg (2):
      commdlg: Fix PrintDlg parameter checks.
      avifil32/tests: Add initial tests.

Dmitry Timoshkov (1):
      winmm: Buffer size must be at least MMIO_DEFAULTBUFFER (8192) bytes.

Erich Hoover (1):
      ntoskrnl: Forward ExSystemTimeToLocalTime and ExLocalTimeToSystemTime to ntdll.

Freddie Tilley (1):
      ntdll: Set cpu frequency for FreeBSD 7.2 and higher.

Gerald Pfeifer (1):
      krnl386: Move WINE_DECLARE_DEBUG_CHANNEL(module) under #ifdef MZ_SUPPORTED.

Hans Leidekker (5):
      msi: Support retrieving rows from join tables.
      msi: Fix parsing of feature overrides.
      msi: Add a test to exersize the code to retrieve rows from join tables.
      msi: Add support for updating rows in join tables.
      msi: Add tests for updating rows in join tables.

Henri Verbeet (13):
      d3d8: Remove the unused Direct3DResource8_Vtbl.
      d3d9: Add a separate function for query initialization.
      wined3d: Add a separate function for query initialization.
      wined3d: Remove some unused query code.
      wined3d: Merge baseshader.c into shader.c.
      wined3d: Don't leak the context array in the swapchain_init() error path.
      wined3d: Set the query.c GLINFO_LOCATION to *gl_info.
      d3d9: Add a separate function for stateblock initialization.
      wined3d: Sort our GL extension definitions.
      wined3d: Fix the ARB_pixel_buffer_object extension definitions.
      wined3d: Remove the second set of EXT_texture_env_dot3 definitions.
      wined3d: Remove the duplicate GL_2X_BIT_ATI define.
      wined3d: Remove unused occlusion query extensions.

Huw Davies (5):
      include: Add the ability to initialize oledb constants independently of the INITGUID define by defining DBINITCONSTANTS instead.
      msdaps: Switch to using an entry prefix for the auto-generated dlldata routines.
      msdaps: Add stub class factories for the row and rowset servers and proxies.
      msdaps: Register the row and rowset proxy and server classes.
      shell32: Add a test to show the IShellLink_GetIDList returns a copy of the IDList, remove an incorrect comment and fix a memory leak.

Ilya Shpigor (2):
      gdi32: Additional checking in the test for font creation with the OEM charset.
      winex11.drv: Produce VK_CANCEL vkey on the Ctrl+Pause/Break pressing.

Jacek Caban (12):
      mshtml.idl: Added IHTMLIFrameElement interface declaration.
      mshtml: Added IHTMLIFrameElement stub implementation.
      mshtml: Added IHTMLIFrameElement IDispatchEx support.
      mshtml: Silence invalid FIXME.
      mshtml: Store document as IHTMLDocument2 interface.
      mshtml: Create URL moniker after test initialization.
      mshtml.idl: Added DispHTMLFrameElement dispinterface declaration.
      mshtml.idl: Added IHTMLFrameElement3 declaration.
      mshtml: Added IHTMLFrameElement3 stub implementation.
      mshtml: Added IHTMLFrameElement3::get_contentDocument implementation.
      mshtml: Added IDispatchEx support for frame element.
      jscript: Skip tests on too old jscript.dll.

James Hawkins (1):
      Revert "advapi32: Free descriptor if it isn't returned from GetSecurityInfo().".

Jason Edmeades (6):
      msvcrt: Add support for vsprintf_s.
      msvcrt: Add support for sprintf_s.
      comctl32/listview: Issue LVM_DELETEALLITEMS from WM_DESTROY.
      kernel32: Return error on second attempt to free a module.
      netapi31: Add basic support for NetServerGetInfo.
      msi: Correct the setting of environment variables.

Jeff Zaroyko (2):
      msvcrt/tests: Test _dup2 for failure when second arg is negative.
      msvcrt: Check if argument passed to _dup2 is positive.

Juan Lang (1):
      secur32: Report an error if libgnutls isn't found.

Julius Schwartzenberg (7):
      avifil32/tests: Initial test data and simple test for avifil32.
      avifil32/tests: Test corrupt avi list magic.
      avifil32/tests: Test how avifile deals with audio stream and wave headers.
      avifil32: Overwrite dwRate in the audiostream with the nBlockAlign from the wave header.
      avifil32: Fix header suggested buffersize.
      avifil32: Allow files with different extensions to be loaded.
      avifil32: Use chunksize specified by the chunk itself, avoids a noticable ticking sound heard when reading past the chunk boundary.

Jörg Höhle (1):
      wine.inf: Correct MCI entries.

Kusanagi Kouichi (4):
      user32/tests: Add test for Shift+F10.
      user32: Make DefWindowProc handle Shift+F10.
      user32: Add definitions for EM_GETIMESTATUS and EM_SETIMESTATUS.
      user32: F10 key deactivates menu.

Maarten Lankhorst (3):
      mmdevapi: Add code to enumerate NOTPRESENT devices.
      mmdevapi: Dump device id in test.
      avifile: Fix playback of fixed sample size audio streams.

Marcus Meissner (2):
      shell32: Handle bad menu handle (Coverity).
      dplayx: Remove currently unused unicode code (Coverity).

Michael Stefaniuc (15):
      Grammar fixes "is doesn't" => "doesn't".
      dmime: Avoid newlines inside FIXME messages.
      devenum: Avoid newlines inside FIXME messages.
      user32: Avoid newlines inside FIXME messages.
      objsel: Avoid newlines inside FIXME messages.
      ddraw: Simplify DllCanUnloadNow().
      dmusic: Avoid newlines inside FIXME messages.
      dmscript: Avoid newlines inside FIXME messages.
      dmstyle: Avoid newlines inside FIXME messages.
      dmcompos: Avoid newlines inside FIXME messages.
      dmsynth: Avoid newlines inside FIXME messages.
      d3d10: Remove superfluous NULL check before HeapFree (Smatch).
      d3d10: Remove break after return (Smatch).
      dmband: Avoid newlines inside FIXME messages.
      crypt32/tests: Add a win_skip().

Mike Kaplinskiy (2):
      msxml: getElementsByTagName does not respect namespaces.
      server: Activate pending asyncs on a hangup/error.

Nikolay Sivov (27):
      msxml3: Don't leak externaly allocated xmlSAXHandler.
      msxml3: Don't lose pointer to externaly allocated xmlSAXHandler copy.
      msxml3/tests: Fix some string leaks in tests.
      msxml3: Fix string leak while parsing with IXMLDOMDocument.
      msxml3: Implement IXMLDocument::get_version().
      msxml3: Implement IXMLDocument::get_doctype().
      msxml3: Get rid of upper case converting helper.
      advapi32: Free descriptor if it isn't returned from GetSecurityInfo().
      msxml3/tests: Add some tests for IPersistStreamInit implementation of IXMLDocument.
      msxml3/xmldoc: Fix IPersistStreamInit::GetClassID() for IXMLDocument.
      msxml3/xmldoc: IPersistStreamInit::InitNew() seems to do nothing for IXMLDocument.
      msxml3/xmldoc: Don't leak document and stream on next IXMLDocument::Load().
      msxml3: Don't preallocate root element, return new instance on each call.
      msxml3: Implement IXMLElement::removeChild() with some tests.
      msxml3: In IXMLElementCollection store pointer to node instead of pointer to children.
      msxml3: Track linked/unlinked state for element and free node data only when unlinked.
      msxml3/tests: Fix interface leak and message typo.
      msxml3: Implement IXMLDOMElement::removeAttribute().
      msxml3: Use a helper to check for created content handler.
      include: Add IXmlReader interface definition.
      xmllite/tests: Add basic test structure for IXmlReader.
      xmllite: Add stub implementation of IXmlReader interface.
      msxml3: Implement IXMLDOMComment::deleteData() with tests.
      msxml3/tests: Fix interface leak.
      xmllite/tests: Test query for supported interface sequence while creating IXmlReaderInput instance.
      xmllite: Add IXmlReaderInput stub implementation.
      xmllite: Basic input object creation on IXmlReader::SetInput().

Paul Vriens (22):
      ntdll/tests: Fix a test failure on NT4.
      comctl32: Fix size parameter for memset (Coccinelle).
      widl: Fix size parameter for xrealloc (Coccinelle).
      oleview: Fix size parameter for memset (Coccinelle).
      winedump: Pass the correct size to the helper (Coccinelle).
      msvidc32: Fix size parameter for memset (Coccinelle).
      d3d9/tests: Correct the size of a memcmp.
      dsound: Fix a typo.
      rsaenh/tests: Don't check result twice (Coccinelle).
      winealsa.drv: Don't check input parameter twice (Coccinelle).
      dinput: Don't check a parameter twice (Coccinelle).
      dxdiagn/tests: Fix some test failures on a clean W2K3.
      inetmib1/tests: Free memory after use (Valgrind).
      shell32: Remove some unneeded parameter setting.
      user32/tests: Run tests again on Win95.
      kernel32/tests: Skip a test on Win9x/WinMe.
      shell32/tests: Fix crash on ancient Win95.
      rasapi32/tests: Fix some test failures on Win9x.
      user32/tests: Don't crash on Win9x/WinMe.
      xmllite/tests: Remove some tests that make Vista SP0 crash.
      rpcrt4/tests: Fix some memory leaks (Valgrind).
      msvcrtd/tests: Fix a memory leak (Valgrind).

Peter Dons Tychsen (2):
      user32: Do not allow a change of capture if the currently capture window is a menu unless explicitly specified.
      comctl32: Handle WM_NOTIFY correctly when the parent returns zero.

Piotr Caban (7):
      jscript: Added implementation of Array.reverse.
      jscript: Make Array.join generic.
      shlwapi: Fix MLBuildResURLW implementation.
      jscript: Make Array.pop generic.
      jscript: Make Array.sort generic.
      jscript: Add error handling to Array.reverse.
      shlwapi: Improved res protocol handling in UrlCanonicalizeW.

Rico Schüller (2):
      d3d10: Reorder struct d3d10_effect_variable to make the initialisation nicer.
      d3d10: Parse effect shaders as anonymous shaders.

Rob Shearman (9):
      wpp: Fix expansion of macro bodies following the parsing of a numerical digit.
      widl: Add support for character constants in expressions.
      rpcrt4: Add structure definition for RPC AUTH3 packet and use the size of this on sending to fix authentication against native servers.
      include: Replace hexadecimal representation of four character codes in WINED3DFORMAT enum with macros using the actual characters.
      widl: Fix symbol was not declared and using plain integer as NULL pointer sparse warnings.
      wrc: Fix symbol was not declared and using plain integer as NULL pointer sparse warnings.
      server: Fix symbol was not declared and using plain integer as NULL pointer sparse warnings.
      ole32: Rearrange declarations in itemmoniker.c to avoid unnecessary forward declarations.
      wmc: Fix symbol was not declared and using plain integer as NULL pointer sparse warnings.

Stefan Leichter (1):
      user.exe: Forward WNetGetUser16 to WNetGetUserA of mpr.dll, based on a patch from Andrew Nguyen.

Uwe Bonnes (3):
      msvcrt: In unbuffered text mode reading \r\n with fgetc fails.
      msvcrt: xxopen() accepts spaces in the mode string.
      msvcrt: Handle CR at buffer boundary and test case.

Vitaly Lipatov (1):
      wineconsole: Fix Russian translation.

Alexandre Julliard