Wine Announcement

The Wine development release 1.7.2 is now available.

What's new in this release (see below for details):
  - Right-to-left text layout improvements.
  - NTLM and Negotiate authentication for RPC over HTTP.
  - More glyphs in the built-in Wingdings font.
  - Better system tray support in the Mac driver.
  - Activation context improvements.
  - 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.2 (total 39):

  14401  The Sword project search function causes a crash
  18248  Everquest certain areas do not render the models just have blank regions
  19116  MSXML4 installer doesn't install C:\Windows\Installer\{37477865-A3F1-4772-AD43-AAFC6BCFF99F\icon.exe (appinstall)
  21254  Word 97 needs native oleaut32 to record the first macro
  24196  oleaut32: typelib registration should not fail bitness-neutral assemblies (32-bit typelib wrapped in 64-bit PE, x64 .NET 2.0 installer)
  25739  Unhandled Exception - Monopoly Westwood (Win95 settings)
  25754  Excel Workbook with Macros Is not Running : Getting Crashed.
  25762  Excel crashes trying to run macros
  26280  PowerSoccer crashes
  26746  IncrediMail: No icon for desktop short-cut
  27052  winedbg and its man page should use "wpid" consistently for Windows' process ID
  27632  Death and the Fly demo crashes on start
  28004  PartyPoker fails to install with builtin wininet
  28663  Multiple Adobe products fail due to improper file type and protocol associations handling (Adobe Reader X online help, Adobe AIR installers)
  30194  XIII: some levels are not correctly illuminated
  30765  Outlook 2010 can't connect to exchange server
  30797  wine(1) man page should mention running built-in programs like explorer.exe
  30958  StarForge Alpha build: Black screen due to shader compilation errors
  31205  Mixcraft hangs on exit when using WaveRT audio driver
  32412  WebSync 2.7.0 doesn't install
  32537  unimplemented function cfgmgr32.dll.CM_Reenumerate_DevNode, aborting
  33794  Arabic Entry Box Has Big Errors .
  33811  Amazon software downloader does not work with builtin msvcrt
  33827  The Testament of Sherlock Holmes inverted shadows and sharpness
  33836  Civilization IV shows a lot of XML Load Error while loading
  33890  Anno 1602 (demo): crash during startup
  34245  WMI query "select * from win32_Directory" via WMI crashes
  34268  Louisiana Adventure crashes without native d3dx9_36 (D3DXCompileShaderFromFile() needs to call user-supplied include callbacks for resolving primary shader files)
  34284  Fur looks wrong on Sims 3 Pets
  34317  Process Hacker 2.x needs winsta.dll.WinStationRegisterConsoleNotification
  34381  Rectangle rotation problem using GM_ADVANCED graphicmode
  34401  QuiteRSS WinRT/ARM port needs msvcr110.dll.fabsf
  34402  Multiple applications ported to WinRT/ARM require atl110.dll (Halite torrent client for Windows RT )
  34403  AVP Classic WinRT/ARM port needs xinput1_4.dll
  34412  Winsock error when connecting to Xsyon game servers
  34442  Multiple applications ported to WinRT/ARM require msvcr110.dll.?before@type_info@@QBA_NABV1@@Z (Halite torrent client)
  34464  Jagged Alliance 2 fails to start (becomes unresponsive after startup)
  34476  Arx Fatalis crashes on start
  34486  __unDName cannot demangle a string and shows error


Changes since 1.7.1:

Alexandre Julliard (6):
      ntdll: Add stubs for the SRW lock functions.
      ntdll: Actually return the mount point in get_device_mount_point on Mac OS.
      ntdll: Add a configure check for the tcdrain function.
      gdi32: Add more helpers for converting font sizes to logical coordinates.
      gdi32: Add a check for overflow in DIB dimensions.
      taskmgr: Use definitions from winternl.h instead of duplicating them.

