Wine 1.5.17 released
Posted on: 11/09/2012 09:30 PM

The Wine development release 1.5.17 is now available

Wine 1.5.17 released

What's new in this release (see below for details):
- Sub-pixel font anti-aliasing in the DIB engine.
- Support for automatic installation of ActiveX controls.
- Automatic fallback to TLS 1.0 for secure connections.
- Beginnings of the DirectWrite text analyzer.
- Better handling of font outlines in OpenGL.
- 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.17 (total 53):

12651 Bad sound quality in Starcraft when running with hardware acceleration
13465 Overlord: adding native d3dx9_36.dll results in a crash
15256 Disabling OpenGL output in WinUAE causes crash, possibly in x11drv_main
15973 Encoding/escaping issues in some foreign chm files
18083 Metatrader: doesn't respect charts sorting/sequency when restarted
19100 Age of Wonders Shadow Magic: Game doesn't launch!
20755 Minor display problems in Mafia
21226 MetaEditor has black rows in the text editor.
21694 MotorM4X fails to run
22034 EXIT_ON_ERROR should use ERR instead of WARN in winealsa.drv
22065 HeadOverHeels crashes
22308 Downloadable content is unauthorized and disabled when logged in to Dragon Age: Origins server
22350 package Mono so it can be included in a default Wine install
22696 RCT2 crashes when changing screen resolution
23837 The Spirit Engine 2 crashes on startup when using ALSA hardware driver backend (ALSA hw emu and OSS hw/sw emu work)
24453 Snes9x 1.52 runs very slowly with DirectDraw.
24557 winmm/msacm: Improper shutdown sequence
24639 James Cameron's Avatar: The Game demo - no sound without hardware acceleration = emulation
24873 LTSPICE crashes some seconds after running a simulation
25060 Microsoft .NET Framework 3.5 installer does not complete
25385 The UnderGarden Demo won't run without winetricks d3dx9_36
26877 Cannot save games in Sim City 3000 Unlimited
27056 WebcamMax: Crash at installation
27741 Imbricated for loops parameters not expanded correctly
27813 Windows 7 msacm32 needs CompareStringOrdinal
28422 scanf family of functions provides only 7 digits of precision for converting doubles and long doubles
28477 Pollux Ride : Unhandled exception: unimplemented function msvcp80.dll.??0?$basic_fstream@DU?$char_traits@D@std@@@std@@Q
28871 MT5 installs but window doesn't respond
29147 Metatrader freezes when an expert advisor is loaded
29250 Blurry fonts antialiasing in Word 2007/2010
29452 msi installer doesn't show open dialog
29513 win2flash crashes on start with segfault
30100 LT Spice freezes
30206 Doom Builder 2: fails to initialize graphics when opening a map
30241 Heroes IV Crash in 16:9 resolution
30598 Evernote can't connect to server
30762 msxml3/domdoc tests flaky
30806 Console2: fails to start
30908 SlingPlayer 2 crashes when connecting through a proxy
30947 Tropico 4: crashes on startup
31473 AirMech installer does not start up
31982 Black shadow flash in a moment after right clicking on the main window of Thunder
31995 Artweaver Free v3.1 fails to start without native crypt32.dll
32039 Ankh hangs on start with built-in msvcp71
32052 Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) Release A installer creates incorrect registry entry
32066 Right click menu of QQ2012 system tray flushes and disappears
32080 Installation of CorelDRAW 12 fails
32081 Civilization V fails to start a game without native d3dx9_36 (crashes in d3dx9_36/math.c)
32117 Genesis Rising crashes on start
32118 Invoke() is broken for IFileSystem
32122 msi: crash running tests for MSI products patching
32156 .Net 3.0 (dotnet30) installer fails
32165 .NET installer does not set file dates


Changes since 1.5.16:

