The Wine development release 1.7.49 is now available.

What's new in this release (see below for details):
  - DirectWrite is now good enough for rendering text in Steam.
  - A number of Direct2D improvements.
  - Some more OpenMP functions.
  - Support for namespaces in the IDL compiler.
  - Various bug fixes.

The source is available from the following locations:

  http://prdownloads.sourceforge.net/wine/wine-1.7.49.tar.bz2
  http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.49.tar.bz2

Binary packages for various distributions will be available from:

  http://www.winehq.org/download

You will find documentation on http://www.winehq.org/documentation

You can also get the current source directly from the git
repository. Check http://www.winehq.org/git 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.49 (total 31):

   8277  Windows Sysinternals Process Explorer and other tools show zero thread start address (NtQueryInformationThread with ThreadQuerySetWin32StartAddress info class)
  17044  Microsoft OneNote 2007 "Insert Audio Recording" doesn't work
  20521  Nocturnal Illusion crashes
  22206  Mig Alley Flight Simulator (1999) crashes due to unimplemented msvcirt.dll.??0ios@@IAE@XZ
  23407  Death to Spies Moment of Truth: character bodies (player and NPCs) are invisible
  26379  Multiple games crash on unimplemented function d3dx9_36.dll.D3DXComputeNormals (Gamestudio Venice, Nvidia hdr demo, Fritz 11, XCOM, Cities XL)
  27145  Weapons Translucent Like Glass in FEAR 1 and 2.
  28916  Spellforce 2 Gold - wrong drawing order of surfaces
  31051  HttpQueryInfo() erroneously ignores lpdwIndex argument for some info levels
  31374  Steam text invisible with dwrite.dll enabled
  31640  hugin's enfuse.exe crashes without native vcomp100.dll (purist)
  32637  Some VST plugins that used to work with dssi-vst now fail
  33165  Star Conflict crash at startup
  33724  Aliwangwang needs unimplemented function atl100.dll.AtlAxCreateControlLicEx
  36087  SpinTires crashes when applying settings in windowed mode
  36915  Among the Sleep crashes when starting a new game (Oculusplugin.dll needs to be disabled)
  37583  Trion's Glyph MMO manager crashes on unimplemented function msvcr110.dll.?_GetConcurrency@details@Concurrency@@YAIXZ
  38004  Multiple games crashes with unimplemented function x3daudio1_7.dll.X3DAudioInitialize
  38197  Singles 2 crash at start
  38262  Warframe Update Fails!
  38508  Multiple applications need 'HKLM\Software\Microsoft\Cryptography\MachineGuid' registry key present (Wizard 101 UK downloader)
  38613  Multiple games (Witcher3 Wild Hunt, Schein, The Emptiness) need vcomp110.dll
  38828  Cerbero PE Insider 1.0.2 crashes on unimplemented function dbghelp.dll.UnDecorateSymbolNameW when viewing export directory
  38861  Carbon Poker crashes at startup
  38935  CocosStudio1.6 (.NET 4.0 app) crashes when starting (needs 'Win32_DesktopMonitor' WMI class with 'PixelsPerXLogicalInch' property)
  38947  Cities XL Platinum crashes while loading to the menu, needs vcomp.dll._vcomp_for_dynamic_init
  38949  Free Falcon 5.x/6.x configuration editor segfaults on start (loader must take invalid IMAGE_LOAD_CONFIG_DIRECTORY values into account)
  38989  ShowShifter (obsoleted A/V application) fails to start with built-in msvcp60
  39008  Trion Worlds 'Trove' (Voxel MMO) crashes on startup (missing UTC timezone information)
  39015  Steam crashes shortly after login when DirectWrite is enabled
  39017  64-bit Lexmark X2670 All-in-One printer driver installation fails (missing pragma pack directive in 'digitalv.h' causes structure layout mismatch between 'MCI_DGV_OPEN_PARMSW' and 'MCI_OPEN_PARMSW')

----------------------------------------------------------------

Changes since 1.7.48:

Aaryaman Vasishta (1):
      d3drm/tests: Add version specific tests for CreateDeviceFrom* methods.

Akihiro Sagawa (1):
      user.exe: Release the Win16 lock due to loading 32-bit dlls in CreateWindow.

Alex Henrie (2):
      include: Add IHTMLAreaElement and DispHTMLAreaElement.
      mshtml: Stub out HTMLAreaElement.

Alistair Leslie-Hughes (3):
      d3dx9_36: Add D3DXTessellateNPatches stub ( try 2).
      include: Add ID3DXFragmentLinker interface.
      d3dx9_36: Add D3DXCreateFragmentLinker, D3DXCreateFragmentLinkerEx stubs.