Alistair Leslie-Hughes (1):
      msdasc.idl: Correctly register DataLinks.

Andrew Cook (1):
      kernel32: Fix argument order for NtIsProcessInJob.

Andrew Eikum (8):
      oleaut32: Improve TYPEDESC encoding for unknown VARTYPEs.
      oleaut32: Apply TKIND_DISPATCH changes to FUNCDESC results from ITypeComp::Bind.
      oleaut32: Correct TRACE statement.
      oleaut32: Typelib strings of size -1 are NULL.
      oleaut32: Fix TRACE.
      oleaut32: Don't crash on NULL string arguments.
      ieframe: Register CLSID_WebBrowser as an ActiveX control.
      mshtml: Free advpack after use.

André Hentschel (6):
      msvcrt: Export fabsf on ARM and x86_64.
      xinput1_4: Add new dll based on xinput1_3.
      winedump: Add and use IMAGE_DELAYLOAD_DESCRIPTOR.
      include: Add delayloadhandler.h.
      kernel32: Add partial CreateFile2 implementation.
      kernel32/tests: Add tests for ResolveDelayLoadedAPI.

Aric Stewart (4):
      Unicode Private Use Area is also rotated by tategaki.
      gdi32: GetCharWidth32A/W return positive widths for all layouts and various DC transforms.
      gdi32: ABC value signs remain the same despite any changes in layout direction or viewport.
      user32: Use Uniscribe ScriptBreak and the resulting Unicode Line Break algorithm to break lines for DT_WORDBREAK.

Austin English (2):
      netcfgx: Add stub dll.
      msiexec: Add a fixme for administrative installs.

Bruno Jesus (13):
      server: Store the protocol while creating the socket.
      server: Add a request to get socket information.
      ws2_32: Merge protocol.c and socket.c.
      ws2_32: Cope with invalid protocols in WSAEnumProtocols.
      ws2_32: Add parameters TRACE for WS_EnumProtocols.
      ws2_32: Fix SO_ACCEPTCONN on BSD systems.
      ws2_32: Remove a FIXME message.
      ws2_32/tests: Mark WinNT result as broken.
      ws2_32: Implement WSADuplicateSocket[A|W] using a helper function.
      kernel32: Fix parameters checking for GetVolumePathName().
      ws2_32: Implement get socket option SO_PROTOCOL_INFO.
      ws2_32: Fix WSADuplicateSocket implementation.
      ws2_32/tests: Add more WSASocket tests.

Detlef Riekenberg (3):
      scrrun/tests: Ignore case in path names.
      d3dx11_43: Add stub dll.
      d3dx11_42: Add stub dll.

Dmitry Timoshkov (15):
      kernel32/tests: Add a test to show that WaitCommEvent should succeed after SetCommMask(EV_TXEMPTY)+WriteFile+FlushFileBuffers.
      kernel32/tests: Add a test to show that WaitCommEvent should fail if there is a pending wait.
      ntdll: Avoid a needless goto.
      server: Print the debug trace to stderr.
      ntdll: NtWriteFile should fail for overlapped IO on files if offset is NULL.
      ntdll: NtReadFile should fail for overlapped IO on files if offset is NULL.
      ntdll/tests: Add some tests for negative file offsets.
      server: Add a serial event mask change counter.
      ntdll: Add support to NtWriteFile for special offset -1.
      kernel32/tests: Add a read/write test for a COM port.
      ntdll: NtWriteFile should fail for overlapped IO on files if offset is negative.
      ntdll: Make NtWriteFile explicitly check for negative offset and fail.
      ntdll: NtReadFile should fail for overlapped IO on files if offset is negative.
      shlwapi: Merge two case statements.
      kernel32/tests: Add a file access test.