Alexandre Julliard (36):
user32: Don't flush window surfaces while waiting for a sent message reply.
winex11: Delay mapping a layered window until its attributes are set.
ntdll: Avoid using Low/HighPart of a large integer when not necessary.
ntdll: Add a helper function to set file times.
ntdll: Remove futimes implementation from libport, it's only needed in ntdll.
gdi32: Avoid some redundant registry calls while loading the font cache.
gdi32: Store the font file name in Unicode in the font cache.
gdi32: Store the fontconfig anti-aliasing flags for each font.
gdi32: Add a parameter to return anti-aliasing flags in the SelectFont driver entry point.
gdi32: Store the anti-aliasing flags in the DC when selecting a font.
gdi32: Disable anti-aliasing when necessary in the various drivers.
gdi32: Move checking of the subpixel support and gasp flags to freetype.c.
gdi32: Set the font anti-aliasing flags from the fontconfig information if available.
urlmon: Add po file support for resource translation.
gdi32: Determine the default anti-aliasing parameters in the null driver SelectFont entry point.
winex11: Use the default anti-aliasing parameters from gdi32.
winex11: Store the anti-aliasing flags in the device instead of the font cache.
include: Add format definitions for wglUseFontOutlines.
gdi32: Get rid of the non-standard flags in GetRasterizerCaps.
gdi32: Use the fontconfig anti-aliasing setup even for non-fontconfig fonts.
gdi32: Avoid opening the desktop registry key multiple times.
gdi32: Take into account the FontSmoothing key for anti-aliasing.
user32: Force refreshing the non-client area when the window surface is changed.
opengl32: Update to the current OpenGL spec.
opengl32: Generate our own wgl.h header from the OpenGL registry data.
opengl32: Avoid using the system GL headers.
gdi32: Avoid using the system GL headers.
winex11: Avoid using the system GL headers.
wined3d: Make use of the generated wgl.h header.
opengl32: Don't substitute OpenGL types that are already defined in wgl.h.
ntdll: Fix access/write file time mixup.
configure: Check for getopt_long_only instead of getopt_long.
configure: Remove checks for OpenGL headers that are no longer used.
wined3d: Link directly to opengl32.
opengl32: Get rid of the extension removal hack in wglGetProcAddress and clean up the tracing.
opengl32: Get rid of wine_ prefix on generated functions.

Alistair Leslie-Hughes (1):
iads.idl: Add missing interfaces.

Andrew Eikum (1):
oleaut32: helpcontext is not an offset.

André Hentschel (33):
dplayx/tests: Add missing GetPlayerName test.
fusion: Reorder some code to avoid memory leak (coverity).
gdi32: Avoid memory leaks (coverity).
ieframe: Avoid memory leak (coverity).
oleaut32: Don't leak SafeArray (coverity).
ole32: Don't leak memory allocated by enumx_allocate (coverity).
rpcrt4: Reorder code to make sure RpcBindingFromStringBinding[AW] cleans up (coverity).
shell32: Reorder code to avoid memory leaks (coverity).
urlmon: Avoid memory leaks (coverity).
msxml3: Avoid memory leak (coverity).
ole32: Don't leak memory allocated by FileMonikerImpl_DecomposePath (coverity).
oleaut32: Don't leak memory allocated by heap_alloc_zero (coverity).
setupapi: Avoid memory leaks (coverity).
ole32: Don't leak memory allocated by ProgIDFromCLSID (coverity).
dplayx: Reorder some code to avoid memory leak (coverity).
comdlg32: Fix usage of constants.
user32: Avoid memory leaks (coverity).
usp10: Avoid memory leak in ScriptTextOut (coverity).
wineps: Avoid memory leaks (coverity).
winex11: Avoid memory leaks (coverity).
wininet: Fix WININET_SetAuthorization on error path (coverity).
vbscript: Avoid memory leak in compile_select_statement (coverity).
winspool: Avoid memory leaks (coverity).
winex11: Avoid memory leaks (coverity).
riched20: Remove duplicate operand in expression (coverity).
urlmon: Fix copy and paste error (coverity).
d3dx9_36: Return on error (coverity).
dmloader: Fix sizeof statement (coverity).
d3dx9_36: D3DXCreateFontIndirectW seems no longer to be a stub.
start: Fix mask for creation flags (coverity).
winmm: Mark up fallthrough switch case (coverity).
winhlp32: Mark up fallthrough switch case (coverity).
xcopy: Fix indentation of a break (coverity).

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

Christian Costa (8):
d3drm: Init vertices before creating group.
d3drm: Move mesh builder data cleaning code into a separate function.
kernel32: Implement CompareStringOrdinal.
dmusic: Dump port params only once.
dmusic: Display new ref in AddRef and Release.
dmusic: Remove unused variables.
dmusic: Init port caps dwSize member before calling GetPortCaps.
d3dxof/tests: Pass level by value in process_data rather than a pointer.

Daniel Lehman (11):
msvcp90: Set eof state in istream: :peek if got eof.
msvcp: Sync istream: :peek implementations.
msvcp90: Update fpos: :off instead of pos in stringbuf::seekoff.
msvcp90: Fix usage of fpos: :off vs fpos: :pos.
msvcp90: In istream::tellg don't use sentry.
msvcp: Sync fpos usage and istream::tellg.
msvcrt: Return value from MSVCRT____mb_cur_max_func instead of pointer.
msvcp90: Use streambuf sgetc/snextc in std::getline(istream &).
msvcp: Sync std::getline(istream &) implementations.
shell32: Initialize fAnyOperationsAborted in SHFileOperation.
msvcp90/tests: Add fstream::tellg tests.

