Wine Announcement

The Wine development release 1.3.17 is now available.

What's new in this release (see below for details):
  - Implementation of the new Vista file dialogs.
  - Initial support for patching in MSI installers.
  - Improvements to the calendar control.
  - A few fixes for file associations.
  - Menus cleaned up in built-in applications.
  - 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.3.17:

   2277  Redraw/refresh errors for Remote Assault demo
   2596  segmentation fault with Microsoft Flight Simulator 98
   4812  Fractal Mapper: fill patterns get wrong
   6495  Civilization 2 crashes on load after game complains about audio driver
   8640  Oziexplorer Save Image Problem
   9544  Semi transparency in .ico files is ignored
  12017  py2exe fails because fixme:resource:get_resource_section .rsrc isn't the last section
  12220  Joystick POV (hatswitch) doesn't work
  12275  Democracy crashes in wined3d
  13124  Graphical glitches in cursor for Diner Dash Hometown Hero
  14181  Mouse position in Steam tray menu is incorrect
  15220  fails to run PeachTree Accounting 8.0
  15355  REFPROP fails to calculate any values
  16391  Protel 99: text rotation misbehavior
  16426  Rapid Uploader: Crash with file open dialog
  16742  ntdll/directory.c: passing argument from incompatible pointer type
  17185  Quicktime 7.1.6 buffer overrun on exit
  17431  the +message debug channel can cause crashes when printing sent messages
  17520  mshtml/dom test times out if +heap enabled
  17971  GCC optimisations cause workaround for Slingplayer bug 13371 to fail
  18708  Amazon MP3 Downloader: Toolbar doesn't work
  19312  Can not close IE8
  19434  ActiveState ActiveTcl installer fail to install due to path write permission
  19596  Sony Ericsson PC Suite 5 fails to install
  19601  "Master Blaster 2006" hangs in infinite loop
  19929  Slingplayer's UI does not draw
  20020  Metal Fatigue hangs on intro movies if audio is enabled
  20119  Need for Speed Porsche 2000 / Unleashed: Text displayed incorrectly
  20234  Gomez Peer auto-update fails
  20245  2gis does not work
  20435  Barnes and Noble EReader crashes on startup
  20660  .net1.1 sp1 will not install
  21039  AtcWindows - modal windows don't stay on top
  21265  PCBSD crash handler  encountered error while trying to start bin/wine
  21613  Stack buffer read overflow in GdipCreateBitmapFromScan0
  21690  Turbo Lister page fault when selecting "register now" in help page
  21698  Cake Mania only runs in a virtual desktop on first run
  22398  7-Zip 64bit msi - Filesystem browser doesn't work at all
  23000  Delphi Apps can't open/save files in vista+ mode
  23134  iexplore does not correctly detect proxy details
  23276  igneous game : Graphical error
  23416  PAF5 help content panel is blank for most chapters.
  23888  1by1 Player version 1.70 freezes.
  23946  Radiobuttons and checkboxes not shown in .Net apllications
  23956  Verizon Media Manager needs native gdiplus to show text
  24025  Pando-based downloaders (League of Legends, Atlantica Online) missing background image
  24149  64-bit iexplore crashes on
  24301  ICO parsing needs an improvement
  24437  Barnes & Noble Nook for PC (eReader 2.5) doesn't show the text of books
  24449  TomTom HOME2 fails to start - gives a backtrace
  24484  Hegemony: Philip of Macedon installer complains "Couldn't create instance of IKnownFolderManager"
  24835  Graphical corruption in Verizon Media Manager without native GDIplus
  24928  WoW 4.x D3D: Water Detail and Sunshafts cannot be enabled fully in d3d9
  24959  Impulse crash after login
  25389  EA Create demo: fails without native msvcp90
  25471  problem on menus from DexExpress Delphi application component
  25680  Stale file associations are not properly removed
  25698  Black Prophecy and other Pando installers don't render properly
  25770  KOTOR2 : Crash when leaving Telos with the Ebon Hawk
  25827  msi install/package tests fail on clang
  25873  PAF5 now crashes is using the help viewer and clicking four chapter titles
  25949  Divinity 2: The Dragon Knight Demo - fails to start with builtin msvcr80 (purist)
  26086  TurboTax 2011: initial setup screen is mostly gray
  26125  msvcrt/cpp tests show a few memory leaks under valgrind
  26126  msvcrt/printf test shows an invalid/read write under valgrind
  26127  msvcrt/locale tests show a few uninitialized variables under valgrind
  26175  Theme internals on 64 bit enters infinite loop after crash
  26207  AVRStudio 4 : crashes when connecting to the programmer using COM port
  26232  Dragon Age 2 demo crashes with builtin msvcr90
  26281  regedit: Doesn't export decent newline in Unicode (NT5) Format.
  26288  Cain and Abel: No permission to open .tmp file
  26440  unimplemented function WS2_32.dll.GetNameInfoW
  26456  ldap_set_option with LDAP_OPT_OFF does not work
  26471  Free FLV Converter: Fails to start
  26483  WavePad: Unimplemented function traffic.dll.TcDeregisterClient
  26493  iMesh: Fails to install
  26494  Office 2007 installer terminates on start
  26497  Lost Saga downloader fails because IsValidURL doesn't like first parameter
  26501  IDAfree needs uxtheme.OpenThemeDataEx
  26505  file associations built by winemenubuilder lack wineprefix
  26508  Atom Zombie Smasher demo window is not fullscreen
  26514  Matlab 2009a: Fails to start
  26535  Escaped spaces in desktop entries
  26577  eBay Turbo Lister 7 fails to install
  26596  FTBFS: RTLD_NOW, MessageBoxA, and MB_OK undefined in JACK_DriverProc()