François Gouget (9):
      iphlpapi: Check for proc_pidinfo() instead of assuming libproc.h always defines it.
      loader: Fix the clean target to delete the generated wine_info.plist file.
      winegcc: Add a trailing '\n' to the try_link() test file.
      winegcc: Ignore the test link command stdout and stderr messages.
      winegcc: Solaris uses the same link option detection code as other platforms.
      oleaut32/tests: Fix compilation on systems that don't support nameless unions.
      ddraw/tests: Fix compilation on systems that don't support nameless unions.
      sane.ds: SANE_SaneSetDefaults() is only used if SONAME_LIBSANE is defined.
      msi: Make some dialog_xxx() functions static.

Frédéric Delanoy (5):
      winedbg: Fix manpage formatting.
      winedbg: Use consistently wpid in documentation.
      winedbg: Fix winedbg --help message formatting.
      loader: Mention builtin executables in wine manpage.
      loader: Update French translation of wine manpage.

George Stephanos (1):
      advapi32/tests: HKCR mask tests fix for WinNT.

Hans Leidekker (5):
      wininet: Fix calculation of content length from chunk size.
      winhttp: Fix the base64 decoder.
      rpcrt4: Add support for NTLM and Negotiate.
      rpcrt4: Don't remove the authorization header if the scheme is Basic.
      rpcrt4: Don't try to decode the authorization value in the first leg.

Henri Verbeet (50):
      wined3d: Move the MAXLOCKCOUNT constant to surface.c.
      wined3d: Get rid of some leftover comments referring to the GL lock.
      wined3d: Avoid some forward declarations.
      d3dx9: Avoid LPWSTR.
      d3dx9: Avoid LPCSTR.
      wined3d: Get rid of some leftover references to IWineD3D.
      wined3d: Rename wined3d_fake_gl_ctx to wined3d_caps_gl_ctx.
      wined3d: Don't clamp texture lookups in the GLSL fixed function fragment pipe.
      d3dx9: Avoid LPSTR.
      d3dx9: Avoid LPCVOID.
      wined3d: Use clamp() instead of max() for calculating the clamped cosine in the ffp lighting calculations.
      wined3d: Avoid a couple of useless glGetUniformLocationARB() calls.
      wined3d: Don't set WINED3DUSAGE_RENDERTARGET on the front buffer.
      d3dx9: Avoid LPVOID.
      d3dcompiler: Get rid of a couple of redundant casts.
      ddraw: Don't imply WINED3DUSAGE_RENDERTARGET on primary surfaces.
      wined3d: Enforce WINED3DUSAGE_RENDERTARGET format restrictions on resource creation.
      wined3d: Enforce WINED3DUSAGE_DEPTHSTENCIL format restrictions on resource creation.
      d3dcompiler: Avoid LPCSTR.
      d3dcompiler: Avoid LPCVOID.
      wined3d: Return 1 instead of 0 for max_vertex_blend_matrices in glsl_vertex_pipe_vp_get_caps().
      wined3d: Get rid of the SFLAG_INTEXTURE / SFLAG_INSRGBTEX check in surface_set_texture_name().
      ddraw: Introduce a helper function for initializing a D3DDEVICEDESC structure from a D3DDEVICEDESC7 structure.
      d3dcompiler: Avoid LPVOID.
      d3drm: Avoid LPCSTR.
      wined3d: Get rid of the "dirty" flag to wined3d_texture_set_dirty().
      wined3d: Replace the "dirty" field in struct gl_texture with WINED3D_TEXTURE_ flags.
      wined3d: Rewrite surface_modify_location() on top of surface_validate_location() and surface_invalidate_location().
      d3drm: Avoid LPSTR.
      d3drm: Avoid LPVOID.
      wined3d: Get rid of the special SFLAG_INTEXTURE / SFLAG_INSRGBTEX code in surface_modify_location().
      wined3d: Replace surface_modify_location(surface, location, FALSE) calls with surface_invalidate_location().
      wined3d: Get rid of surface_modify_location().
      d3drm: Avoid LPDWORD.
      d3drm: Avoid LPRECT.
      wined3d: Get rid of the render target / overlay check in wined3d_surface_flip().
      wined3d: Properly check if the swapchain format is WINED3DFMT_P8_UINT in primary_render_target_is_p8().
      ddraw: Get rid of get_config_key().
      ddraw: Avoid LPVOID.
      ddraw: Avoid LPBYTE.
      wined3d: Make primary_render_target_is_p8() work on a swapchain.
      wined3d: Allow the first render target to be set to NULL.
      ddraw: Just set the render target to NULL in d3d_device_inner_Release().
      ddrawex: Avoid LPVOID.
      d3d8: Avoid LPVOID.
      wined3d: Just set the first render target to NULL in wined3d_device_uninit_3d().
      wined3d: Just set the first render target to NULL in wined3d_device_reset().
      wined3d: Never set the first render target to the front buffer in wined3d_device_init_3d().
      d3d9: Avoid LPCWSTR.
      d3d9: Avoid LPVOID.

