The Wine development release 1.7.21 is now available. What's new in this release (see below for details): - Support for critical sections in the C runtime. - Unicode data updated to Unicode 7.0. - Support for interlaced PNG encoding. - Initial stub for the Packager library. - Various bug fixes. The source is available from the following locations: http://prdownloads.sourceforge.net/wine/wine-1.7.21.tar.bz2 http://mirrors.ibiblio.org/wine/source/1.7/wine-1.7.21.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.21 (total 77): 9898 Virtual Moon Atlas 3.5 expert Mostly black drawing 15478 Unity Web Player 2.1.0 doesn't show graphics in browser 15600 Windows Live Writer crashes (IHTMLDocument2::put_designMode is a stub) 17818 Runes of Magic menus like EULA or login doesn't appear on some graphic cards. 18316 Word Pro: dashed "-" in parameters not resolved in command line 19792 program "Antik Virtual set-top-box" crashes at startup 19889 Steam client major lag 20086 NewPGen: Doesn't restore from tray 20497 Smilebox cannot be installed (web update fails) 21116 page fault when running SoftwarePhoenix.BIOS.Editor.Pro.2.2.0.2.45094.exe 21275 python's test_startfile test fails 21521 Improper audio selection 22091 Dragon Age Awakening/Mass Effect 2 installers crash with ntdll error 22404 Unigine Heaven Benchmark 2.0 lacks shadows and smoke in Wine in d3d 22697 wine iexplore browserchoice.eu is not displayed 23219 AT4RE FastScanner v3.0 exe scanning bug 23220 AT4RE FastScanner v3.0 UI button rectangle bug 26504 Runes of Magic 3.0.x: "ClientUpdater.exe" crashes sometimes during updates on MD5 checksum processing (squirrel virtual machine) 27113 Free download manager "Unknow network error" without native wininet 27549 Frozen Synapse crash 28756 ws2_32/tests/sock.ok: uninitialised value created in test_events(), used in get_cached_fd()? 28824 shell32/tests/recyclebin.ok: uninitialised value used in TRASH_GetDetails 29755 Deadlock during crash while installing gecko? 29790 popo 2011 crash with builtin msvcrt 29843 IE4 crashes on resetting profile sharing, needs shdocvw.dll.ResetProfileSharing 30966 Firefox 13.0 improper region redrawing/user interface artifacts 31349 Office 365 (Office 2013) web installer aborts early (needs support for string alias for common RID in sid strings) 32000 ANSYS 14.0 tools crash on startup (missing system message text for 'WSAECONNRESET', error code 10054) 32077 Runes of Magic 5.0.0.2535 (full client) crashes during update 32150 Notepad .Net crashes doing nothing 34215 Adobe Creative Cloud needs KERNEL32.dll.UnregisterApplicationRestart 34525 Marine Benefit freezes in Stages 1-3 due to gstreamer error 34828 Visual Studio 2010 fails to start (IWICBitmapFrameEncode_WriteSource_Proxy, empty rect) 34847 The Swapper 2.0.x (GOG.com) crashes on startup (OpenGL glBindTexture on thread with no active gl context) 34942 WinLaunch 0.4.6.1 (OSX Style free Launcher) needs support for WIC encoder "InterlaceOption" option (property bag) 35466 Can't paste into search dialog of notepad 35646 Multiple applications protected with Obsidium v1.4+ fail on startup, reporting "Debugger detected - please disable it and restart the application" (Condes 9, Universal mechanism) 35948 Starcraft Campaign Editor displays incorrect numeric values when editing triggers 36131 valgrind shows some multiple leaks in ole32/clipboard.c 36185 comctl32/button tests shows an unitialized variable under valgrind 36188 valgrind shows an invalid free for comctl32/tests/listview.c 36240 valgrind shows several leaks in d3dx9_36/tests/asm.c 36285 valgrind shows several leaks in kernel32/tests/debugger.c 36287 valgrind shows some uninitialized memory use in kernel32/tests/format_msg.c 36334 The Chosen (Well of Souls) demo has graphical glitches 36350 valgrind shows a leak in d3dx9_36/tests/asm.c 36351 valgrind shows a few leaks in d3drm/tests/d3drm.c 36436 Popup menu is closed when clicking a sub-menu parent item twice. 36487 Avast Free Antivirus fails to install, reporting 'HTMLayout.dll cannot be loaded to properly start GUI.' (EnumSystemLocalesEx fails to call user provided callback) 36500 Multiple games and applications crash on unimplemented function msvcp110.dll._Mtx_init (Avast Free Antivirus, Trion's Trove MMO) 36504 The XFORM matrix is calculated incorrectly in PlgBlt() 36506 Wolfenstein - The New Order fails to start (glGetString(GL_VENDOR) without a current WGL context) 36553 Tomb Raider Chronicles crashes in 32 bit color mode 36572 valgrind shows a definite leak in shlwapi/tests/ordinal.c 36593 valgrind shows a possible leak in windowscodecs/tests/bitmap.c 36595 valgrind shows several memory leaks in windowscodecs/tests/metadata.c 36596 valgrind shows a definite leak in windowscodecs/tests/propertybag.c 36597 valgrind shows several definite leaks in user32/tests/msg.c 36598 valgrind shows a definite leak in windowscodecs/tests/tiffformat.c 36606 valgrind shows uninitialized memory use in ws2_32/tests/protocol.c 36617 boost::wregex causes programs to crash - needs wcsxfrm() 36647 Windows 7 USB/DVD download tool hangs on startup (DrawTextExW/TEXT_NextLineW live loop) 36665 Adobe Acrobat Pro 8 freezes when using 'Combine files... and Create PDF / From multiple files' dialog 36683 RPG Maker VX Ace 1.00: clicking menu item results in 'Out of memory' error message 36702 PlayOn 3.9.13 installer reports 'Setup requires Windows Media Player 9 to be installed on this PC' (needs IWMPCore::get_versionInfo) 36717 DeltaCad 8.0 crashes when trying to set printer or print 36722 dmusic/tests/dmusic.c crashes under WINEDEBUG=warn+heap 36736 Tucows Download Manager 2014 crashes on startup (decryption scheme relies on 'kernel32.dll.SetFilePointer' hotpatch signature) 36737 Multiple Graviteam tank simulation games crash on start with built-in msvcr80 (small-block heap support needed) 36745 Wine broken on FreeBSD+NFS 36749 WinLaunch 0.4.6.1 (OSX Style free Launcher) fails to save theme (libpng png_write_end fails with 'No IDATs written into file') 36757 Microsoft Visual Studio 2005 Express reports 'object does not support this action' during project creation (needs IFileSystem::GetDriveName method impl) 36766 Jane Doe View build 140615 endlessly reports 'OLE Error 80004001' (JSGlobal_CollectGarbage stub returns E_NOTIMPL) 36768 valgrind shows a couple invalid reads in windowscodecs/tests/tiffformat.c 36782 valgrind shows a leak in kernel32/tests/thread.c 36784 valgrind shows a leak in kernel32/tests/thread.c 36790 ACDSee v17.0 needs unimplemented function msvcr110.dll.__crtInitializeCriticalSectionEx ---------------------------------------------------------------- Changes since 1.7.20: Akihiro Sagawa (7): winmm/tests: Activate some mmioSeek tests with todo_wine keyword. winmm: Memory file buffer is available even if we just allocate memory. winmm: Avoid direct seeking for memory files. winmm: Update lBufOffset after seeking file directly. winmm: Fix SEEK_END handling for memory files. po: Update Japanese translation. jscript: Improve CollectGarbage stub. Alex Henrie (1): riched20: Consider adjacent runs when computing EN_LINK range. Alexander Almaleh (1): gdi32: Fix XFORM.eM22 calculation in PlgBlt. Alexandre Julliard (10): kernel32/tests: Silence some noisy traces. gdi32/tests: Silence some noisy traces. user32/tests: Silence some noisy traces. user32: Properly block sent messages while waiting for a reply with SMTO_BLOCK. krnl386: Properly handle failure to set a 16-bit LDT entry. kernel32: Only try to load krnl386 in native applications. msvcrt/tests: Avoid size_t in traces. usp10: Update the character data tables to Unicode 7.0.0. libwine: Update the codepage tables to Unicode 7.0.0. opengl32: Make sure the function table is initialized in all threads. Andrew Eikum (8): ole32: Implement CoTreatAsClass for classes without AutoTreatAs. ole32: Respect TreatAs in CoCreateInstance. packager: Add stub Packager implementation. packager: Add loading support for Ole10Native storage objects. packager: Implement IOleObject::SetClientSite. packager: Implement IOleObject::GetMiscStatus. packager: Implement Activate verb for OleObject::DoVerb. packager: Implement IOleObject::Close. André Hentschel (1): krnl386: Fix typo in a comment. Aurimas Fišeras (1): po: Update Lithuanian translation. Austin English (3): user32: Add a stub for SetGestureConfig. kernel32: Add DECLSPEC_HOTPATCH to SetFilePointer. kernel32: Add a stub for UnregisterApplicationRestart. Bruno Jesus (7): ws2_32/tests: Wait for thread test before returning (valgrind). ws2_32: Don't call WS_EnterSingleProtocol[A|W] on unsupported protocols (valgrind). winhttp: Use a helper to send data and take care of EINTR. winhttp: Use a helper to receive data and take care of EINTR. wininet/tests: Add more HTTP_QUERY_RAW_HEADERS tests. bcrypt: Add a stub for BCryptCloseAlgorithmProvider. opengl32/tests: Test glGetString() without an active GL context. Christoph von Wittich (1): shlwapi: Avoid buffer overflow in PathCombineA. François Gouget (8): ole32: Fix StorageImpl_LockRegionSync() to actually wait between locking attempts. ole32: FileLockBytesImpl_WriteAt() should return STG_E_WRITEFAULT for write errors. server: Treat ENOTSUP the same way as ENOLCK, consider locking to be non-functional on that filesystem. ole32: Treat STG_E_LOCKVIOLATION the same way as STG_E_ACCESSDENIED as both indicate locking contention. ole32: Return the correct error in FileLockBytesImpl_*LockRegion*(). msvcrt/tests: Add a trailing '\n' to an ok() call. packager/tests: Make the IStorage methods static. mshtml: Remove nsAString_SetData() because it is unused. Frédéric Delanoy (1): Assorted spelling/grammar fixes. Grazvydas Ignotas (6): msvcrt: Free old buffer properly in setvbuf. msvcrt/tests: Add a test for fwrite flushing behavior. msvcrt: Change internal buffer size to 4k. msvcrt/tests: Test _cnt value after rewind/fflush. msvcrt: Clear _cnt on buffer flush. msvcrt: Implement bufsiz block flushing behavior. Henri Verbeet (10): ddraw/tests: Get rid of some unused assignments. ddraw/tests: Properly declare matrices. d2d1: Implement d2d_d3d_render_target_CreateSolidColorBrush(). d2d1: Implement d2d_d3d_render_target_CreateGradientStopCollection(). d2d1: Implement d2d_d3d_render_target_CreateLinearGradientBrush(). d3d9/tests: Add some lost device tests. d3d8/tests: Add some lost device tests. ddraw/tests: Add some lost device tests. d3d9: Improve d3d9_device_TestCooperativeLevel(). d3d9: Check the device status in present calls. Huw D. M. Davies (1): fonts: Add some barb arrow glyphs. Jacek Caban (9): vbscript: Reset error number on error mode change. mshtml: Added IHTMLWindow2::scroll implementation. wininet: Don't change hostPort in HTTP_HttpOpenRequestW. wininet: Update hostPort in HTTP_HandleRedirect. wininet: Use current server in HTTP_GetRedirectURL. wininet: Don't try to read content in response to HEAD request. shdocvw: Added ResetProfileSharing stub. ieframe: Use URL_APPLY_DEFAULT in UrlApplyScheme call. shdocvw: Added InstallReg_RunDLL stub. Julian Rüger (1): po: Update German translation. Lauri Kenttä (1): po: Update Finnish translation. Marcus Meissner (3): oleaut32: Avoid buffer overread (Coverity). mscms: Removed duplicate return ret (Coverity). winealsa/wineoss/winecoreaudio: Calculate frequency in 64bit (Coverity). Matteo Bruni (8): d3d9/tests: Test GetData behavior with various size values. wined3d: Validate and handle query size parameter. wpp: Properly free defines (Valgrind). wpp: Free the include filename on error (Valgrind). d3dcompiler/tests: Add a couple more checks for parent data values. wpp: Free some filename strings after processing an include (Valgrind). wpp: Correctly handle OOM in pop_buffer(). d3dx9: Correctly set parent_data for direct includes from the main file. Michael Stefaniuc (2): dmusic: Increment the refcount when a IReferenceClock pointer is returned. comctl32: Functions using setjmp can never be inlined. Nikolay Sivov (21): comctl32/tests: Avoid testing uninitialized value (Valgrind). wmp: Implement get_versionInfo(). d3drm/tests: Release frame instance (Valgrind). d3dx9: Trace out parameters as pointers (Valgrind). quartz/tests: Fix couple of test failures running with limited user. shell32: Release cached desktop folder on process detach. windowscodecs/tests: Fixed some leaks on error path (Valgrind). dsound/tests: Accept another error code. msctf/tests: Fix crash when ITfInputProcessorProfileMgr is not supported. msxml3/tests: Accept Stat() method called on test stream. xmllite/writer: Maintain a stack of written elements to write end tags. dwrite: Recognize more Unicode ranges in script analyzer. kernel32: Added a message for WSAECONNRESET. xmllite/writer: Implement WriteFullEndElement(). po: Update Russian translation. scrrun: Implement GetDriveName(). scrrun: Implement SerialNumber property. scrrun: Implement FileSystem property. scrrun: Implement get_VolumeName(). scrrun/tests: Run test on fixed drive. iphlpapi/tests: Skipping test on access error. Piotr Caban (18): msvcrt: Use size_t to store indexes in qsort. msvcrt: Allocate data with 16-bytes alignement if small blocks heap is used. msvcrt: Add small blocks heap tests. msvcr100: Add _SpinWait implementation. msvcr100/tests: Add _SpinWait tests. msvcr100: Add critical_section class stub. msvcr100: Add critical_section::scoped_lock implementation. msvcr100: Add critical_section class implementation. msvcr110: Add critical_section::try_lock_for implementation. msvcp110: Add missing exports to msvcp110.spec file. kernel32: Fix typo in enum_locale_ex_proc. msvcp110: Add _Mtx_{destroy,getconcrtcs,init,lock,unlock,trylock} implementation. msvcr110: Add __crtInitializeCriticalSectionEx implementation. msvcrt: Fix _flsbuf behavior on streams with MSVCRT__IONBF flag. msvcrt: Fix ungetc on files with empty buffer. msvcrt: Support NULL buffer in setvbuf. msvcrt: Use file->_flag to check if file buffering is enabled. msvcrt: Don't touch _bufsiz value while initializing FILE structure. Sebastian Lackner (23): kernel32: Update VirtualAddress of resource section in write_raw_resources. msvcr110: Fix typo in exported symbol _set_SSE2_enable. user32: Avoid race-condition when unloading module while hook is still active. kernel32: Raise DBG_PRINTEXCEPTION_C exception in OutputDebugStringA. wininet: Don't update *lpdwIndex if HttpQueryInfoW fails with ERROR_INSUFFICIENT_BUFFER. ntdll/tests: Add exception tests for RtlUnwind on i386. ntdll/tests: Use an EXCEPTION_REGISTRATION_RECORD array to prevent compiler from reordering variables. ntdll/tests: Run crashing i386 exception tests as the last step. kernel32: Process OutputDebugString events like regular exceptions. server: Remove output_debug_string request. ntdll/tests: Add more tests for debug string events. server: Grab borrowed debugger reference while handling wake_up() events. (Valgrind). server: Avoid invalid memory access when thread is killed while in wake_up(). (Valgrind). kernel32: Fix a valgrind warning in format_add_char(). (Valgrind). kernel32/tests: Add missing HeapFree() in doChildren(). (Valgrind). comctl32: Allocate new memory in notify_forward_header() to avoid Free() on wrong pointer. (Valgrind). ntdll: Fix leaking activation context when terminating via exit_thread(). (Valgrind). kernel32/tests: Add missing ReleaseActCtx() calls. (Valgrind). ntdll: Avoid leaking activation context in RtlCreateUserThread. (Valgrind). kernel32: Process DBG_RIPEXCEPTION events like regular exceptions. server: Get rid of RIP_EVENT union elements. ntdll/tests: Add tests for DBG_RIPEXCEPTION debugger events. user32/tests: Add a missing call to ReleaseActCtx(). Shuai Meng (2): vbscript: Implemented CSng. vbscript: Implemented TypeName. Thomas Faber (2): rpcrt4: Do not omit mandatory argument to VirtualProtect. msvcrt: Do not omit mandatory argument to VirtualProtect. Vincent Povirk (13): ole32: Add tests for STGC_OVERWRITE. windowscodecs: Share WriteSource code between implementations. windowscodecs: Check for empty rect in WriteSource_Proxy. windowscodecs: Support InterlaceOption in PNG encoder. shell32: Set tm_isdst before calling mktime. advapi32/tests: Account for limited users in registry test. windowscodecs: Fix memory leak in ComponentFactory_CreateBitmapFromSource. windowscodecs: Fix leak in DGifGetImageDesc. windowscodecs: Fix leak in test_propertybag_getpropertyinfo. windowscodecs: Fix leak in test_QueryCapability. windowscodecs: Fix leak in test_QueryCapability. Revert "windowscodecs: Fix leak in test_QueryCapability.". windowscodecs: Fix interlaced PNG writing. Zhenbo Li (2): mshtml: Added IHTMLTableCell::cellIndex method implementation. shell32: Fix SHFileOperation when deleting a nonexistent directory. -- Alexandre Julliard julliard@winehq.org