The Wine development release 1.5.17 is now available. 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: http://prdownloads.sourceforge.net/wine/wine-1.5.17.tar.bz2 http://mirrors.ibiblio.org/wine/source/1.5/wine-1.5.17.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.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): d3dx9: Avoid LPDIRECT3DSURFACE9. d3dx9: Avoid LPDIRECT3DVOLUME9. d3dx9: Avoid LPDIRECT3DDEVICE9. 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 LPDIRECT3DVERTEXBUFFER9. d3d9/tests: Avoid LPDIRECT3DSURFACE9. mmdevapi: Avoid a couple of dependencies on ddraw.h. ddraw: Avoid LPDIRECTDRAWSURFACE7. ddraw: Avoid LPDIRECTDRAWSURFACE4. wined3d: Simplify shader selection. wined3d: Enable or disable the fragment pipe in shader_select(). ddraw: Avoid LPDIRECTDRAWSURFACE3. ddraw: Avoid LPDIRECTDRAWSURFACE2. ddraw: Avoid LPDIRECTDRAWSURFACE. 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: Avoid LPDIRECTDRAWPALETTE. ddraw: Avoid LPDIRECTDRAWCLIPPER. 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. ddraw: Avoid LPDIRECT3DVERTEXBUFFER7. 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. ddraw: Avoid LPDIRECT3DVERTEXBUFFER. ddraw: Avoid LPDIRECT3DEXECUTEBUFFER. ddraw: Avoid LPDIRECT3DTEXTURE2. 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<wchar> 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. -- Alexandre Julliard julliard@xxxxxxxxxx