Changes since 1.3.16:

Akihiro Sagawa (2):
      inetcpl.cpl: Update Japanese translation.
      po: Update Japanese translation.

Alexandre Julliard (14):
      c2man: Fix a typo.
      gdi32: Don't require a valid point as input to OffsetViewport/WindowOrgEx.
      msxml3/tests: Avoid size_t in a trace.
      winealsa.drv: Remove unnecessary ifdefs.
      wineoss.drv: Remove unnecessary ifdefs.
      wineesd.drv: Remove unnecessary ifdefs.
      winenas.drv: Remove unnecessary ifdefs.
      winejack.drv: Remove unnecessary ifdefs.
      winejoystick.drv: Remove unnecessary ifdefs.
      winecoreaudio.drv: Remove unnecessary ifdefs.
      server: Reset the cursor clip rectangle when the foreground thread changes.
      user32: Reset the cursor clip rectangle before moving a window.
      server: Store all desktop cursor information in a separate structure.
      server: Return the time of last change along with the current cursor position.

André Hentschel (14):
      winemaker: Fix library argument.
      winhttp: Port numbers are unsigned.
      wininet: Port numbers are unsigned.
      ntdll: Add check for DragonFly BSD.
      urlmon/tests: Add another case to IUri tests.
      mscoree: Add stub implementation for CreateConfigStream.
      cabinet: Be more verbose.
      mshtml: Port numbers are unsigned.
      winhttp: Port numbers are unsigned (more).
      wininet: Port numbers are unsigned.
      uxtheme: Add OpenThemeDataEx.
      uxtheme/tests: Add tests for OpenThemeDataEx.
      uxtheme/tests: Fix typo.
      shlwapi: Implement wow64 reporting.

Aric Stewart (3):
      usp10: Rewrite ScriptStringCPtoX to make use of ScriptCPtoX.
      usp10: Rewrite ScriptStringXtoCP to make use of ScriptXtoCP.
      wineqtdecoder: fourCC value needs to be reversed as an OSType.

Aurimas Fišeras (1):
      po: Update Lithuanian translation.

Austin English (2):
      traffic: Add a stub for TcDeregisterClient.
      mshtml: Avoid shadowing a parameter.

Austin Lund (1):
      user32/tests: Fixed SetParent test on 64bit Vista.

Bart Van Assche (2):
      ntdll: Fix race condition in RtlCreateHeap().
      ntdll: Avoid examining uninitialized data.

Damjan Jovanovic (1):
      winemenubuilder: Do not skip entries when cleaning up file open associations.

Dan Kegel (2):
      winemenubuilder: File associations should set wineprefix.
      urlmon: IsValidUrl should not fail if first parameter is not NULL.