Huw D. M. Davies (7):
      iphlpapi: Don't set the dns server list if there are no servers.
      fonts: Fix glyph names and advance widths.
      fonts: Add a few more glyphs in wingding.
      fonts: Add some box-type glyphs to wingdings.
      iphlpapi/tests: Increase buffer size to prevent overflow.
      iphlpapi: Move dns server enumeration to a single function.
      iphlpapi: Add support for ip6 dns addresses.

Jacek Caban (25):
      crypt32: Get rid of PCertificateChainEngine typedef.
      crypt32: Use CertificateChainEngine instead of HCERTCHAINENGINE in a few more places.
      atl110: Added new DLL.
      crypt32: Use CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL flag for root store certificate's chain validation.
      crypt32: Get rid of P*WINE_CONTEXT_INTERFACE typedefs.
      crypt32: Get rid of PCONTEXT_FUNCS typedef.
      crypt32: Get rid of PCONTEXT_PROPERTY_LIST typedef.
      crypt32: Get rid of PWINECRYPT_CERTSTORE typedef.
      crypt32: Get rid of PCertificateChain typedef.
      crypt32: Get rid of PWINE_STORE_LIST_ENTRY typedef.
      crypt32: Get rid of PWINE_COLLECTIONSTORE typedef.
      crypt32: Get rid of P*_CONTEXT typedefs.
      crypt32: Get rid of PWINE_FILESTOREINFO typedef.
      crypt32: Get rid of PCONTEXT_PROPERTY typedef.
      crypt32: Get rid of PWINE_PROVIDERSTORE typedef.
      crypt32: Get rid of PWINE_HASH_TO_DELETE and PWINE_REGSTOREINFO typedefs.
      crypt32: Get rid of remaining P* typedefs.
      cryptnet: Removed unused typedefs.
      crypt32: Search world collection when looking for issuer.
      crypt32: Added support for retrieving issuers from URL cache.
      crypt32: Added support for retrieving certs by URL.
      d3d11: Use proper D3D11CreateDevice argument types.
      d3d11.idl: Added some missing declarations.
      d3d10_1.idl: Added D3D10_1_SHADER_*_VERSION constants.
      dxgiformat.h: Added missing formats.

Jactry Zeng (2):
      riched20/tests: Add tests of ITextDocument_Open.
      riched20: Add a length return parameter to ME_ToUnicode.

Ken Thomases (8):
      winemac: Don't use Cocoa parent-child relationship when topmost state is enough to keep owned in front of owner.
      winemac: When ordering sibling child windows, don't remove and re-add ones already in the right order.
      winemac: Add support for mouse-move and right- and middle-click events on systray icons in the Mac status bar.
      winemac: Don't allow dead-key state to repeat after characters are generated.
      user32: Fix mouseRect computation for starting position when sizing window.
      winemac: Restrict DescribePixelFormat() to displayable pixel formats.
      winemac: Return failure from DescribePixelFormat() for invalid pixel format.
      winemac: Trace the pixel format in DescribePixelFormat().

