The Wine development release 1.7.46 is now available.
What's new in this release (see below for details): - Improvements in the BITS file transfer service. - Still more progress on DirectWrite implementation. - Support for shared user data on 64-bit. - Various C++ runtime improvements. - Some more support for the 64-bit ARM platform. - Various bug fixes.
The source is available from the following locations:
http://prdownloads.sourceforge.net/wine/wine-1.7.46.tar.bz2 http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.46.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.46 (total 67):
6316 MYOB V13 prints a blank page 15564 BlogJet: typing text and account signup don't work 16196 Back and Forward buttons in Google Sketchup's 3D Warehouse do nothing 16885 Yahoo Messenger 8/9 menu invisible, 'X' box hotspot in wrong place 19648 Lotus Organizer 97 - No text on tabs 19695 Gox Box window loses focus when list box is expanded 20927 MYOB version 6 crashes when printing 22085 Roller Coaster Tycoon can't change the screen resolution 23148 Lotus Freelance Graphics 2.1 reports a C runtime error and exits 24823 Miranda IM crashes with a modern contact list plugin 26656 Cherry-SMS desktop app crashes / shows no country code 26791 backtraces broken on gcc 4.7 28148 Neuro Hunter: certain effects are invisible 28189 regsvr32: No usage in wineconsole 29929 Demo installer stuck at program folder selection 30805 Graphical glitch in the menu of Medieval total war 30873 BMFont crashes on visualise option or save bitmap font as 31228 "A simple IOCP Server/Client Class" locks up in GetMessage 31694 A ton of 'error loading char 255 - bad news!' errors when compiling wine with newer Freetype 31757 Adobe Application Manager 6.x/7.x download fails with error code A12E5 (winhttp request headers missing byte range) 32127 Oblivion Launcher crash on start 32214 Shaiya Online (MMORPG, Aeria Games) crashes on startup 32550 Points2Grid crashes on calculation 33831 AliWangwang hangs before login 33849 Multiple 64-bit kernel drivers crash on access to KI_USER_SHARED_DATA range (0xfffff78000000000) (Tages DRM, Comodo Backup) 34112 Skilors Grooveshark Downloader installer crashes 34357 TaxAct 2012 and 2013 crash on startup 34406 Finale Notepad 2012 doesn't copy/create user files on program start 34843 Garmin BaseCamp 4.1.2 fails due to unimplemented gdiplus.GdipCreateRegionRgnData 35537 Easy Bridge version 4.0.2 installer crashes 35540 Netgear Powerline 3.1: desktop shortcut blank 35775 Multiple Realarcade installers crash on startup due to IFile::PutAttributes method stub 35949 Starcraft Campaign Editor does not highlight links in triggers on hover 36192 valgrind shows a definite leak in mmdevapi/tests/capture.c 36235 valgrind shows 3 leaks in amstream/tests/amstream.c 36318 valgrind shows a leak in quartz/tests/filtermapper.c 36321 valgrind shows a possible leak in quartz/tests/referenceclock.c 36324 valgrind shows a leak in rpcrt4/tests/ndr_marshall.c 36555 valgrind shows a definite leak in amstream/tests/amstream.c 36780 Tomb Raider III (steam) crashes 36916 Command and Conquer Tiberium Wars Demo reports 'Please make sure you have DirectX 9.0 or higher installed.' 36953 Galactic Civilizations II: stars not rendered 37303 Change of paper size in print dialog do not update DEVMODE dmFormName member 37307 Urban Assault black screen when using software renderer (incorrect device enumeration order) 37403 Regedit: Wrong default registry key is selected 37502 Naturosoft Pro fails on startup with 'Run-time error 445: Object doesn't support this action' (needs richedit:ITextRange_fnExpand method implementation) 37767 IOCTL_DVD_READ_STRUCTURE expects the wrong size of output buffer for some requests 38114 Steam client doesn't allow to install games in different locations (needs kernel32.GetVolumePathName implementation) 38364 AutoPatcher Updater 1.4.x needs IFileSystem3::GetSpecialFolder() 38411 3DMark05 v1.30 crashes during system info scan (needs support for 'Win32_Process' WMI class 'WorkingSetSize' property) 38470 __chkstk not implemented on ARM 38517 Winhttprequest doesn't keep user logged in 38525 Winhttprequest follows redirects to wrong url 38624 jre-8u45-windows-i586.exe installer exits silently (needs advapi32.dll GetWindowsAccountDomainSid stub) 38638 Bad text encoding output in regsvr32 console output 38645 QQ 6.x crashes after open the qqzone tab (webkit crash) 38691 Dia Portable 0.97 crashes on startup in libcairo-2 38695 valgrind shows uninitialized memory in dlls/gdi32/freetype.c:WineEngInit() (win64) 38713 Link failure due to use of libunwind in ntdll 38719 64-bit ARM Windows applications from Windows SDK for Windows 10 crash when accessing TEB/PEB members (AArch64 platform specific register X18 must be reserved for TEB) 38739 valgrind shows a possible leak in ole32/tests/usrmarshal.c 38747 msvcrt.dll does not implement _getwch, _getwche, and _ungetwch 38752 Foobar2000 UPnP/DLNA media server hangs on exit 38758 SlingPlayer 1.x installers fail 38764 Improper device request/IRP handling causes heap corruption in wineserver 38769 Additional AES algorithms in schannel break wine build 38783 64bit msys32 crashes on unimplemented RtlCopyMemory
----------------------------------------------------------------
Changes since 1.7.45:
Akihiro Sagawa (1): winetest: Add SystemPreferredUILanguages to the log.
Alex Henrie (2): riched20: Fix link notification conditions and add tests. user32: Send BM_SETCHECK before WM_CAPTURECHANGED and add tests.
Alexandre Julliard (1): d3dcompiler_43: Add a helper function for register token to avoid compiler warnings.
Alistair Leslie-Hughes (8): scrrun: Implement ITextStream Close. d3dcompiler_46: Add stub dll. d3dcompiler_47: Add stub dll. dpnet: Correct adding components in Duplicate. d3dcompiler: Share the source with d3dcompiler_46. d3dcompiler: Rename d3dcompiler_43_main.c to main.c. d3dcompiler: Share the source with d3dcompiler_47. dpnet: Don't return partially initialized object.
Andrew Eikum (4): xaudio2_7: Move object creation to avoid forward declaration. xaudio2_7: Simplify object creation. xaudio2_7: Wrap long lines. include: Upgrade interface definitions to XAudio2 2.8.
André Hentschel (7): include: Rename 64-bit PState to 32-bit Cpsr on ARM64. ntdll: Implement RtlCaptureContext on ARM64. ntdll: Fix CONTEXT_ARM in RtlCaptureContext. winebuild: Create stubs for ARM64. ntdll: Set platform register x18 to TEB on ARM64. ntdll: Set TPIDRURW inline on ARM. include: Add IMAGE_LOAD_CONFIG_DIRECTORY64 definition.
Aric Stewart (4): include: Add ddk/hidclass.h. include: Add ddk/hidpi.h. hid: Break HidD functions out into their own module. hid: Translate HidD_ functions to their IOCTLs.
Bernhard Übelacker (2): comctl32/tests: Free memory used by property sheet page (Valgrind). advapi32: Fix RegEnumValueW when enumerating long values.
Bruno Jesus (6): dmband: Don't fake success on IDirectMusicUtils_IPersistStream_ParseReference. dmime: Don't fake success on IDirectMusicUtils_IPersistStream_ParseReference. ws2_32/tests: Add UDP select() test for unbound socket. ws2_32: Trace accepted socket. ws2_32: Add a helper to get socket type. ws2_32: UDP sockets can write data even when unbound.
Daniel Lehman (1): msvcp90: Set _Locimp vtable in _Locimp ctors (Valgrind).
Dmitry Timoshkov (1): gdiplus: Implement GdipCreateRegionRgnData.
Erich Hoover (7): ntdll: Fix IOCTL_DVD_READ_STRUCTURE expected output size. kernel32: Implement GetVolumePathName. kernel32/tests: Convert GetVolumePathName tests into a list. kernel32/tests: Add a bunch more GetVolumePathName tests. kernel32: Handle semi-DOS paths in GetVolumePathName. kernel32: Handle bogus DOS paths in GetVolumePathName. kernel32: Handle device paths in GetVolumePathName.
Gerald Pfeifer (2): winedbg: Avoid "uninitialized variable" compiler warning in types_extract_as_longlong. oleaut32: Fix indentation in test_safearray.
Hans Leidekker (24): qmgr: Use winhttp for HTTP transfers instead of wininet. qmgr: Add a stub implementation of IBackgroundCopyJobHttpOptions. qmgr: Implement IBackgroundCopyJobHttpOptions::SetSecurityFlags and IBackgroundCopyJobHttpOptions::GetSecurityFlags. qmgr: Implement IBackgroundCopyJobHttpOptions::SetCustomHeaders and IBackgroundCopyJobHttpOptions::GetCustomHeaders. qmgr: Implement IBackgroundCopyJob::SetCredentials and IBackgroundCopyJob::RemoveCredentials. qmgr: Implement IBackgroundCopyJob::Cancel. qmgr: Don't inline transitionJobState. qmgr/tests: Add tests. winhttp: Store credentials set with WinHttpSetCredentials separately from username and password set through options. winhttp: Improve parsing of cookie values. winhttp: Correctly handle relative redirect paths. winhttp: Keep the session open in the request object. advapi32/tests: Add tests to show that reading the SACL requires a special privilege. winhttp/tests: Fix a test failure on win2k. winhttp: Fix handling of the headers length parameter in WinHttpAddRequestHeaders and WinHttpSendRequest. msi/tests: Fix test failures on win2k3. msi: Open database cabinet streams through the streams implementation. wbemprox: Fix some memory leaks (Coverity). wbemprox: Implement Win32_OperatingSystem.Primary. wbemprox: Implement Win32_Process.WorkingSetSize. winhttp: Fix a couple of corner cases in header processing. winhttp: Coalesce cookie headers. winhttp: Perform a case sensitive match on cookie names. winhttp: Store cookies in reverse order.
Henri Verbeet (10): wined3d: Use surface_get_rect() in wined3d_surface_update_overlay(). wined3d: Implement SM4 discard in the GLSL shader backend. d2d1: Fix the ID2D1Factory::CreatePathGeometry() declaration. d2d1: Implement d2d_factory_CreatePathGeometry(). d2d1: Implement d2d_path_geometry_Open(). d2d1: Implement d2d_geometry_sink_AddLine(). d2d1: Implement d2d_geometry_sink_AddQuadraticBezier(). d2d1: Implement d2d_geometry_sink_AddBezier(). d2d1: Implement d2d_text_renderer_DrawGlyphRun(). d3d10core: Translate d3d10 usage to wined3d usage for buffers.
Hugh McMaster (7): regsvr32: Move /i command line code to a separate function. regsvr32: Convert if-else block to switch statement. net: WriteFile should output the number of bytes in the char array, not the length of the WCHAR array. regsvr32: Convert codebase to Unicode. regsvr32: Add WriteFile fallback if WriteConsole fails. regsvr32: Make Dll* exports WINAPI. regsvr32: Clean up and update comments to reflect changes to the codebase.
Huw D. M. Davies (7): oleaut32/tests: Add broken behaviour on Win 2003. user32/tests: Add some optional messages for Win XP. user32/tests: Try to fix the test failures on Win 2k. gdi32/tests: Fix Courier test on Arabic locales. gdi32/tests: Japanese Win 7 uses MS Shell Dlg as its default GUI font. Revert "advapi32: Fix RegEnumValueW when enumerating long values.". shell32/tests: Don't leave behind open explorer windows.
Iván Matellanes (9): msvcirt: Add implementation of streambuf::sgetc. msvcirt: Add implementation of streambuf::sputc. msvcirt: Print error messages in unimplemented functions. msvcirt: Add implementation of streambuf::xsgetn. msvcirt: Add implementation of streambuf::xsputn. msvcirt: Add implementation of streambuf::sgetn/sputn. msvcirt: Add implementation of streambuf::snextc. msvcirt: Add implementation of streambuf::sbumpc. msvcirt: Add implementation of streambuf::stossc.
Jacek Caban (18): scrrun: Added IFile::put_Attributes imeplementation. wininet: Get rid of no longer needed read_chunked field. wininet: Don't pass BLOCKING_WAITALL to NETCON_recv in netconn_read. secur32: Added support for a few more algorithms in schannel_get_cipher_algid. secur32: Use gnutls_cipher_get_block_size to get cupher block size. secur32: Fixed compilation on with gnutls. secur32: Fixed compilation on very old gnutls versions. mshtml: Use test.winehq.org over http in img_onload tests. wininet: Get rid of unneeded MSG_WAITALL support in NETCON_recv. wininet: Don't use blocking_mode_t in netconn.c. mshtml: Added IHTMLXMLHttpRequest::onreadystatechange property implementation. wininet: Call set_socket_blocking always and only when needed. wininet: Cache blocking state in netconn_t. urlmon/tests: Skip https tests on platforms that don't support them. msscript.ocx: Added stub DLL. msscript.ocx: Added typelib. msscript.ocx: Added DLL registration implementation. msscript.ocx: Added ScriptControl class factory.
Jared Smudde (1): winhlp32: Move Always on top to Options.
Ken Thomases (12): configure: Only check for libunwind.h on OS X. dbghelp: Fix STABS support for 64-bit on OS X. dbghelp: Eliminate an unnecessary parameter from macho_load_debug_info(). dbghelp: Fix a leak of the Mach-O module structure by adding a module_remove callback. dbghelp: Enable enumerating and loading 64-bit Mach-O modules. dbghelp: Remove the unused arch_size field of struct macho_file_map. dbghelp: Use existing IMAGE_NO_MAP constant instead of redundant MACHO_NO_MAP. dbghelp: Move the macho_file_map structure into image_file_map. dbghelp: For Mach-O, keep the module file mapped for as long as the module is tracked. dbghelp: Implement the image_private.h functions for Mach-O modules. dbghelp: Add partial support for version 3 of DWARF CIEs which are generated by Clang/LLVM. dbghelp: Parse the DWARF information in Mach-O modules.
Marcus Meissner (3): shlwapi: Add missing braces (Coverity). oledb32: Free memory on error exit (Coverity). kernel32: GetCurrentDirectoryW gets characters, not bytes.
Matteo Bruni (9): wined3d: Handle per-vertex point size in the GLSL FFP replacement. wined3d: Cleanup and simplify texture sampling code generation. wined3d: Drop WINED3D_RS_TEXTUREPERSPECTIVE handling. wined3d: Make use of the EXT_BLEND_SUBTRACT flag. d3dcompiler: Handle redefining an intrinsic function as a user-defined function. d3dcompiler: Handle writemask in make_assignment(). d3dcompiler: Parse ": register()" syntax. wined3d: Drop unused gl_info parameter from shader_glsl_ffp_vertex_lighting(). wined3d: Don't flag WINED3D_SHADER_CONST_FFP_PROJ on transformed <-> untransformed vdecl change.
Michael Müller (7): wininet: Use random names when caching very long urls. advapi32/tests: Add tests for GetWindowsAccountDomainSid. advapi32: Add initial implementation for GetWindowsAccountDomainSid. fltlib: Add stub for FilterLoad. wininet/tests: Add tests for overriding host header. rpcrt4: Fix arguments of HttpAddRequestHeaders. wininet: Fix arguments of HttpAddRequestHeaders.
Michael Stefaniuc (25): dmband: Pass the object instead of the iface to helpers. dmband: Use the generic DirectMusicObject implementation for DMBand. dmband/tests: Add IPersistStream tests for DMBandTrack. dmcompos/tests: Add IPersistStream tests for DM*Track. dmime: Pass objects instead of ifaces to helpers. dmime: Remove unused arguments from helper functions. dmime: Use the generic DirectMusicObject implementation for DMSegment. dmime: Use the generic DMObject implementation for DMAudioPathConfig. dmime: Get rid of the extra pointer to a DMUS_OBJECTDESC. dmime: Use the generic DMObject implementation for DMGraph. dmime/tests: Add IPersistStream tests for DM*Track. dmstyle/tests: Add IPersistStream tests for DM*Track. dmband: IsParamSupported method doesn't crashes on NULL. dmband: Implement the E_NOTIMPL methods of IDirectMusicTrack8. dmband/tests: Add some basic IDirectMusicTrack8 tests. dmcompos: IsParamSupported of DMChordMapTrack doesn't crashes on NULL. dmcompos: Implement the E_NOTIMPL methods of IDirectMusicTrack8. dmcompos/tests: Add some basic IDirectMusicTrack8 tests. dmcompos: Move struct definitions to the files that need them. dmime: Move struct definitions to the files that need them. dmband: Pass objects instead of ifaces to helpers. dmband: COM cleanup for IDirectMusicTrack8. dmband: Remove the extraneous IUnknown from DMBandTrack. dmband: Use the generic IPersistStream implementation from dmobject. dmstyle: IsParamSupported method doesn't crashes on NULL.
Mohamed Mediouni (1): ntdll: Multiply r4 with the word size in ARM for __chkstk.
Nikolay Sivov (50): regedit: Make it possible for save/restore position on tree root. msxml3: Handle SafeArrayAccessData() failure in load() (Coverity). dwrite/tests: Test to show that GetCurrentTransform/GetPixelsPerDip are not really used from Draw(). dwrite: Fix splitted range length, initial test for GetMetrics(). dwrite: Check format directions in CreateEllipsisTrimmingSign(). dwrite: Initial implementation of Draw() for trimming sign. dwrite: Call GetCount() once when looking for family name. dwrite: Fix the way drawing effects are reported for inline objects. ole32: Marshal HDC as remotable handle. ole32: Marshal HICON as remotable handle. dwrite: Validate format property values. ole32: Marshal HBRUSH as remotable handle. oleaut32/tests: Test that user memory functions are not called. riched20: Improve tracing for unimplemented range methods. riched20: Implement Expand for tomStory case. riched20/tests: Some more EM_SETSEL tests. riched20/tests: Remove explicit todo flag values from static test data. ole32: Fix a typo in argument name. dwrite/tests: Initial test for GetLineMetrics(). dwrite/tests: Initial test for GetBaseline(). riched20: Improve tracing for unimplemented selection methods. comctl32/monthcal: Fix title to use properly localized year/month format. dwrite: Set cluster length together with other metrics. dwrite: Actually set isWhitespace for space clusters. dwrite: Count last cluster length too when building a line. kernel32: Export RtlCopyMemory(). ole32/tests: Fix source buffer leak (Valgrind). amstream: Get rid of some casts by using proper iface types. amstream/tests: Get rid of global stream pointer that we don't really need. amstream: Release pins and streams array on instance release (Valgrind). gdi32/freetype: Properly handle loading of FT_Long-sized types (Valgrind). ieframe/tests: Fix some leaks (Valgrind). oleaut32/tests: Fix stub buffer leak (Valgrind). dwrite: Forward GetRecommendedRenderingMode() to newer method. dwrite: Store character spacing layout settings. quartz/tests: Get rid of some casts. dwrite: Set line baseline/height from font metrics. dwrite/tests: Show that line baseline is relative to this line. dwrite: Set baseline origin Y for reported runs. dwrite: Call SetFillMode() once per run. amstream: Implement IDirectDrawStreamSample_GetSurface(). amstream: Keep stream reference when creating sample. amstream: Implement GetDirectDraw(). amstream: Forward IUnknown methods to IAMMediaStream for streams. qmgr: Simplify string duplication using a helper. qmgr: Simplify GetProgress() with a structure copy. amstream: Create a surface if it wasn't provided in CreateSample(). dmsynth: Cleanup IDirectMusicSynth8 creation helper. dwrite: Properly reduce glyph count of effective run. dwrite: Fix clustermap shifting for effective run.
Olivier F. R. Dierick (1): kernel32: Implement SetFileCompletionNotificationModes as a stub.
Piotr Caban (15): msvcrt: Open console input handle with write permission so SetConsoleMode can work on it. msvcp60: Sync spec files. msvcrt: Write directly to the console in _putwch. msvcrt: Fix return value of _cputs. msvcrt: Fix return value of cputws. msvcrt: Add _getwch implementation. msvcrt: Add _getwche implementation. msvcrt: Add _ungetwch implementation. msvcr120: Add ___lc_locale_name_func implementation. msvcp110: Use ___lc_locale_name_func in _Getctype. msvcp110: Use ___lc_locale_name_func in _Getdateorder. msvcp110: Fix _Collvec structure layout. wininet: Improve handling of long URLs in CreateUrlCacheEntry function. msvcr110: Add __crtGetLocaleInfoEx implementation. msvcrt: Cache locale string to LCID conversion results.
Qian Hong (2): include: Remove duplicate macro definition in shellapi.h. winemenubuilder: Fix copy and paste error.
Sebastian Lackner (14): server: Delay destruction of file object in set_irp_result. ntoskrnl: Add initial code to emulate memory access to USER_SHARED_DATA on x86_64. ntoskrnl: Add emulation for 'mov Ob, AL' and 'mov Ovqp, rAX' instruction. ntoskrnl: Add emulation for 'movzx {Eb,Ew}, Gv' instruction. kernel32/tests: Add a lot of picky GetVolumePathName tests. kernel32/tests: Add GetVolumePathNameW tests. ntoskrnl: Use SIZE_T to store 64-bit offset to USER_SHARED_DATA page. advapi32/tests: Explicitly check return value of GetTokenInformation. windowscodecs/tests: Fix test condition which is always true. windowscodecs: Distinguish interface pointer and implementation pointer. qcap: Distinguish interface pointer and implementation pointer for base filter. quartz: Distinguish interface pointer and implementation pointer in multiple interfaces. ntdll: NtMapViewOfSection should fail if both addr_ptr and zero_bits is set. ntdll: Implement support for AT_ROUND_TO_PAGE flag in NtMapViewOfSection.
Thomas Faber (2): dimm.idl: Add IActiveIMMMessagePumpOwner. msimtf: Add stub implementation for IActiveIMMMessagePumpOwner.
Thomas Faller (2): cmd: Fix invalid memory access. cmd: Fix invalid "else if" execution.
YongHao Hu (6): msvcp110: Add tr2_sys__File_size implementation and test. msvcp110: Add tr2_sys__Equivalent implementation and test. msvcp110: Add tr2_sys__Current_get implementation and test. msvcp110: Add tr2_sys__Current_set implementation and test. msvcp110: Add tr2_sys__Make_dir implementation and test. msvcp110: Add tr2_sys__Remove_dir implementation and test.
Zhenbo Li (1): mshtml/tests: Added IHTMLXMLHttpRequest tests.
-- Alexandre Julliard julliard@winehq.org