David Hedberg (30):
      mspatcha: New dll stub.
      msi: Add an offset to sequence numbers belonging to files added by a patch.
      msi: Generalize media helpers a bit.
      msi: Add support for patching files.
      comdlg32: Add DllGetClassObject and a default class factory.
      comdlg32: Add stub implementation of the Common Item dialogs.
      comdlg32: Add implementation of DllRegisterServer/DllUnregisterServer.
      comdlg32/tests: Add initial tests for the Item Dialog.
      comdlg32: Implement SetOptions/GetOptions for the Item Dialog.
      comdlg32: Implement SetFileTypes and GetFileTypeIndex/SetFileTypeIndex for the Item Dialog.
      comdlg32: Implement some folder and file selection functions for the Item Dialog.
      comdlg32: Implement Advise/Unadvise for the Item Dialog.
      user32/tests: Add some more tests for SetWindowPos.
      user32: Fix return value when passing a non-sibling preceding window to SetWindowPos.
      comdlg32: Add NEWFILEOPENV3ORD resource.
      comdlg32: Implement Show and Close for the Item Dialog.
      comdlg32: Add IExplorerBrowserEvents stub to Item Dialog.
      comdlg32: Add ExplorerBrowser control to Item Dialog.
      comdlg32: Add IServiceProvider implementation to the Item Dialog.
      comdlg32: Add ICommDlgBrowser3 stub to Item Dialog.
      comdlg32: Set explorerbrowser's site before navigating anywhere.
      comdlg32: Implement GetFileName and SetFileName for the item dialog.
      comdlg32: Update file name from selection in the item dialog.
      comdlg32: Implement filetype filtering for the item dialog.
      comdlg32: We only want to check the low word of wparam.
      comdlg32: Add a couple of simple navigation buttons to the item dialog.
      comdlg32: Factor out some path building code from FILEDLG95_OnOpen.
      comdlg32: Factor out some path validating code from FILEDLG95_OnOpen.
      comdlg32: Factor out filename string splitting code.
      comdlg32: Implement opening files with the item dialog.

Dmitry Timoshkov (7):
      ntdll: Use an NtWriteFile pointer instead of a static import.
      server: Add excute permission when read file access is allowed.
      winex11.drv: Do not use any window types except _NET_WM_WINDOW_TYPE_NORMAL.
      ntdll: Add a bunch of NtCreateFile tests.
      user32: Add the SW_SHOWDEFAULT case to WINPOS_MinMaximize().
      ntdll: Add more NtCreateFile tests.

Eric Pouech (9):
      dbghelp: When parsing .debug_line section in dwarf debug info, protect against out of bounds indexes.
      wineconsole: Ensure that the EXIT message is always properly propagated to the first caller of GrabChanges.
      dbghelp: Now that compilers (like clang) start to merge symbols across compilation units, no longer barf about duplicates.
      kernel32: When testing the debugger activation, don't use unitialized values (clang).
      dbghelp: Return proper null value when lookup_type fails.
      dbghelp: In const types, force 'void' type when none is found.
      loader: Protect preloader against ELF file without loadable segments (clang).
      winegcc: Check that option argument is within command line parameters.
      include: Added missing no return attribute.

Francois Gouget (29):
      mscoree/tests: Make init_pointers() static.
      msxml3/tests: Add a '\n' to an ok() call.
      openal32: Make a bunch of wrapper functions static.
      msxml3: Make xslpattern_error() static.
      wineps.drv: PSDRV_YWStoDS() is unused so remove it.
      kernel32: Only get the Windows directory if PROFILE_Open() needs it.
      winefile: Remove unimplemented menu entries.
      winefile: Remove the format disk command.
      winefile: Remove commented out code.
      winefile: Fix the compilation when _NO_EXTENSIONS is defined.
      winmm: Remove a space before a punctuation.
      programs: In English punctuations are not preceded by a space.
      winedbg: memory_get_current_frame() is not used anymore so remove it.
      winedbg: stack_get_register_current_frame() is not used anymore so remove it.
      msi: Make load_ttf_name_id() static.
      winefile: Remove the unimplemented help search menu.
      progman: Remove the unimplemented help search menu.
      progman: Implement the cascade and tile windows menus.
      notepad: Remove the unimplemented help search menu.
      regedit: Remove the unimplemented menus to connect to remote registries.
      winhlp32: Implement MACRO_HelpOnTop() and thus the corresponding menu.
      winhlp32: Remove the unimplemented help color and visibility menus.
      wintab32/tests: Remove an unused variable.
      msvcrt/tests: Wine should not have trouble with the environ pointers so replace a few skip()s with win_skip()s.
      progman: We don't have a wintutor application so remove the 'Tutorial' menu.
      progman: Remove the 'Help on Help' menu.
      winefile: Remove the 'Help on Help' menu.
      notepad: Remove the 'Help on Help' menu.
      regedit: Add support for creating expandable string values.