Andrew Eikum (2):
      x3daudio1_7: Stub X3DAudioInitialize.
      xaudio2_8: Add DLL and implement XAudio2Create.

Andrey Gusev (1):
      po: Update Ukrainian translation.

Austin English (3):
      winedump: Avoid LPVOID when creating stub dll.
      winedump: Update README.
      vcomp110: Add dll.

Bernhard Übelacker (1):
      include: Fix packing of digitalv.h.

Bruno Jesus (1):
      ws2_32: Map IPPROTO_IPV6 protocol option.

Charles Davis (1):
      ws2_32: Implement setting the keep-alive idle timeout and interval on Mac OS.

Damjan Jovanovic (2):
      winex11: Only send WM_DROPFILES if there is no drop target.
      winex11: Use the correct drop effect for WM_DROPFILES.

Daniel Lehman (1):
      msvcr110: Add Concurrency::details::_GetConcurrency.

Dmitry Timoshkov (3):
      setupapi: Avoid shadowing devInst variable.
      setupapi: SetupDiGetClassDevsEx returns INVALID_HANDLE_VALUE on error.
      setupapi: SetupDiCreateDeviceInfoListEx returns INVALID_HANDLE_VALUE on error.

François Gouget (7):
      ntdll: Use #ifdef to check for potentially undefined macros.
      d3drm: Fix a trailing '\n' in a TRACE().
      vcomp/tests: Make my_for_static_init() static.
      qcap/tests: Add a trailing '\n' to an ok() call.
      hid: Remove spaces before '\n'.
      ntdll: Add a trailing '\n' to a FIXME() trace.
      Assorted spelling fixes.

Hans Leidekker (14):
      user32: Add a stub implementation of IsWindowRedirectedForPrint.
      wininet: Add a stub implementation of INTERNET_OPTION_SUPPRESS_BEHAVIOR.
      winspool: Don't fail on empty server name in AddPrinterW.
      wbemprox: Implement Win32_DesktopMonitor.PixelsPerXLogicalInch.
      ole32: Add stub implementations of CoGetActivationState and CoGetCallState.
      advapi32: Add a stub implementation of RegisterWaitChainCOMCallback.
      winhttp: Always clear last error on success.
      crypt32: Add stub implementations of CryptProtectMemory and CryptUnprotectMemory.
      ntdsapi: Implement DsClientMakeSpnForTargetServerW.
      netprofm: Create a connection point object for INetworkConnectionEvents.
      xmllite: Implement CreateXmlWriterOutputWithEncodingCodePage.
      shell32: Add a stub implementation of SHQueryUserNotificationState.
      mscms: Check the return value of a couple of liblcms2 calls.
      mscms: Let liblcms2 determine input and output format for transform profiles.

Hao Peng (1):
      regsvr32: Change regsvr32 to a GUI program.

Henri Verbeet (32):
      d2d1: Validate bitmap formats.
      d2d1: Implement d2d_bitmap_GetPixelFormat().
      d2d1: Implement d2d_bitmap_brush_SetBitmap().
      d2d1: Take the bitmap's alpha mode into account in bitmap brushes.
      d2d1: Force alpha to 1.0f for clears.
      d2d1: Bitmap values are always premultiplied in practice.
      d2d1: Properly handle D2D1_ALPHA_MODE_PREMULTIPLIED on render targets.
      d2d1: Fix the TRACE in d2d_bitmap_Release().
      d2d1: Don't pass NULL resource data to ID3D10Device_CreateTexture2D().
      d2d1: Implement d2d_stroke_style_GetFactory().
      wined3d: Validate "data" in wined3d_texture_upload_data().
      wined3d: Validate "data" in buffer_init().
      d2d1: Implement d2d_state_block_GetFactory().
      d2d1: Implement d2d_mesh_GetFactory().
      d2d1: Implement d2d_path_geometry_GetFactory().
      d2d1: Implement d2d_rectangle_geometry_GetFactory().
      d2d1: Implement d2d_bitmap_brush_GetFactory().
      d2d1: Implement d2d_linear_gradient_brush_GetFactory().
      d2d1: Implement d2d_solid_color_brush_GetFactory().
      d2d1: Implement d2d_gradient_GetFactory().
      d2d1: Implement d2d_bitmap_GetFactory().
      d2d1: Use the same device for all WIC render targets from the same factory.
      d2d1: Implement d2d_d3d_render_target_CreateSharedBitmap().
      d3d9: Don't assert on invalid IDirect3DBaseTexture9 interfaces.
      d3d8/tests: Port test_get_set_texture() to d3d8.
      wined3d: Add base format info for WINED3DFMT_R8G8B8A8_UNORM_SRGB.
      dxgi: Introduce a helper function to convert dxgi multisample info to wined3d.
      dxgi: Introduce a helper function to convert wined3d multisample info to dxgi.
      dxgi: Implement dxgi_surface_GetDesc() on top of wined3d.
      d3d10core: Ensure the information we return in d3d10_texture2d_GetDesc() is current.
      wined3d: Introduce a separate function to resize swapchain buffers.
      dxgi: Implement dxgi_swapchain_ResizeBuffers().

