The Wine development release 1.5.23 is now available.
What's new in this release (see below for details): - HTTPS support no longer dependent on OpenSSL. - Support for event handling in the Mac driver. - A functional Netstat built-in application. - A bunch of C++ runtime math functions. - Various bug fixes.
The source is available from the following locations:
http://prdownloads.sourceforge.net/wine/wine-1.5.23.tar.bz2 http://mirrors.ibiblio.org/wine/source/1.5/wine-1.5.23.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.23 (total 57):
7710 QueryPerformanceCounter should be independent of system time 9952 Sketch Studio shows corrupt cursor 13417 FlashFXP - No mouse support systemwide if window is open 16476 Turok crashes when starting a game 16689 winefile: array size is smaller than minimum required 17226 SimTower crashes on dereferencing 0xffffffff on attempting to save in SimTower 17990 Battleships forever video is offset 19773 Largo Winch: mostly black screen 19796 Galactic Civilizations II: Crash after menu screen 19799 Native cscript crashes if you call WScript.Arguments(0). Breaks Chromium build setup. 20889 In Quake 3 Arena Main Menu one mouse click is taken as two 21119 realMYST v1.1.1 [ENGLISH] No-CD/Vista Fixed EXE: Page fault and debug err 21943 GetCharABCWidthsI does not return correct widths when handling a DC with dc->gdiFont == null 22812 mt creates corrupted executables 23121 Iometer 2006.07.27 displays error messages on start (dogfood) 23215 4x4 Evo 2: Pagefault on second launch of game 23414 Text is italicized in Mozilla Firefox 3.6.6 23501 ATEN KVM WinClient did not start 25010 radmin fast search halfworking. 25082 radmin: right mouse key drag'n'drop not working 25222 Football Manager 2011 fails to load with 3d enabled 25599 Editing Word 2000 drawing object does not work 26530 Frogger: 3D models not rendering correctly/Only shadows 27991 LsaLookupNames2 separate allocations break .NET 4.0 System.Security subsystem and leak returned buffer data 28343 UFO: Extraterrestrials Gold - crash at start unless native d3dx9_26 (or d3dx_36) is used 28530 Asami Sushi Shop hangs when switching to windowed mode 28666 Spa Mania: Read from NULL when toggling fullscreen mode 29822 winebuild should use Clang to assemble if Clang is used to compile 29936 Java Quick Starter service chews CPU 30119 ThunderMini crash after a while. 30514 RonyaSoft Poster Designer (Poster Forge) 2.x installer crashes during installation of fonts due to unimplemented function gdi32.dll.GetFontResourceInfoW 31280 Right-clicking a listview in a dotnet application doesn't open the context menu 31343 Steam: Steam is significantly slower in 1.5.x 32123 Outlook 2010 crashes in versions newer than 1.5.14 32404 Ocean Dive demo launcher shows garbage when window loses focus 32504 QQPCDetector.exe from installer of QQMusic 2012 beta2 crashes 32564 Visual Studio 2010 (10.0) Express Edition needs atl100.dll.AtlAxDialogBoxW 32706 No sound with foobar2000: Unknown error code (0x80070057) 32718 Crash on call to SHELL32.dll.709 (SHGetSetFolderCustomSettings) 32739 TDXW crashes when the window is resized 32744 Batman: Arkham Asylum Demo "err:wbemprox:wql_error syntax error, unexpected $end, expecting TK_ID" 32746 TurboTax 2012 installer fails 32750 Batman: Arkham Asylum Demo wants wbemprox:class_object_GetPropertyQualifierSet 32763 Regression in wbemprox - rFactor 2 launcher - Unhandled page fault 32764 STEP7_Lite_V30_incl_SP4 installation crashed 32776 Crashes in Legacy 5 resulting in its database being corrupted 32779 RegOpenKeyExA fails on 64bit wine when build with lazarus (fpc 2.6 - 64bit) 32788 Batman: Arkham Asylum Demo - GetObject gets an empty string 32799 err:d3d:check_fbo_compat 32806 Freight Tycoon crashes while loading to the menu (with built-in msvcr71) 32807 installer of PPTV: needs unimplemented atl100.dll.AtlGetPerUserRegistration 32812 Hard Truck Apocalypse crashes on start with built-in msvcp71 32819 Max Payne 1 crashes when loading certain level 32824 Dota 2 graphics missing without texture copy in check_fbo_compat() 32840 Mouse input regression caused by changes in GetTickCount64 32847 Microsoft Expression Design 4 (Free Version) installer needs windowscodecs IcoFrameDecode_GetThumbnail impl 32853 Microsoft Expression Design 4 (Free Version) installer fails while trying to check for msi.dll file version (MsiGetFileVersion)
----------------------------------------------------------------
Changes since 1.5.22:
Alex Henrie (1): advapi32: Destination length -1 means no limit.
Alexandre Julliard (20): winapi: Add arm64 architecture. loader: Hardcode Linux syscall numbers. libwine: Hardcode Linux syscall numbers. ntdll: Use the __NR_ names for Linux system calls. server: Use the __NR_ names for Linux system calls. gdi32: Fix copy/paste typo in get_char_positions_indices. winex11: Store the client window in the window data again, now that it can be accessed from all threads. winex11: Handle Expose events on top-level client windows. rpcrt4: Fix wrap-around bug in tick count comparison. ole32: Fix wrap-around bug in tick count comparison. netapi32: Fix wrap-around bug in tick count comparison. wbemprox: Don't rely on GetTicksCount to determine boot time. advapi32/tests: Fix another test failure. ntdll: Use a monotonic time counter to implement NtQueryPerformanceCounter. ntdll: Add support for the monotonic time counter on Mac OS X. ntdll: Use the monotonic counter for NtGetTickCount. kernel32: Use the monotonic counter in GetTickCount64. kernel32: We no longer need the server start time in kernel32. urlmon/tests: Avoid infinite timeouts in tests. server: Use the monotonic time counter also on the server side.
Andrew Eikum (2): ieframe/tests: Don't convert to long path name until the file exists. wineoss.drv: Set reasonable defaults if driver reports invalid values.
Andrew Talbot (4): gdi32: Avoid signed-unsigned integer comparisons. gdiplus: Avoid signed-unsigned integer comparisons. hhctrl.ocx: Avoid signed-unsigned integer comparisons. gphoto2.ds: Avoid signed-unsigned integer comparisons.
André Hentschel (9): include: Fix __int64 definition for ARM64. include: Make sure interlocked_cmpxchg128 is defined on ARM64. ntdll: Implement IMAGE_REL_BASED_THUMB_MOV32 relocation on ARM. netstat: Implement the TCP stats output. netstat: Implement the UDP stats output. configure: Add ARM64 define. dbghelp: Implement rudimentary stack walk for ARM64. dbghelp: Remove useless code in ARM stack walk. include: Add remaining checks for ARM64.
Aric Stewart (7): usp10: Group the GDEF table loading with the other opentype tables. usp10: GPOS Mark to Base seeks back in the string to the first glyph that is not a mark for its base. usp10: Add locl and ccmp to Latin features. usp10: Only fall back to latin features if the base script tag is not found at all. usp10: Add ShapeCharGlyphProp_Latin to properly handle zero width character properties for Latin. usp10: Add ShapeCharGlyphProp and ContextualShape for Control characters. usp10: Do not apply SSA_LINK to right to left text.
Aurimas Fišeras (1): po: Update Lithuanian translation.
Austin English (1): include: Flesh out d3d11.idl.
Charles Davis (1): winebuild: Use Clang to assemble if found.
Christian Costa (4): d3dx9_36: Fill children info into ID3DXFileData object. dmusic: Add support for loading articulations. d3dx9_36: Implement ID3DXFileData_GetChildren and ID3DXFileData_GetChild. d3dx9_36: Implement ID3DXFileDataImpl_IsReference.
Detlef Riekenberg (3): wininet: Fix a test failure on w2k. wininet: Remove most GetLastError tests for IsDomainLegalCookieDomainW. wininet: Don't depend on user settings.
Dmitry Timoshkov (4): gdiplus: Make GdipCreateFromHDC2 not fail in case of hDevice != NULL. dwrite: Avoid triggering an exception on DLL_PROCESS_DETACH. gdiplus: Avoid not necessary memory allocation for BITMAPINFO. windowscodecs: Implement GetThumbnail in the ICO frame decoder.
Erich Hoover (5): advapi32: Fix intermittent 64-bit test failure. advapi32: Support service objects in SetSecurityInfo. advapi32: Make an internal routine for [Get|Set]SecurityInfo file objects. advapi32: Support service objects in GetNamedSecurityInfo. advapi32: Support service objects in SetNamedSecurityInfo.
Francois Gouget (4): winmm/tests: Allow more margin in the test_asyncWAVE() playback check. wined3d: Make device_stream_info_from_declaration() static. wined3d: debug_{d3dbasis, d3ddegree}() are not used anymore so remove them. Assorted spelling fixes.
Frédéric Delanoy (1): po: Update French translation.
Gerald Pfeifer (1): winex11: Push down variable attrib down in create_gl_drawable.
Hans Leidekker (16): msi: Set the OriginalDatabase property after applying transforms, not before. msi: Execute concurrent installers in a separate process. msi: Remove const from integer parameters. wbemprox: Implement Win32_DiskDrive.DeviceId. wbemprox: Add a stub implementation of IWbemQualifierSet. wbemprox: Check the result count instead of the result pointer in get_propval. wbemprox: Implement IWbemQualifierSet::Get. wbemprox: Return an empty object if the path is NULL or empty. wbemprox: Don't fail if there are less objects than asked for in IEnumWbemClassObject::Next. wbemprox: Implement Win32_VideoController.PNPDeviceID. wbemprox: Build a PNP device ID that better matches the graphics card. msi: Avoid a crash in msi_dialog_handle_event. msi: Set _BrowseProperty to INSTALLDIR. msi: Don't fail if the directory already exists in MsiCreateAndVerifyInstallerDirectory. msi: Fix the return value of MsiGetFileVersion for some corner cases. msi: Improve parsing of the supported platforms string.
Henri Verbeet (30): ddraw: Avoid LPD3DVERTEXBUFFERDESC. ddraw: Avoid LPD3DDRAWPRIMITIVESTRIDEDDATA. wined3d: Get rid of the select_shader_mode() call in wined3d_get_device_caps(). wined3d: Move "ffp_proj_control" to the fragment caps. wined3d: Move "vs_clipping" to the shader caps. d3drm: Avoid LPD3DRECT. d3drm: Avoid LPDDPIXELFORMAT. wined3d: Add sRGB writes to the shader backend and fragment pipe caps. wined3d: Properly set WINED3DFMT_FLAG_SRGB_WRITE in init_format_texture_info(). wined3d: Get rid of CheckSrgbReadCapability(). d3drm: Avoid LPD3DVALUE. d3drm: Avoid LPD3DVECTOR. wined3d: Get rid of select_shader_mode(). wined3d: Properly set WINED3DFMT_FLAG_FILTERING in init_format_texture_info(). wined3d: Get rid of CheckFilterCapability(). d3drm: Avoid LPD3DRMQUATERNION. d3drm: Avoid LPD3DRMRAY. wined3d: Properly set WINED3DFMT_FLAG_VTF in init_format_texture_info(). wined3d: Get rid of CheckPostPixelShaderBlendingCapability(). wined3d: Get rid of CheckWrapAndMipCapability(). d3drm: Avoid LPD3DRMBOX. d3drm: Avoid LPD3DRMRENDERQUALITY. wined3d: Support all fixups in shader_none_color_fixup_supported(). wined3d: Replace "VertexShaderMode" and "PixelShaderMode" with shader model limits. wined3d: Get rid of a superfluous texture copy in check_fbo_compat(). d3drm: Avoid LPD3DRMIMAGE. d3drm: Avoid LPD3DRMMATERIALOVERRIDE. wined3d: Introduce a format flag for texturing. wined3d: Get rid of CheckTextureCapability(). wined3d: Get rid of CheckBumpMapCapability().
Huw Davies (12): riched20: Avoid an unnecessary string duplication. wineps: Use a file mapping to read the ppd file. wineps: Cope with '\r'-only end-of-line markers. riched20: Simplify adding the undo items when joining paragraphs. riched20: Move undo handling to a different set of structs as the display item structs are not a good fit. riched20: Add a paragraph ptr to each run. riched20: Add a helper to debug the run text. riched20: Add a helper to retrieve the run text. riched20: Rewrite the run splittable test to take a run parameter. riched20: Rewrite the run whitespace test to take a run parameter. riched20: Use the get_text helper in a few more places. riched20: Add an explicit run length member and use it rather than accessing the string length.
Jacek Caban (41): secur32: Return a cert context with context store in SECPKG_ATTR_REMOTE_CERT_CONTEXT GnuTLS implementation. secur32: Return a cert context with context store in SECPKG_ATTR_REMOTE_CERT_CONTEXT MacOSX implementation. secur32: Added SECPKG_ATTR_REMOTE_CERT_CONTEXT tests. mshtml: Get rid of PTInt64 type. mshtml: Get rid of PRUint8 type. mshtml: Get rid of PRUint16 type. mshtml: Get rid of PRUint32 outside XPCOM C API. mshtml: Get rid of PRUint64 type. winhttp: Test that the data is really read in test_secure_connection. winhttp: Enable more OpenSSL-independent code when OpenSSL is not available. winhttp: Use schannel in netconn_secure_connect if OpenSSL is not available. winhttp: Added schannel-based netconn_recv implementation. winhttp: Added schannel-based netconn_send implementation. winhttp: Added schannel-based netconn_get_certificate implementation. winhttp: Added schannel-based netconn_get_cipher_strength implementation. winhttp: Use schannel for HTTPS connection by defaul and get rid of OpenSSL dependency. vbscript: Added GetObject implementation. vbscript: Added GetObject tests. ieframe/tests: Fixed a race in tests. d3dcompiler.h: Added D3DCOMPILER_DLL macro. atl100: Added AtlGetPerUserRegistration stub implementation. wininet: Moved WORKREQUEST allocation to INTERNET_AsyncCall callers. wininet: Moved WORKREQ_HTTPSENDREQUESTW out of WORKREQUEST. wininet: Moved WORKREQ_INTERNETOPENURLW out of WORKREQUEST. wininet: Moved WORKREQ_HTTPREADFILEEX out of WORKREQUEST. textstor.idl: Added TS_ATTR_FIND_* constants. wininet: Moved WORKREQ_HTTPENDREQUESTW out of WORKREQUEST. wininet: Moved WORKREQ_SENDCALLBACK out of WORKREQUEST. wininet: Moved WORKREQ_FTPPUTFILEW out of WORKREQUEST. wininet: Moved WORKREQ_FTPSETCURRENTDIRECTORYW out of WORKREQUEST. wininet: Moved WORKREQ_FTPCREATEDIRECTORYW out of WORKREQUEST. wininet: Moved WORKREQ_FTPREMOVEDIRECTORYW out of WORKREQUEST. wininet: Moved WORKREQ_FTPGETFILEW out of WORKREQUEST. wininet: Moved WORKREQ_FTPGETCURRENTDIRECTORYW out of WORKREQUEST. wininet: Moved WORKREQ_FTPFINDFIRSTFILEW out of WORKREQUEST. wininet: Moved WORKREQ_FTPOPENFILEW out of WORKREQUEST. wininet: Moved WORKREQ_FTPRENAMEFILEW out of WORKREQUEST. wininet: Moved WORKREQ_FTPFINDNEXTW out of WORKREQUEST. wininet: Moved WORKREQ_FTPDELETEFILEW out of WORKREQUEST. wininet: Get rid of WORKREQ* types. ieframe: Use int resource ID for toolbar image.
Jörg Höhle (1): winealsa: Have the MIDI recorder wait in poll(), not snd_seq_event_input().
Ken Thomases (14): winemac: Add a simple ERR() logging macro that can be used from Cocoa code. winemac: Add WineEventQueue class for conveying events from Cocoa to Wine threads. winemac: Associate an event queue with each thread that creates windows and with each window. winemac: Make each Mac driver window track the HWND it's associated with. winemac: Implement MsgWaitForMultipleObjectsEx and infrastructure for processing events. winemac: Implement a WINDOW_CLOSE_REQUESTED event to allow closing windows. winemac: Implement WINDOW_FRAME_CHANGED event to tell Wine when window is moved or resized. winemac: Add infrastructure to convert from Cocoa event time to Wine tick count. winemac: Implement a MOUSE_BUTTON event for mouse clicks. winemac: Take control over when a window can become focused away from Cocoa. winemac: Maintain a list of which windows have been "key" (focused) recently. winemac: Implement a WINDOW_GOT_FOCUS event for when Cocoa tries to focus a window. winemac: Implement a WINDOW_LOST_FOCUS event. winemac: Implement an APP_DEACTIVATED event.
Ludger Sprenker (6): windowscodecs: Add tests for IPropertyBag2. windowscodecs: Implement ComponentFactory::CreateEncoderPropertyBag. windowscodecs: Implement IPropertyBag2::CountProperties. windowscodecs: Implement IPropertyBag2::GetPropertyInfo. windowscodecs: Implement IPropertyBag2::Write. windowscodecs: Implement IPropertyBag2::Read.
Maarten Lankhorst (1): dbghelp: Add support for zlib compressed debug sections.
Marcus Meissner (3): dmusic: Actually return the allocated interface (Coverity). msvcrt: read_utf8: free readbuf on return (Coverity). kernel32: Conditional variable tests.
Matteo Bruni (1): wined3d: Rebind texture before checking for its content in check_fbo_compat().
Michael Stefaniuc (10): ws2_32: Use assignment instead of memcpy to copy structs. d3dx9_36/tests: Use assignment instead of memcpy to copy a struct. dinput: Use assignment instead of memcpy to copy a struct. msvcrt/tests: Use assignment instead of memcpy to copy structs. mscms: Use assignment instead of memcpy to copy structs. crypt32: Use assignment instead of memcpy to copy a struct. itss: Use assignment instead of memcpy to copy a struct. mscoree: Use assignment instead of memcpy to copy a struct. d3dcompiler_43: Use assignment instead of memcpy to copy structs. wined3d: Use assignment instead of memcpy to copy structs.
Nikolay Sivov (14): advapi32: Make it possible to free data buffer returned from LsaLookupSids(). advapi32: Fix LsaLookupNames2() regarding referenced domain list allocation. xmllite: Add a name stack for elements. xmllite: Handle empty elements and transition to content/misc part, update depth on push. xmllite: Implement end tag parsing. xmllite: Complete content parsing with implemented parts and stubs. user32: Accept BI_BITFIELDS format for icons when creating icons. xmllite: Handle E_PENDING from stream for comment nodes. xmllite: Fail to set input for external IXmlReaderInput. comctl32/listview: Implement dragging with right button with a message loop. comctl32: Use NM_RCLICK return value to allow default processing. comctl32: Test WM_GETDLGCODE return value for TreeView. comctl32/listview: Fix item search with keyboard input. po: Use a shorter string for button.
Piotr Caban (26): vbscript: Fixed typo in vbsregexp55.idl. msvcp90: Added complex::real and complex::imag implementation. msvcp90: Added std::abs(complex) implementation. msvcp90: std::_Fabs(complex) tests. msvcp90: Added std::conj(complex) implementation. msvcp90: Added complex trigonometric functions implementation. msvcp90: Added std::tan(complex) tests. msvcp90: Added complex hyperbolic functions implementation. msvcp90: Added std::tanh(complex) tests. msvcp90: Added std::log(complex) and std::exp(complex) implementation. msvcp90: Added std::log10(complex) tests. msvcp90: Added std::norm(complex) and std::polar(complex) implementation. msvcp90: Added std::pow(complex) and std::sqrt(complex) implementation. msvcp90: Added std::sqrt(complex) tests. msvcp: Sync implementations. msvcrt: Ignore S and R flags in fopen. msvcrt: Added N flag support to fopen. msvcrt: Fixed setlocale tests on Win8. msvcrt: Fixed _Gettnames test on Win8. jscript: Fixed a leak in do_regexp_match_next function. jscript: Fixed a leak in regexp_match function. msvcp71: Fixed basic_filebuf class layout. jscript: Update buffer size in do_regexp_match_next. msvcrt: Don't call invalid parameter handler in str{n,i}cmp functions. msvcrt: Don't make stdout and stderr bufferred when writing to console. msvcrt: Use temporary buffers to speed up operations on stdout and stderr.
Putin Evgeny (1): cscript: Correct forming cmd for forwarding to wscript.
Rico Schüller (1): advapi32: Use the lower 32bit of the special HKEYs on 64bit.
Ričardas Barkauskas (3): advapi32: Add AddMandatoryAce stub. kernel32: Add SetFileInformationByHandle stub. advapi32: Partially implement CreateProcessWithTokenW.
Sergey Guralnik (3): user32/tests: Test standard scrollbar initialization. user32: Init standard scrollbars during WM_NCCREATE. winemenubuilder: Try to wait for creating icon files.
Stefan Dösinger (15): wined3d: Ignore clears if count = 0 and rects != NULL. ddraw: Implement DrawPrimitiveStrided with regular draws. ddraw: Implement DrawIndexedPrimitiveStrided with regular draws. d3d: Remove high level patch support. wined3d: Remove draw_primitive_strided. d3d8/tests: Add simple DrawRectPatch tests. d3d9/tests: Add simple DrawRectPatch tests. ddraw: device::GetCurrentViewport returns an error if no viewport is set. ddraw: Delete viewports when destroying the device. ddraw: Check for NULL pointers in DeleteViewport. ddraw: Check for NULL pointers in SetCurrentViewport. ddraw: AddViewport holds a reference to the viewport. ddraw: Unset the viewport if the current vp is deleted. ddraw: Don't check for NULL in GetCurrentViewport. ddraw/tests: Add viewport handling tests.
Stefan Leichter (1): gdi32: Add stub for GetFontResourceInfoW.
-- Alexandre Julliard julliard@winehq.org