Gerald Pfeifer (2):
      dbghelp: Add a return statement for the default/assert case in elf_map_file.
      comctl32: Simplify MONTHCAL_PaintLeadTrailMonths.

Gregory M. Turner (1):
      gdi32: Initialize SetLayout function pointer.

Hans Leidekker (18):
      ws2_32: Implement GetNameInfoW.
      kernel32: Implement and test GetVolumePathNamesForVolumeName.
      wldap32: Accept a NULL value in ldap_set_option.
      wine.inf: Pretend that the .NET 4.0 Client and Full profiles are installed.
      mscms: Trace the CMM id as a string.
      msi: Ignore invalid upgrade codes in the PublishProduct action.
      msi/tests: Get rid of workarounds for win9x test failures.
      msi/tests: Allocate the user token dynamically and unify implementations.
      msi: Allocate the user token dynamically.
      msi: Explicitly pass product code and platform to MSIREG_OpenUninstallKey and MSIREG_DeleteUninstallKey.
      msi: Accept whitespace-only property values on the command line.
      msi: Implement MsiGetFileSignatureInformationA/W.
      msi/tests: Remove unneeded Wow64 checks.
      msi: Make sure to access the 64-bit portion of the registry where needed on Wow64.
      msi: Avoid sprintf for simple concatenations.
      msi: Fix buffer size calculation in get_keypath.
      msi: Fix building the message string in MSI_ProcessMessage.
      msi: Implement and test MsiEnumComponentCostsA/W.

Henri Verbeet (25):
      wined3d: Get rid of the IWineD3DBase requirement for surface_set_container().
      wined3d: Merge the texture implementations.
      wined3d: Remove COM from the texture implementation.
      wined3d: Get rid of the IWineD3DBaseTexture typedefs.
      wined3d: Get rid of IWineD3DBaseTextureClass.
      wined3d: Replace "cond_np2" in wined3d_texture with a flag.
      wined3d: Replace "pow2_matrix_identity" in wined3d_texture with a flag.
      wined3d: Replace "is_srgb" in wined3d_texture with a flag.
      wined3d: Move IWineD3DVertexShader::SetLocalConstantsF() to IWineD3DBaseShader.
      Revert "wined3d: Prevent crash when blit_priv is NULL.".
      wined3d: Get rid of IWineD3DVertexShader.
      wined3d: Get rid of IWineD3DGeometryShader.
      wined3d: Get rid of IWineD3DPixelShader.
      wined3d: Get rid of IWineD3DVertexShaderImpl.
      wined3d: Get rid of struct wined3d_geometryshader.
      wined3d: Get rid of IWineD3DPixelShaderImpl.
      wined3d: Merge the IWineD3DBaseShader implementations.
      wined3d: Get rid of IWineD3DBaseShaderClass.
      wined3d: Remove COM from the shader implementation.
      wined3d: Get rid of the IWineD3DBaseShader typedefs.
      wined3d: Rename "numContexts" to "context_count".
      wined3d: Fix the EXT_blend_minmax extension definitions.
      wined3d: Fix the EXT_blend_color extension definitions.
      wined3d: Fix the EXT_blend_subtract extension definitions.
      wined3d: Get rid of the ARB_imaging extension.

Hwang YunSong (1):
      comdlg32: Update Korean resource.

Jacek Caban (6):
      mshtml: Try loading library in IInternetProtocolInfo::ParseUrl(PARSE_INTERNET_URL) for res protocol to work around library name difference for winelib libraries.
      mshtml: Store security manager in HTMLWindow instead of HTMLDocumentNode.
      mshtml: Use zone mapping instead of hardcoded protocols in use_gecko_script.
      mshtml: Event handler may be already free in release_event_target.
      mshtml: Fixed ref count handling in events.c.
      mshtml: Fixed node leak in HTMLEventObj.