Detlef Riekenberg (6):
winhttp: Accept WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH as session option.
schtasks: Add a stub schtasks.exe.
mstask: Implement GetTargetComputer.
mstask/tests: Add tests for GetTargetComputer.
mstask: Implement SetTargetComputer.
mstask/tests: Add tests for SetTargetComputer.

Dmitry Timoshkov (4):
gdiplus: Add support for extra transformation in GdipMeasureDriverString and GdipDrawDriverString.
gdiplus: Allocate a copy of the graphics transformation matrix on the stack instead of cloning it.
gdiplus: Avoid GdipCloneMatrix calls for the graphics transformation matrix.
gdiplus: Store transformation matrix directly in the objects.

Erich Hoover (1):
ntdll: Implement nanosecond precision file time storage.

Francois Gouget (7):
services: Fix compilation on systems that don't support nameless unions.
cmd: Make WCMD_forf_getinputhandle() static.
winemenubuilder: Use the same icon name on Mac OS X as on Unix.
winemenubuilder: Return the icon identifier instead of the full path on Mac OS X too.
kernel32/tests: Make test_CompareStringOrdinal() static.
msvcp71: Remove an unused VTBL wrapper.
Assorted spelling fixes.

Frédéric Delanoy (14):
ws2_32/tests: Remove dead code (coverity).
crypt32: Avoid double free in CRYPT_LoadSIP on error path (coverity).
gdiplus/tests: Cleanup resources on error path in test_font_height_scaling (coverity).
po: Update French translation.
cmd: Avoid handle leaks (coverity).
rpcrt4: Fix resources leaks.
cmd: Fix some leaks (coverity).
msvfw32: Fix a leak (coverity).
msi: Fix a leak (coverity).
cmd/tests: Simplify 'if' comparison tests.
iphlapi: Fix some leaks (coverity).
msi: Fix some leaks (coverity).
d3drm: Fix a leak (coverity).
ole32: Fix some leaks (coverity).

Hans Leidekker (28):
comctl32: Use the dialog template caption as default propsheet title.
msi: Add a test for embedded nulls in string property values.
msi: Add more tests for embedded nulls in string property values.
msi: Add support for storing strings with embedded nulls in the string table.
msi: Store string length in the record structure.
msi: Get rid of MSI_RecordSetStringA.
msi: Preserve strings with embedded nulls in the record implementation.
msi: Preserve strings with embedded nulls when copying from the string table to a record.
msi: Preserve strings with embedded nulls when copying from a record to the string table.
msi: Add a length parameter to msi_set_property and use it where appropriate.
msi: Return length instead of size from deformat_string.
msi: Don't create a copy of deferred custom action data.
msi: Add a length parameter to msi_strcpy_to_awstring and use it where appropriate.
msi: Pass string length to msi_set_property in ACTION_CustomAction.
winhttp: Fix the error returned from WinHttpGetProxyForUrl when autodetection fails.
wbemprox: Avoid a crash when serializing object text.
msi: Return length for the empty string in msi_string_lookup.
msi: Fix handling of strings with embedded nulls in msi_addstring.
msi: Preserve strings with embedded nulls in the record formatting implementation.
msi: Fix handling of REG_MULTI_SZ values in the WriteRegistryValues action.
msi: Avoid a crash when target paths have not yet been resolved.
msi: Return correct length for the empty string from deformat_string.
msi: Remove a component regardless of its install state, unless it's a permanent component.
msi: Make sure either the REINSTALL or the REMOVE property is set when the product is already installed.
msi: Register dlls in a separate process.
xpssvcs: Add stub dll.
msi: Fix use of uninitialized variables.
msi: Avoid a string copy when comparing SQL keywords.