Marcus Meissner (3):
      kernel32/tests: Avoid leaving com handle open (Coverity).
      rpcrt4: Free url in error paths (Coverity).
      mciqtz32: Do not print uninitialized variables (Coverity).

Matteo Bruni (5):
      d3d8/tests: Add cnd instruction test.
      d3dcompiler: Skip search of the parent include for the initial file.
      d3dx9: Add / improve traces in some shader-related functions.
      d3dx9: Use the ID3DXInclude object to open the initial file in D3DX[Assemble|Compile|Preprocess]ShaderFromFile.
      d3dx9/tests: Add some more tests for D3DX[Assemble|Preprocess]ShaderFromFile.

Michael Müller (1):
      d3d9: Add headers for IDirect3DSwapChain9Ex interface.

Michael Stefaniuc (20):
      avifil32: Basic COM cleanup for the IAVIStream iface.
      avifil32: Move the IAVIStream vtbl to avoid forward declarations.
      msxml3: Avoid shadowing a function parameter.
      dplayx: Use consistent naming for the IDPLobbySP members.
      dplayx: Introduce impl_from_IDPLobbySP().
      dplayx: Simplify ref-counting for IDPLobbySP.
      dplayx: Remove the unused lock from IDPLobbySPImpl.
      dplayx: Merge the extra struct into IDPLobbySPImpl.
      dplayx: Finish the COM cleanup for IDPLobbySP.
      dplayx: Simplify the creation of a IDPLobbySPImpl COM object.
      dplayx: Fix the initial refcount of the IDPLobbySPImpl object.
      dplayx: Use consistent naming for the IDirectPlaySP methods.
      dplayx: Introduce impl_from_IDirectPlaySP().
      dplayx: Simplify ref-counting for IDirectPlaySP.
      dplayx: Remove commented out TRACEs that mimic +tid functionality.
      dplayx: Remove the unused lock from IDirectPlaySPImpl.
      dplayx: Merge the extra struct into IDirectPlaySPImpl.
      dplayx: Finish the COM cleanup for IDirectPlaySP.
      dplayx: Simplify the creation of an IDirectPlaySPImpl object.
      ntdll: Avoid TRUE FALSE conditional expressions.

Nikolay Sivov (33):
      kernel32/tests: Some tests for 'comInterfaceProxyStub' data.
      kernel32/tests: Some tests for 'comInterfaceExternalProxyStub' data.
      ntdll: Store all interface redirection data in context.
      ntdll: Implement interface redirection section.
      ntdll: For typelib and COM class sections point global data to module names.
      ntdll: Store clrSurrogate version value, added some tests.
      ntdll: Implement compatible section for 'clrSurrogate'.
      kernel32/tests: Some tests for clrClass data.
      ntdll: Store 'clrClass' as COM class.
      kernel32: Forward ZombifyActCtx() to ntdll.
      shell32: Consistently return interface pointer instead of implementation pointer.
      ntdll: Added support for multiple progids in comClass and clrClass elements.
      shell32: Fix remaining cases of implementation pointer being returned.
      po: Tweak Russian strings for winecfg.
      kernel32/tests: Some tests for initial thread activation context.
      ntdll: Inherit default activation context from creation thread.
      user32/tests: Test to show that SendMessage/PostMessage don't force caller activation context on window thread.
      kernel32/tests: Added some activation context tests for SearchPath().
      comctl32: Fix LVS_OWNERDRAWFIXED handling in hittesting.
      comctl32/tests: Manually load comctl32.dll with newly activated context.
      ntdll: Added compatible sections for clrClass data.
      shell32: Fix search for a command string to cover more cases (like protocol associations).
      shell32: Added support for ASSOCF_NOTRUNCATE flag in GetString().
      shell32: Fix handle leak on consecutive Init() calls.
      shell32: Remove asserts on invalid parameters.
      msxml3: Added ISupportErrorInfo support for schema cache.
      shell32: Fix getting a command string when root key default value doesn't point to a key.
      ntdll: Try application manifest path when searching for dependent assemblies.
      kernel32: Support activation context in SearchPath().
      include: Added a definition for CopyFile2.
      kernel32/tests: Some tests for CopyFile2().
      kernel32/tests: Some tests for ProgID section.
      ntdll: Added compatible ProgID section.