Joshua Beck (1):
      winex11: Improved error handling in pglXMakeCurrent() call.

Jörg Höhle (5):
      Revert "winmm: Fix PlaySound so it doesn't block when another sound is already playing.".
      winmm: Abort PlaySound in case of audio error.
      winmm: Get rid of psStopEvent which was never used like an event.
      winmm: PlaySound concurrency cleanup.
      user32/tests: Add a few IsWindow checks.

Konrad Rzepecki (4):
      msvcrt: Implement _mbsupr_s.
      msvcrt: Implement _mbslwr_s.
      wined3d: Prevent crash when blit_priv is NULL.
      wined3d: Implement WINED3DFMT_YUY2 to WINED3DFMT_B5G6R5_UNORM conversion function.

Maarten Lankhorst (1):
      wined3d: Fix a clipping issue with D3DSPSM_SIGNNEG.

Marcus Meissner (13):
      winedbg: Add missing break (Coverity).
      winecfg: Added missing break (Coverity).
      wininet: Added missing break (Coverity).
      wined3d: Mark up fallthrough breaks (Coverity).
      user32: Added missing break (Coverity).
      user32: Added missing break.
      shell32: Missing break in IDOK case.
      krnl386.exe16: Added missing break to dma code (Coverity).
      dnsapi: Added missing breaks (Coverity).
      kernel32: Added missing break (Coverity).
      comctl32: Added missing break (Coverity).
      winebuild: Mark up fallthrough switch cases (Coverity).
      widl: Mark up a FALLTHROUGH case (Coverity).

Matteo Bruni (11):
      opengl32/tests: Test using a GL context after the drawable is destroyed.
      winex11.drv: Don't modify current state if glXMakeCurrent fails.
      winex11.drv: Make wglMakeCurrent return the correct error when the drawable is invalid.
      opengl32/tests: Add a test for window destroy with wglMakeContextCurrentARB.
      winex11.drv: Don't modify state if glXMakeContextCurrent fails.
      winex11.drv: Fix wglMakeContextCurrent with an invalid drawable.
      winex11.drv: Don't call glXSwapBuffers if the context or the drawable are invalid.
      winex11.drv: Take care of the destroyed drawable in wglFlush/wglFinish too.
      opengl32/tests: Improve window destroy tests.
      wined3d: Fix an error message.
      wined3d: Better handle some instances when we can't make the required GL context current.

Michael Stefaniuc (4):
      browseui/tests: COM cleanup in autocomplete.c.
      xmllite: COM cleanup in reader.c.
      oleaut32: COM cleanup for the IPropertyPageSite iface.
      oleaut32/tests: Use a proper static COM object.

Nikolay Sivov (13):
      comctl32/monthcal: Remove outdated comment.
      comctl32/monthcal: Move partially visible months painting outside of calendar loop.
      comctl32/monthcal: Fix hit test for previous month.
      comctl32/monthcal: Cache brush handles.
      comctl32/monthcal: Selection and abbreviations should use title colour.
      comctl32/monthcal: Clean day painting function.
      comctl32/listview: Adjust dispinfo text buffer length.
      comctl32/listview: Fix edit box text limit.
      msxml3: Initial tests for IObjectWithSite support for httprequest.
      msxml3: More tests for <?xml ?> attributes.
      msxml3: Allow to create dummy node map for <?xml ?>.
      urlmon: Fix parameter validation in BindToStorage().
      urlmon/tests: Test for return value directly, without macros.