Henri Verbeet (33):
dxdiagn: Avoid depending on ddraw.h.
wined3d: Don't depend on device internals in fragment_pipeline.alloc_private().
d3d9/tests: Avoid LPDIRECT3DTEXTURE9.
d3d9/tests: Avoid LPDIRECT3DSURFACE9.
mmdevapi: Avoid a couple of dependencies on ddraw.h.
wined3d: Simplify shader selection.
wined3d: Enable or disable the fragment pipe in shader_select().
wined3d: Use the shader object ids as program key.
wined3d: Introduce a separate structure for the vs specific fields in struct glsl_shader_prog_link.
ddraw/tests: Avoid LPDIRECTDRAW7.
wined3d: Introduce a separate structure for the ps specific fields in struct glsl_shader_prog_link.
wined3d: Use more consistent names for the various bumpenv uniforms.
ddraw: Avoid LPDIRECTDRAW.
wined3d: Use the correct RGTC constant in format_texture_info.
wined3d: Introduce a separate function for initializing vs uniform locations.
wined3d: Introduce a separate function for initializing ps uniform locations.
wined3d: Introduce a separate function for generating the fixed function fog GLSL code.
wined3d: Introduce a separate function for generating the sRGB write GLSL code.

Hiroshi Miura (1):
wininet: Add a TLS fallback mechanism.

Huw Davies (2):
gdi32: Implement sub-pixel glyph smoothing.
vbscript: The first day of the week should default to Sunday, not the system default.

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

Jacek Caban (34):
urlmon.idl: Moved CopyBindInfo declaration to public header.
urlmon.idl: Added ICodeInstall declaration.
vbscript: Added support for negative constants.
vbscript: Print more informative FIXME when parser fails.
d3dx9mesh.h: Fixed D3DXConvertMeshSubsetToStrips declaration.
vbscript: Added support for more builtin constants.
jscript: Fixed some leaks (coverity).
advpack: Added ExtractFilesW implementation.
urlmon.idl: Added AsyncInstallDistributionUnit declaration.
widl: Define PROXY_DELEGATION in dlldata.c when needed.
explorerframe: Moved TaskbarList implementation to explorerframe.
cabinet: Improved debug traces.
wininet: Write received data to cache before notifying progress.
wininet: Commit cache file as soon as all data is written.
urlmon: Moved extracting callback from IBindCtx to separated function.
urlmon: Added AsyncInstallDistributionUnit implementation.
mshtml: Try to install ActiveX if it's not registered.
jscript: Use prop_put in jsdisp_propput_dontenum.
jscript: Create non-enumerable properties in jsdisp_propput_const.
jscript: Use jsdisp_propput_dontenum where appropriate.
jscript: Added propertyIsEnumerable implementation.
jscript: Added more enumerable attribute tests.
mshtml: Don't call CP event sinks on detached documents.
mshtml: Keep reference to document node in fire_event_obj.
mshtml: Ignore one more property change notification to fix some IE installations.
widl: Ignore -app_config option.
mshtml: Added IHTMLObjectElement::name property implementation.
mshtml: Don't pass hash part of URI to EvaluateNewWindow.
mshtml: Call set_current_uri in navigate_proc.
mshtml: Use fregment-less URI in super_navigate.
mshtml: Added IPersistHistory::SaveHistory implementation.
mshtml: Use flags in navigation functions.
mshtml: Added IPersistStream::LoadHistory implementation.
jscript: Fixed leak in disp_propget.

Jason Edmeades (7):
cmd: Don't overflow parameter length when copying substring.
attrib: Support relative paths as args.
attrib: Add support for attrib /s.
attrib: Add attrib /d support.
cmd: Fix for loops within for loops.
xcopy: Fix resource leak (coverity).
attrib: Remove redundant code.

Juan Lang (2):
rsaenh: Ensure a PKCS1 data block has at least minimum length.
Revert "crypt32: Correct CryptVerifyMessageSignature's use of pcbDecoded.".

Julian Rüger (2):
po: Update German translation.
po: Update German translation.

Józef Kucia (8):
d3dx9: Rename copy_simple_data to convert_argb_pixels.
d3dx9: Rename point_filter_simple_data to point_filter_argb_pixels.
d3dx9: Introduce a function for copying pixels.
d3dx9: A simple copy isn't enough when a color key is provided.
d3dx9: Correct the FIXME message in ID3DXFont::GetGlyphData.
d3dx9: Handle NULL viewport in D3DXVec3Unproject.
d3dx9: Handle NULL arguments in D3DXVec3Project.
d3dx9: Handle NULL arguments in D3DXVec3Unproject.

Jörg Höhle (6):
winmm: Turn some MCI parser ERR into FIXME.
winealsa: Fix capture overrun logging.
ntdll: Do not execute callbacks past DeleteTimer(INVALID_HANDLE_VALUE).
winmm: Prefer using MMSYSERR_* over AUDCLNT_E_* from mmdevapi.
winmm: Avoid generic MMSYSERR_ERROR during initialisation.
winmm: Call IsFormatSupported for WAVE_FORMAT_QUERY only.