Piotr Caban (6):
      winedump: Improve TLB string table handling.
      winedump: Fix TLB function dumping.
      oleaut32: Add ICreateTypeInfo2::SetVarName implementation.
      msvcr110: Add forwards to type_info::before function.
      msvcrt: Don't forward _wcsnicmp to ntdll.
      msvcrt: Add support for vtordisp functions demangling.

Rafał Mużyło (1):
      configure: Don't use X_PRE_LIBS.

Ralf Habacker (1):
      gdi32: Fixed Rectangle() rotation with GM_ADVANCED graphics mode in dib driver.

Roderick Colenbrander (2):
      winex11: Refactor wglSwapIntervalEXT for use with glXSwapIntervalEXT.
      winex11: Support WGL_EXT_swap_control_tear.

Stefan Dösinger (32):
      ddraw: Gracefully handle recursive SetCooperativeLevel calls.
      ddraw/tests: Test WM_ACTIVATEAPP messages generated by SetCooperativeLevel.
      d3d9/tests: Add a DXT5 volume test.
      d3d8/tests: Add a DXT5 volume test.
      wined3d: Don't clamp texture lookups in the ARB fixed function fragment pipe.
      wined3d: Use the ftoa helper function in the ARB shader backend.
      ddraw/tests: Test DDCAPS2_TEXTUREMANAGE compatibility, with other flags.
      ddraw: Create managed pool textures.
      ddraw: Enumerate DXT2 and DXT4.
      ddraw: Create a sysmem surface if the format is not supported.
      wined3d: Enforce texturing capability format restrictions on resource creation.
      wined3d: Check the format block size before creating textures.
      d3d9/tests: Test blocked texture creation restrictions.
      d3d8/tests: Test blocked texture creation restrictions.
      ddraw/tests: Test blocked texture creation restrictions.
      ddraw/tests: Test unsupported texture formats.
      wined3d: Only invalidate STATE_INDEXBUFFER for the current context in buffer_create_buffer_object().
      wined3d: Only invalidate STATE_INDEXBUFFER for the current context in buffer_get_sysmem().
      wined3d: Pass the context to the main buffer preload function.
      ddraw/tests: Don't test transformed vertices with normals.
      d3d8/tests: Test the behavior of failing surface creation calls.
      d3d9/tests: Test the behavior of failing surface creation calls.
      d3d8/tests: Mark YUY2 and UYVY broken.
      d3d9/tests: Use a plain depth stencil instead of a texture.
      d3d9/tests: Actually accept r500 results.
      wined3d: Pass the swizzle map to find_vs_compile_args.
      wined3d: Pass position_transformed and gl_info to find_ps_compile_args.
      wined3d: Pass stream info and needed fixups to buffer_find_decl.
      wined3d: Move the decoded stream info into the context.
      wined3d: Explicitly pass the state information to buffer_internal_preload.
      d3d9/tests: Clean up z_range_test a bit.
      d3d9/tests: D3DCMP_GREATER is broken on r500.

Sylvain Petreolle (1):
      wbemprox: Implement Win32_OperatingSystem.LocalDateTime.

Thomas Faber (1):
      ntdll/tests: Use correct prototype for RtlCreateUnicodeString[FromAsciiz].

Vincent Povirk (2):
      winsta: Stub WinStationRegisterConsoleNotification.
      winsta: Stub WinStationGetAllProcesses.

Alexandre Julliard
[email protected]