Piotr Caban (22):
      mshtml: Report an error when navigation fails.
      mshtml/tests: Added IWinInetHttpInfo interface.
      mshtml/tests: Added IBrowserService interface.
      mshtml/tests: Added IDocObjectService interface.
      mshtml/tests: Added asynchronous moniker to htmldoc tests.
      mshtml/tests: Added connection error handling tests.
      shdocvw: Report navigation error depending on HTTP status code.
      urlmon: Forward IWinInetHttpInfo calls to protocol implementations.
      urlmon: Added IWinInetHttpInfo_{QueryOption,QueryInfo} implementation.
      urlmon/tests: Added IWinInetHttpInfo tests.
      ntdll: Don't call compare function on memory not provided by user in qsort.
      msvcrt: Added space for nullbyte in size returned by wcstombs_s and mbstowcs_s.
      msvcrt: Correctly terminate string in wcsncat_s.
      msvcrt/tests: Fix memory leaks (valgrind).
      msvcrt: Fix buffer size in _ecvt_s.
      mshtml/tests: Ignore calls missing in IE6.
      msvcrt: Fix locale creation for multibyte encoding.
      msvcrt: Don't call get_locale two times in _isctype function.
      msvcp: Added basic_string<{char, wchar}> operator+= exports.
      msvcp: Added basic_string<char> operator+ implementations.
      msvcp: Added basic_string<wchar> operator+ implementations.
      msvcp90/tests: Added operator+ tests (basic_string<char>).

Rico Schüller (21):
      include: Add missing D3DXCreateEffect* declarations in d3dx9effect.h.
      d3dx9: Fix HeapAlloc size in D3DXCreateEffectPool.
      d3dx9: Use size of variable instead of type.
      d3dx9: Handle pool and device in ID3DXEffect.
      d3dx9/tests: Add refcount test for the device.
      include: Fix ID3DXEffectCompiler interface.
      d3dx9: Add ID3DXBaseEffect interface.
      d3dx9: Forward ID3DXEffect to ID3DXBaseEffect.
      d3dx9: Add ID3DXEffectCompiler interface.
      d3dx9: Fix some style issues.
      d3dx9: Implement ID3DXEffect::GetPool().
      d3dx9: Implement ID3DXEffect::GetDevice().
      d3dx9: ID3DXEffect::QueryInterface() does not support IID_ID3DXBaseEffect.
      d3dx9/tests: Add ID3DXEffect::GetPool() and ID3DXEffect::GetDevice() tests.
      d3dx9/tests: Add ID3DXEffectCompiler test.
      d3dx9: Don't zero memory when it will be overridden.
      d3dx9: Use variable instead of type in HeapAlloc.
      d3dx9: Remove typedef from ID3DXBufferImpl.
      d3dx9: Rename some variables.
      d3dx9: Add a some TRACEs to ID3DXBufferImpl.
      d3dx9: Use init function for ID3DXBuffer.

Roderick Colenbrander (1):
      wined3d: Check for ARB_fragment_program in arbfp_blit_supported.

Stefan Leichter (1):
      ntoskrnl.exe: Add stub for PsSetLoadImageNotifyRoutine.

Steven Wallace (1):
      ntdll: implemented ProcessDebugFlags in NtQueryInformationProcess.

Thomas Mullaly (6):
      urlmon/tests: Added SecurityManager zone mapping cache tests.
      urlmon/tests: Added zone domain mapping tests.
      shlwapi: Improved UrlGetPart support when parsing host names.
      urlmon/tests: Added CoInternetParseUrl tests.
      urlmon: Removed str_last_of in favor of memrchrW.
      urlmon: Added basic domain zone support to MapUrlToZone.

Vincent Pelletier (2):
      dinput: Ramp from lStart to lEnd, not lStart to lStart.
      dinput: Effect length can actually be 0.

Vincent Povirk (14):
      gdiplus: Clean up HRGN when GdipGetRegionBounds succeeds too.
      gdiplus: Initialize the ImageAttributes in GdipCreateTexture2I.
      gdiplus: Implement color transforms.
      gdiplus: Implement gamma adjustment.
      windowscodecs: Add support for reading tiled TIFF images.
      gdiplus: Use the given HPALETTE in GdipCreateBitmapFromHBITMAP.
      gdiplus: Add test for GdipDrawDriverString.
      gdiplus: Add test for GdipSetTextRenderingHint and make it pass.
      winejack.drv: Fix build.
      gdiplus: Fall back to Liberation Serif if Times New Roman is missing.
      comctl32: Use current month and year when checking day of month.
      comctl32: When entering a month or year, keep the day in range.
      comctl32: Validate the day of month when scrolling through years.
      gdiplus: Add basic implementation of GdipDrawDriverString.

Łukasz Wojniłowicz (1):
      po: Update Polish translation.

Alexandre Julliard
[email protected]