Hugh McMaster (2):
      kernel32: Restore the original console edit mode on Enter press, if the Insert key toggle is active.
      kernel32: Restore the original console cursor size on Enter press, if the Insert key toggle is active.

Huw D. M. Davies (1):
      qcap/tests: Fix test failures on Win64.

Iván Matellanes (7):
      msvcirt: Add stub of class filebuf.
      msvcirt: Add filebuf static fields.
      msvcirt: Implement filebuf constructors and destructor.
      msvcirt: Implement filebuf::attach.
      msvcrt: _setmode should check if file descriptor is valid.
      msvcirt: Implement filebuf::open/close.
      msvcirt: Implement filebuf status functions.

Jacek Caban (15):
      widl: Renamed --rt option to --winrt for midl compatibility.
      widl: Keep track of namespace in parser and beginning namespace lookup implementation.
      widl: Use proper macro name for forward declarations of interfaces inside a namespace.
      widl: Write proper C++ forward declarations for interfaces inside namespace.
      widl: Declare C++ interfaces in namespaces if needed.
      widl: Use proper names for namespaced interfaces in C declaration.
      widl: Properly handle namespaces in write_uuid_decl.
      widl: Added widl-specific winrt pragma.
      windows.foundation.idl: Added new file.
      widl: Added support for -ns_prefix option.
      mfobjects.idl: Added new file.
      mfplat: Added IMFPluginControl stub implementation.
      widl: Don't allow coclass declaration in winrt mode.
      widl: Added support for namespaced enums.
      windows.foundation.idl: Added PropertyType declaration.

Józef Kucia (6):
      d3dx9/tests: Use new_test_context() to create device in mesh tests.
      d3dx9: Partially implement D3DXComputeTangentFrameEx().
      d3dx9: Implement D3DXComputeNormals().
      d3dx9/tests: Add tests for normals computation.
      d3dx9: Correctly handle whitespace character in D3DXCreateText.
      d3dx9/tests: Fix HFONT leaks.

Ken Thomases (2):
      dbghelp: Fix a copy-paste error in comparing Mach-O segment names.
      dbghelp: Ignore Mach-O segments other than __TEXT for images in dyld's shared cache.

Lauri Kenttä (2):
      po: Update Finnish translation.
      po: Update Swedish translation.

Mark Harmstone (2):
      user32: Specify size for default window icon in NC_IconForWindow.
      shell32: Don't hardcode icon sizes in SIC_LoadIcon.

Martin Storsjo (1):
      ntdll: Handle partial image load config structs.

Matteo Bruni (4):
      d3d9/tests: Fix caps check in texdepth_test().
      d3d9/tests: Don't call SetVertexShaderConstantF if vertex shaders aren't supported.
      wined3d: Don't unnecessarily fallback to immediate mode for FFP draws with the PSIZE attribute.
      wined3d: Update GLSL vertex pipe replacement TODO comment.

Michael Müller (1):
      include: Fix definition of MFT_REGISTER_TYPE_INFO struct.

Michael Stefaniuc (3):
      qcap: Just use the driver_info pointer from the parent.
      qcap: Basic COM cleanup for IPin iface of VfwCapture.
      qcap: COM cleanup for the IKsPropertySet iface.

