The Wine development release 1.9.5 is now available.
What's new in this release (see below for details): - New version of the Mono engine, with 64-bit support. - Beginnings of the WineD3D command stream. - Support for effect states in Direct3DX. - Drag & drop improvements. - Various bug fixes.
The source is available from the following locations:
http://dl.winehq.org/wine/source/1.9/wine-1.9.5.tar.bz2 http://mirrors.ibiblio.org/wine/source/1.9/wine-1.9.5.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.9.5 (total 24):
15473 Adobe After Effects 4 crashes on startup 17448 Impossible to insert an MPEG file in PowerPoint 2003 22039 LEGO Island (Mindscape) fails to start (Direct3DRMViewport::SetAppData() and IDirect3DRMViewport::GetAppData() are stubs) 29583 JScript is missing 'new XMLHttpRequest();' support 30687 Powerpoint 2003/2007: embedded video play/pause on click no longer works 34318 Multiple games and applications need ntdll.dll.EtwRegisterTraceGuidsW (Process Hacker 2.x, Far Cry 4) 34870 Multiple games and applications crash on unimplemented function msvcr100.dll _crt_debugger_hook (ArchiCAD 16, Far Cry 4) 35286 Borderlands (Steam) crashes on unimplemented function msvcr90.dll._crt_debugger_hook 36996 Multiple games need msvcp110.dll.??0_Pad@std@@QAE@XZ implementation (World of Tanks 9.2, Planetary Annihilation, Train Fever) 37115 Calling ReadFile from WINBASEAPI (WinBase.h) with zero read length causes hang 37694 Multiple applications (Kontakt 5.4.x, Trainz: A New Era, Reaktor 6.0.1) need msvcp120.dll.??0_Pad@std@@QEAA@XZ 38788 Malwarebytes Anti-Malware 2.1.x crashes on unimplemented function msvcp100.dll.?system_category@std@@YAABVerror_category@1@XZ 38963 Multiple applications (Minko Engine v3 based custom application, Format Factory v3.7) crash on unimplemented function msvcp120.dll.??0_Pad@std@@QAE@XZ 39242 oleaut32:typelib fails in the Korean locale 39591 Crimzon Clover: Page fault on launch 39636 Assassin's Creed Syndicate crashes due to lack of DisplayConfigGetDeviceInfo in user32.dll 39690 MAXQDA 12.0.2 installer crashes on unimplemented function ADVAPI32.dll.RegCopyTreeA (Windows Vista+ API) 39852 3DMark03: Mother Nature test: waterfall has no transparency if AllwaysOffScreen=disabled 39908 SuperTux 0.3.5a crashes on startup, needs msvcr120.dll.strtof 40083 Heroes of the Storm Freezes/Crashes after its recent updates 40186 mscoree:mscoree test regression 40191 ntdll:rtl test regression 40194 drag and drop doesn't work because of typo in xdnd.c 40204 Steam client fails to start with UmePlus font installed, when running in dwrite mode
----------------------------------------------------------------
Changes since 1.9.4:
Alex Henrie (1): ntdll: Finish serial reads of size 0 immediately.
Alexandre Julliard (32): wrc: Don't convert class and menu names to uppercase in resource data. wrc: Only allow control key characters ^A to ^Z. wrc: Avoid locale- or Unicode-dependent case conversions. wrc: Remove no longer needed use of libwine_static. wmc: Remove no longer needed use of libwine_static. sfnt2fon: Remove no longer needed use of libwine_static. quartz: Remove forward declaration of removed variable. makefiles: Also use dll flags when building a shared library. makefiles: Get rid of libwine_static. makefiles: Generate dependencies for static libraries. makefiles: Directly return an array from the local variable helper function. makefiles: Generate dependencies for default import libraries. winepulse.drv: Avoid some printf format warnings. shlwapi: Use the standard WideCharToMultiByte instead of wine_utf8_wcstombs. makefiles: Explicitly import libwine only for Windows builds. libport: Mark codepage tables as hidden. libport: Mark internal functions and data tables as hidden. make_unicode: Mark most data tables as hidden. makefiles: Generate top-level rules for pot files. makefiles: Parse the entire top-level makefile. makefiles: Generate top-level rules for building mo files. makefiles: Automatically create all directories that contain a target file. makefiles: The tools no longer depend on libwine. makefiles: Generate rules for import libraries symlinks. makefiles: Expand the ln -s command into the makefiles. makefiles: Generate the top-level .gitignore and the distclean rules. configure: Only check for libgettextpo when explicitly requested. makefiles: Don't generate global rules in disabled directories. makefiles: Add a makefile for the po directory. makefiles: Generate the LINGUAS file. configure: Support setting the corresponding enable variable directly from the WINE_NOTICE_WITH macros. makedep: Make the filename hashing more efficient.
Alistair Leslie-Hughes (3): gdi32/tests: Add tests for GetPath using metafile. inetcpl: Implement default page button. user32: Don't leak region on error.
Andrew Eikum (5): winepulse.drv: Avoid unrealistically low period sizes. winepulse: Include a period in the stream latency. winepulse.drv: Buffer data locally when needed. mciqtz: Implement MCI_RESUME. winegstreamer: Fix usage of gst_audio_format_build_integer.
André Hentschel (10): urlmon/tests: Use todo_wine_if() in tests. shlwapi/tests: Use todo_wine_if() in tests. kernel32/tests: Use todo_wine_if() in tests. ndis.sys: Implement NdisSystemProcessorCount. ndis.sys: Add NdisRegisterProtocol stub. webservices/tests: Use todo_wine_if() in tests. wbemprox/tests: Use todo_wine_if() in tests. windowscodecs/tests: Use todo_wine_if() in tests. winmm/tests: Use todo_wine_if() in tests. ntdll: Set TPIDRURW also on ARMv8-A.
Aric Stewart (3): winejoystick.drv: Initialize unhandled dwPOV to JOY_POVCENTERED. winejoystick.drv: Gracefully handle polling an unplugged device. hidclass.sys: Handle failure to parse preparseData.
Aurimas Fišeras (1): po: Update Lithuanian translation.
Austin English (2): user32: Add DisplayConfigGetDeviceInfo stub. include: Fix tagLOGCOLORSPACEW indentation.
Charles Davis (9): kernel32: Use setprogname(3) to set the program name if available. winecoreaudio.drv: Don't use pointer constants with an integer type (Clang). winecoreaudio.drv: Don't print 32-bit values as long integers (Clang). d3d10core/tests: Silence absolute value warnings (Clang). server: Fix int-to-pointer conversion warning (Clang). Revert "winemac.drv: Actually make the GL context current even if no drawables were given.". configure: Check for __builtin_ms_va_list on all x86_64 platforms. winebuild: Specify an object format to windres. winemac.drv: Fix our handling of bitmaps on the clipboard.
Daniel Lehman (1): winedbg: Handle the 4th parameter for 64-bit C++ exceptions.
Detlef Riekenberg (1): crypt32/tests: Accept Windows 10 error code.
François Gouget (2): mscoree/tests: Add a trailing '\n' to a win_skip() call. shell32/tests: Test ShellExecute()'s URL handling.
Frédéric Delanoy (15): msi/tests: Use todo_wine_if() in tests. msctf/tests: Use todo_wine_if() in tests. ntdll/tests: Use todo_wine_if() in tests. ole32/tests: Use todo_wine_if() in tests. setupapi/tests: Use todo_wine_if() in tests. shell32/tests: Use todo_wine_if() in tests. shell32/tests: Get rid of redundant lok_todo_N macros. user32/tests: Use todo_wine_if() in tests. msvcr120/tests: Use todo_wine_if() in tests. msvcrt/tests: Use todo_wine_if() in tests. windowscodecs/tests: Use todo_wine_if() in tests. advapi32/tests: Use todo_wine_if() in tests. dxgi/tests: Use todo_wine_if() in tests. ieframe/tests: Use todo_wine_if() in tests. d3dx9/tests: Use todo_wine_if() in tests.
Hans Leidekker (12): webservices: Add support for namespace attributes in the writer. webservices: Implement WsWriteXmlnsAttribute. webservices: Implement WsGetPrefixFromNamespace. webservices: Set bytes pointer to NULL if length is zero in alloc_xml_string and alloc_utf8_text. webservices: Add support for namespace attributes in the reader. webservices: Implement WsGetNamespaceFromPrefix. webservices: Don't read past the closing bracket in read_element. webservices: Move the reader to EOF at end of data in WsReadEndElement. webservices: Add support for attribute field mappings in the reader. webservices: Reject field mappings without name or namespace. webservices: Add support for element and text field mappings in the writer. msiexec: Fix manpage markup for repair and logging modifiers.
Henri Verbeet (50): d3d8: Use wined3d_texture_get_sub_resource_parent() in d3d8_texture_3d_GetVolumeLevel(). wined3d: Pass a format instead of a surface to wined3d_format_convert_from_float(). winex11: Get rid of the unused "old_screen_rect" field from struct desktop_resize_data. d3d9: Use wined3d_texture_get_sub_resource_parent() in d3d9_device_create_surface(). d3d9: Use wined3d_texture_get_sub_resource_parent() in device_parent_create_swapchain_texture(). d3d9: Use wined3d_texture_get_sub_resource_parent() in d3d9_swapchain_GetBackBuffer(). d3d9: Use wined3d_texture_get_sub_resource_parent() in d3d9_texture_2d_LockRect(). d3d9: Use wined3d_texture_get_sub_resource_parent() in d3d9_texture_2d_UnlockRect(). d3d9: Use wined3d_texture_get_sub_resource_parent() in d3d9_texture_2d_GetSurfaceLevel(). d3d9: Use wined3d_texture_get_sub_resource_parent in d3d9_texture_cube_LockRect(). d3d9: Use wined3d_texture_get_sub_resource_parent() in d3d9_texture_cube_UnlockRect(). d3d9: Use wined3d_texture_get_sub_resource_parent() in d3d9_texture_cube_GetCubeMapSurface(). d3d9: Use wined3d_texture_get_sub_resource_parent() in d3d9_texture_3d_LockBox(). d3d9: Use wined3d_texture_get_sub_resource_parent() in d3d9_texture_3d_UnlockBox(). d3d9: Use wined3d_texture_get_sub_resource_parent() in d3d9_texture_3d_GetVolumeLevel(). wined3d: Introduce wined3d_texture_set_sub_resource_parent(). ddraw: Get the texture format from the texture in d3d_device3_GetRenderState(). ddraw: Get the texture format from the texture in d3d_device3_SetRenderState(). ddraw: Get the texture format from the texture in d3d_device3_SetTexture(). wined3d: Introduce wined3d_texture_get_sub_resource_desc(). ddraw: Use wined3d_texture_get_sub_resource_desc() in ddraw_surface_create(). d3d8: Use wined3d_texture_get_sub_resource_desc() in d3d8_device_CopyRects(). d3d8: Use wined3d_texture_get_sub_resource_desc() in d3d8_device_SetRenderTarget(). d3d8: Use wined3d_texture_get_sub_resource_desc() in d3d8_surface_GetDesc(). d3d8: Use wined3d_texture_get_sub_resource_desc() in d3d8_volume_GetDesc(). d3d8: Use wined3d_texture_get_sub_resource_desc() in d3d8_texture_2d_GetLevelDesc(). d3d8: Use wined3d_texture_get_sub_resource_desc() in d3d8_texture_cube_GetLevelDesc(). d3d8: Use wined3d_texture_get_sub_resource_desc() in d3d8_texture_3d_GetLevelDesc(). d3d9: Use wined3d_texture_get_sub_resource_desc() in d3d9_device_GetRenderTargetData(). d3d9: Use wined3d_texture_get_sub_resource_desc() in d3d9_device_StretchRect(). d3d9: Use wined3d_texture_get_sub_resource_desc() in d3d9_device_ColorFill(). d3d9: Use wined3d_texture_get_sub_resource_desc() in d3d9_surface_GetDesc(). d3d9: Use wined3d_texture_get_sub_resource_desc() in d3d9_volume_GetDesc(). d3d9: Use wined3d_texture_get_sub_resource_desc() in d3d9_texture_2d_GetLevelDesc(). d3d9: Use wined3d_texture_get_sub_resource_desc() in d3d9_texture_cube_GetLevelDesc(). wined3d: Keep track of front buffer updates in the swapchain. d3d9: Use wined3d_texture_get_sub_resource_desc() in d3d9_texture_3d_GetLevelDesc(). wined3d: Use a single allocation for texture sub-resource objects. wined3d: Avoid surface_from_resource() in wined3d_texture_update_desc(). wined3d: Avoid surface_from_resource() in texture2d_prepare_texture(). wined3d: Avoid surface_from_resource() in swapchain_gl_frontbuffer_updated(). wined3d: Avoid volume_from_resource() in texture3d_prepare_texture(). wined3d: Store surface/volume buffer objects in the sub-resource structure. wined3d: Get resource info from the texture in arbfp_blit_set(). wined3d: Get resource info from the texture in arbfp_blit_surface(). wined3d: Get resource info from the texture in context_find_fbo_entry(). wined3d: Get resource info from the texture in context_restore(). wined3d: Get resource info from the texture in context_create(). wined3d: Get resource info from the texture in context_generate_rt_mask_no_fbo(). wined3d: Get resource info from the texture in context_apply_blit_state().
Hugh McMaster (20): reg: Allow either lowercase or uppercase 'x' when used with REG_DWORD. reg/tests: Add more tests for REG_MULTI_SZ. libwine: strtoulW and strtolW should set errno to ERANGE if an overflow will occur. reg: Fail if the data value passed with REG_DWORD will cause an overflow. reg/tests: Add a test for base 10 overflow. reg/tests: Add a test for REG_NONE with no data argument. reg/tests: Add two more tests for REG_MULTI_SZ. reg: Add support for REG_MULTI_SZ. reg/tests: Test handling of null and user-specified separators. reg: Ignore the slash zero character sequence if a custom separator is specified. reg: Fail if the data for REG_MULTI_SZ contains two adjacent separators. reg: Fail if the data for REG_MULTI_SZ begins with a separator. advapi32/tests: Fix typos. advapi32/tests: Add tests for deleting the default value. reg: Delete the default registry value instead of overwriting it. reg: Display the default value name when ask_confirm() is passed "" for reg_info. reg/tests: Add more tests for all supported data types. po: Fix two mistakes in the Swedish translation. reg: Correctly handle /ve commands with no data. reg: Fail if REG_DWORD_BIG_ENDIAN is passed with no data argument.
Huw D. M. Davies (12): ole32: Remove curDragTargetHWND since it's never used. ole32: Move the GiveFeedback handling to a separate function. ole32: Release IDropTarget when the mouse leaves. ole32: Move DragEnter handling to a separate function. ole32: Move end-of-drag handling to a separate function. ole32: Don't send DragOver if we're about to drop or cancel. ole32/tests: Move tests to a table driven mechanism. ole32/tests: Add more drag and drop tests. riched20/tests: Actually copy something to the clipboard. riched20/tests: wAlignment should be compared to the PFA_ values. riched20: Don't apply paragraph formatting until the end of paragraph. riched20: Add handling for a few more special characters.
Jacek Caban (14): user32: Don't use window's parent as an owner if WS_CHILD style is not set. user32: Added debug traces to SetParent. mshtml: Added HTMLXMLHttpRequestFactory DISPID_VALUE implementation. mshtml: Expose XMLHttpRequest constructor to scripts. mshtml/tests: Fixed tests on some IE versions. mshtml: Added IHTMLXMLHttpRequest::getResponseHeader implementation. ntdll: Moved RegisterTraceGuids[AW] implementation to ntdll. user32: Always enable owner window in EndDialog. user32: Ignore WM_CHILDACTIVATE on disabled windows in DefMDIChildProc. mshtml: Always return false in IHTMLDOMAttribute2::get_expando for detached attributes. mshtml: Added support for IHTMLDOMAttribute::nodeValue property on detached attributes. user32: Use proper window as dialog owner. user32/tests: Added more dialog owner tests. user32: Removed unused owner argument.
Jactry Zeng (1): kernel32/tests: Reset current directory of current process.
Jens Reyer (2): loader: Fix macro-not-defined error from man. winemaker: Fix macro-not-defined errors from man.
Juan Jose Gonzalez (1): include: Add HidD_GetSerialNumberString to ddk/hidsdi.h.
Józef Kucia (23): d3d10core/tests: Port test_create_typeless_resource() from d3d11. d3d10core/tests: Introduce check_texture_color(). wined3d: Fix SM4 pixel shader output registers mapping. d3d11/tests: Add test for multiple render targets. d3d11/tests: Introduce check_texture_color(). d3d10core/tests: Port test_multiple_render_targets() from d3d11. d3d10core/tests: Viewport properties are integers. wined3d: Add support for WINED3DFMT_BC4_UNORM format. wined3d: Add support for WINED3DFMT_BC5_UNORM format. d3d11/tests: Add test for DXGI_FORMAT_BC4_UNORM format. d3d11/tests: Add test for DXGI_FORMAT_BC5_UNORM format. d3d10core/tests: Add test for DXGI_FORMAT_BC4_UNORM format. d3d10core/tests: Add test for DXGI_FORMAT_BC5_UNORM format. wined3d: Add support for WINED3DFMT_R11G11B10_FLOAT format. d3d11: Recognize more BGR formats. dxgi: Add recently introduced wined3d formats. d3d11: Sync formats with dxgi. d3d11/tests: Add test for creating SRV with DXGI_FORMAT_UNKNOWN. d3d10core/tests: Add test for creating SRV with DXGI_FORMAT_UNKNOWN. d3d11: Trace actual swapchain pointer in D3D11CreateDeviceAndSwapChain(). d3d10_1: Validate parameters in D3D10CreateDevice1(). d3d11/tests: Remove unnecessary explicit array sizes. d3d10core/tests: Remove unnecessary explicit array sizes.
Ken Thomases (1): winemac: Simplify and optimize making a GL context current with no view.
Lauri Kenttä (2): po: Update Finnish translation. po: Update Swedish translation.
Louis Lenders (2): ntdll: Add stub for RtlAddAuditAccessObjectAce and forward to AddAuditAccessObjectAce in advapi32. ntdll: Add stub for RtlAddAccessAllowedObjectAce and forward to AddAccessAllowedObjectAce in advapi32.
Marcus Meissner (1): manpages: Markup fixes.
Matteo Bruni (3): opengl32: Move a TRACE to the proper place. makedep: Use an unsigned constant in hash_filename. wined3d: Add a setting to check relative addressing indices when accessing uniforms.
Michael Müller (4): user32: Preserve beginning of extra data for MDI windows. advapi32: Implement RegCopyTreeA/W. shutdown: Add stub implementation. ole32: Implement semi-stub for CoGetApartmentType.
Michael Stefaniuc (11): webservices: Print the debug string and not the pointer to it. d3dx9/tests: Avoid a TRUE:FALSE conditional expression. winegstreamer: Avoid a FALSE:TRUE conditional expression. ddraw: Use SetRectEmpty() instead of open coding it. wined3d: Use SetRectEmpty() instead of open coding it. comctl32: Use SetRectEmty() instead of open coding it. user32/tests: Use SetRectEmpty() instead of open coding it. shell32/tests: Use SetRectEmpty() instead of open coding it. d3dx9/tests: Avoid using an empty rect for a test. d3dx9/tests: Use SetRectEmpty() instead of open coding it. gdi32/tests: Use SetRectEmpty() instead of open coding it.
Miklós Máté (1): winex11: Add 1280x960 resolution.
Nikolay Sivov (14): dwrite: Trace GetPaletteEntries() failure (Coverity). dwrite: Handle font data initialization failure when building collections. include: Fix IsBad* prototypes. gdi32: Use a macro instead of accessing FT_Face flags directly. d3drm: Implement SetAppData/GetAppData for a viewport. dwrite: Update to IDWriteFontFace3. dwrite: Implement HasCharacter() for a fontface. po: Update Russian translation. d3drm: Support IDirect3DRMObject in viewport QI. d3drm: Implement AddDestroyCallback/DeleteDestroyCallback for a viewport. ole32: Don't call spy on IMalloc::Free(NULL). ole32: Improve CoRegisterMallocSpy/CoRevokeMallocSpy state and parameter validation. ole32: Hold a lock when checking is spy is already registered. d3drm: Remove first found callback, not all of them.
Paul Gofman (10): wined3d: Bind default sampler object when setting sampler state with no texture. d3dx9: Don't pass usage flags when creating temporary texture d3dx9: D3DXQuaternionToAxisAngle should not crash on NULLs in output parameters. d3dx9: Add test for basic effect state management. d3dx9: Implement simple effect states application. d3dx9: Implement light and material effect states application. d3dx9: Implement shader constants effect states application. d3dx9: Implement sampler and texture effect states application. d3dx9: Implement state save and restore in effect. d3dx9: Implement CommitChanges in effect.
Piotr Caban (11): msvcrt: Don't close HANDLE if stdout or stderr is sharing it. msvcrt/tests: Add close tests on file descriptors that use the same HANDLE. msvcp120: Add _Thrd_start implementation. msvcp110: Add _Pad class stub. msvcp110: Add _Pad implementation. msvcp120/tests: Added _Pad class tests. msvcp120/tests: Run _Unlink tests inside temp directory. msvcp110: Add _Thrd_detach implementation. msvcp100: Add std::system_category() implementation. msvcp100: Add std::generic_category() implementation. msvcrt: Fix 64-bit _CxxThrowException implementation.
Sebastian Lackner (19): ntdll/tests: Allow broken SpinCount for some Win 8+ systems. winedevice: Use LdrFindEntryForAddress to find LDR_MODULE address. winedevice: Get rid of global driver_hkey variable and fix some leaks. advapi32/tests: Improve RegDeleteTree tests. advapi32/tests: Add tests for RegCopyTree. advapi32: Simplify and clean up RegDeleteTree implementation. oleaut32: Set DebugInfo for static CRITICAL_SECTION structure. wined3d: Fix transposed lines in WARN message. wined3d: Fix TRACE in wined3d_texture_update_desc function. services: Consistently use InterlockedIncrement to increment refcount. services: Remove pipe argument from service_send_command function. services: Do not distinguish between shared/exclusive lock. services: Get rid of unnecessary locks. services: Fix calculation of service timeout. advapi32: Fix RegDeleteTreeW when an empty string is passed. services/tests: Consistently terminate service_{ok,trace} strings with linebreak. services/tests: Initialize critical section just once. services: Store a separate variable instead of clearing control_mutex. services: Move process related fields into a separate struct.
Shu Yokoyama (1): winex11: Fix HRESULT handling in XdndPosition.
Stefan Dösinger (16): wined3d: Retrieve FBO attachments from GL in context_check_fbo_status. wined3d: Keep track of FBOs through the GL names. wined3d: Better integrate the fixed up DS in the new FBO cache handling. wined3d: Simplify FBO cleanup on resource destruction. wined3d: Check multisampling compatibility before finding the FBO key. wined3d: Remove fbo_entry->d3d_depth_stencil. wined3d: Rotate through swapchain buffers. d3d9/tests: Test multisample flip. d3d8/tests: Test multisample flip. d3d10core/tests: Test swapchain buffer cycling. wined3d: Get rid of the offscreenBuffer field in struct wined3d_device. wined3d: Get rid of wined3d_surface_ops.surface_unmap(). wined3d: Cleanup sub-resource buffer objects in wined3d_texture_cleanup(). wined3d: Merge surface_prepare_buffer() and wined3d_volume_prepare_pbo(). wined3d: Merge surface_remove_pbo() and wined3d_volume_free_pbo(). wined3d: Call wined3d_texture_set_dirty() in wined3d_volume_invalidate_location().
Thomas Faber (3): ntdll/tests: Test NtOpenKey with zero access. msi: Do not open registry keys with no access rights. ole32: Do not open registry keys with no access rights.
Vincent Povirk (3): mscoree/tests: Check if the runtime is usable before loading it. mscoree: Update Wine Mono to 4.6.0. mscoree/tests: Loading the runtime works on x86-64 now.
YongHao Hu (2): msvcp110: Add tr2_sys__Unlink implementation and test. msvcp110: Add tr2_sys__Stat_wchar and tr2_sys__Lstat_wchar implementation and test.
-- Alexandre Julliard julliard@winehq.org