Ken Thomases (1):
opengl32: Don't lose __wine_set_pixel_format() declaration during make_opengl.

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

Maarten Lankhorst (1):
ws2_32: Define IP_UNICAST_IF if not found on linux.

Marcus Meissner (1):
dsound: HeapFree secondaries (Coverity).

Matteo Bruni (6):
wined3d: Ensure GL_FRAGMENT_PROGRAM_ARB is enabled when using ARB shaders.
wined3d: Pop control frames in disabled if branches (ARB shader backend).
d3dcompiler: Don't take the sign as part of the numeric token.
d3dcompiler: Allow a comma at the end of an initializer.
d3dcompiler: Skip stray semicolons outside of functions.
d3dcompiler: Put data type name of constants on the heap.

Michael Stefaniuc (8):
user32/test: Don't over-allocate memory for DDEDATA.
ole32/tests: Fix a memleak on an error path (Smatch).
usp10: Use FIELD_OFFSET to calculate the size of a struct with variable length array.
user32: Avoid sizeof on structs with variable length array.
localspl: Avoid using sizeof on structs with variable length array.
gdi.exe16: Use FIELD_OFFSET to calculate the size of structs with variable length array.
itss: Use FIELD_OFFSET to calculate the size of a struct with variable length array.
msi: Use FIELD_OFFSET to calculate the size of structs with variable length array.

Nikolay Sivov (12):
dwrite: Added initial test code for text analyzer tests.
dwrite: Added a stub for IDWriteTextAnalyzer.
dwrite: Implement initial script itemization for AnalyzeScript().
dwrite: Support itemization up to codepoint 0x2ff (Latin range).
dwrite: Support for Greek and Cyrillic ranges.
dwrite: Support for Armenian, Hebrew and complete Arabic ranges.
dwrite: Support nine more script ranges up to code point 0x0bff.
msxml3: Fix indexed access to schema collection namespace uris.
dwrite: Support more script ranges, up to Mongolian.
scrrun: Invoke() takes interface pointer, not a pointer to pointer.
scrrun: Added a stub for IFolder interface.
dwrite: Support eight more script ranges.

Nozomi Kodama (1):
d3dx9_36: Add tests for D3DXSHRotateZ.

Piotr Caban (18):
msvcrt: Fixed %Lf format handling in scanf.
msvcrt: Improved parsing precision of doubles in scanf.
comctl32: Don't update rebar layout if it doesn't change in REBAR_HandleUDDrag.
comctl32: Fixed RBBS_BREAK flag unsetting in REBAR_HandleUDDrag.
msvcp71: Ignore prot argument in Fiopen_wchar function.
msvcp71: Fixed basic_streambuf vtable.
msvcrt: Allocate buffer in fwrite function.
msvcp90: Fixed incorrect sentry object usage.
msvcp90: Use critical sections in mutex object.
msvcrt: Improved scanf precision.
msvcrt: Improved _atoflt_l precision.
msvcrt: Improved _wcstod_l precision.
msvcrt: Improved strtod_l precision.
msvcrt: Fixed __p___mb_cur_max tests.
msvcp90: Fixed long long printing in tests.
msvcp90: Destroy string returned by basic_stringbuf_char_str_get.
msvcp: Fixed uninitialized variable access in num_get::_Getffld and _Getifld functions.
msvcp60: Fixed basic_streambuf class structure.

Rafał Mużyło (2):
gdiplus: Fix logic of treating the region of a string as unclipped.
gdiplus: Mark regions as unclipped correctly.

Sam Edwards (6):
opengl32: Fix outline-font glyphs rendering with incorrect front faces.
opengl32: Implement wglUseFontOutlines curve smoothing.
d3d9/tests: Add test for IDirect3DDevice9_Reset with BackBufferWidth/Height = 0.
opengl32: Implement the wglUseFontOutlines WGL_FONT_LINES format.
d3d8/tests: Add test for IDirect3DDevice8_Reset with BackBufferWidth/Height = 0.
opengl32: Apply correct normals to text rendered with wglUseFontOutlines.

Tatyana Fokina (1):
ole32: Removed unused parametrs keyname and valuename in COM_RegReadPath.

Vincent Povirk (4):
gdiplus: Add tests for drawing recorded metafiles.
gdiplus: Implement drawing metafiles with an emf handle.
gdiplus: Implement GdipCloneImage for metafiles with a handle.
gdiplus: Reimplement GdipCreateMetafileFromEmf without using IPicture.

Printed from Linux Compatible (