Nikolay Sivov (25):
      dwrite: Store run info for IDWriteGlyphRunAnalysis instance.
      dwrite: Implement GetAlphaBlendParams().
      dwrite: Implement GetAlphaTextureBounds().
      dwrite: Implement parameter validation for CreateAlphaTexture().
      dwrite: Translate rendered bitmap bounds to given origin.
      dwrite: Implement CreateAlphaTexture().
      dwrite: Implement DrawGlyphRun().
      comdlg32/tests: Test that different IFileDialogCustomize IIDs return same pointer.
      shell32/ebrowser: Use proper color for pane separator.
      shell32/ebrowser: Implement EBO_NOBORDER option.
      comdlg32: Remove browser border for common item dialog.
      comdlg32: Remove some casts.
      dwrite: Fix outline translation before rendering.
      dwrite: Advances and offsets are optional for IDWriteGlyphRunAnalysis.
      dwrite: Release run info as soon as it's rendered to save some memory.
      dwrite: Properly initialize LOGFONT returned from ConvertFontToLOGFONT().
      dwrite: Implement IsSymbolFont().
      dwrite: Use right charmap for symbol encoding.
      dwrite: Implement CreateGlyphRunAnalysis() from IDWriteFactory2.
      dwrite: Implement GetColorPaletteCount().
      dwrite: Implement GetPaletteEntryCount().
      dwrite/tests: Basic test for GetPaletteEntries().
      dwrite: Implement GetPaletteEntries().
      dwrite: Added IDWriteColorGlyphRunEnumerator stub.
      dwrite: Fix IsColorFont() return type for IDWriteFont2.

Philippe Groarke (1):
      wine.inf: Add UTC Time Zone.

Piotr Caban (5):
      user32: Test GetIconInfo on other process cursor.
      ole32: Don't pump all messages in CoWaitForMultipleHandles in threads without apartment window.
      ole32/tests: Fix new failures in CoWaitForMultipleHandles tests.
      msvcp90: Fix stringbuf and strstreambuf seekpos implementation.
      msvcp120: Fix tr2::sys::_Copy_file test failures on non-ntfs file system.

Sebastian Lackner (27):
      server: Use a separate wineserver call to fetch thread times.
      ntdll: Implement ThreadQuerySetWin32StartAddress info class in NtSetInformationThread.
      ntdll: Implement ThreadQuerySetWin32StartAddress info class in NtQueryInformationThread.
      ntdll/tests: Add tests for ThreadQuerySetWin32StartAddress info class.
      ntdll: Mark newly spawned worker threads as busy.
      vcomp/tests: Print the correct variable in ok() message.
      ntdll: Validate SecurityCookie pointer before accessing cookie value.
      server: Store correct entry point for first thread.
      wineconsole: Consistently return nonzero exitcode on error.
      ntdll: Improve stub for NtQueryInformationJobObject.
      kernel32/tests: Add tests for JobObjectLimitInformation info classes.
      opencl: Define CL_USE_DEPRECATED_OPENCL_2_0_APIS to avoid warnings.
      wintrust: Create a dummy context to force creation of MachineGuid registry key.
      ntdll: Lookup DynamicDST based on current year, instead of year of daylight date.
      wine.inf: Add timezone information for Chile.
      wine.inf: Update timezone information for Morocco Standard Time.
      winex11: Initialize thread data in clip_cursor_notify.
      dbghelp: Implement UnDecorateSymbolNameW.
      vcomp: Implement _vcomp_for_dynamic_init and _vcomp_for_dynamic_next.
      vcomp/tests: Add tests for dynamic work scheduling.
      vcomp: Also initialize dynamic_type in _vcomp_fork.
      vcomp: Implement _vcomp_master_begin and _vcomp_master_end.
      vcomp/tests: Add tests for _vcomp_master_begin and _vcomp_master_end.
      vcomp: Implement _vcomp_single_begin and _vcomp_single_end.
      vcomp/tests: Add tests for _vcomp_single_begin and _vcomp_single_end.
      vcomp: Implement _vcomp_enter_critsect and _vcomp_leave_critsect.
      vcomp/tests: Add tests for _vcomp_enter_critsect and _vcomp_leave_critsect.

Stefan Dösinger (3):
      wined3d: Try to detect the polygon offset scale value.
      d3d9/tests: Add a depth bias test.
      d3d9/tests: Mark testbot depth bias results broken.

Vincent Povirk (1):
      ole32: Ignore high part of size in storage version 3 files.

YongHao Hu (1):
      msvcp120/tests: Fix error test case of tr2_sys_Copy_file in FAT filesystem.

Zhenbo Li (6):
      mshtml: Add IHTMLXMLHttpRequest::statusText property implementation.
      mshtml: Add IHTMLXMLHttpRequest::getResponseHeader() method implementation.
      mshtml: Add IHTMLXMLHttpRequest::getAllResponseHeaders() method implementation.
      mshtml: Add IHTMLOpinionElement::index property's getter implementation.
      mshtml: Add IHTMLSelectElement::size property implementation.
      mshtml: Fix error handler in IHTMLSelectElement::remove().

--
Alexandre Julliard
julliard@winehq.org
