Software 42770 Published by

The Wine development release 1.9.18 is now available



What's new in this release (see below for details):
- Support for multiple kernel drivers in a single process.
- More WebServices reader support.
- Various improvements in joystick support.
- Some more work towards the Direct3D command stream.
- GDI performance improvements.
- Improved IME window handling.
- Compatibility fixes in the clipboard support.
- Various bug fixes.

The source is available from the following locations:

http://dl.winehq.org/wine/source/1.9/wine-1.9.18.tar.bz2
http://mirrors.ibiblio.org/wine/source/1.9/wine-1.9.18.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.18 (total 26):

22461 Microsoft Office 2000 Server Extensions Configuration Wizard 'CFGWIZ.EXE' needs msvcirt.dll?cout@@3Vostream_withassign@@A
25105 Loading a 3d model with a test program fails
25352 Videos play upside down in multiple games (Fable: The Lost Chapters, Mob Ties Tokyo, Star Wars Republic Commando, SAS: Secure Tomorrow, Hatsune Miku: Project DIVA)
32936 SmartMusic 2012/2014 crashes on startup (Core Audio adapter 'PKEY_DeviceInterface_FriendlyName' property not supported)
34056 Multiple applications have a problem with typing Chinese/Japanese with IME (Nabeta Jisho for Japanese, YY and Netease POPO for Chinese)
35404 Spartan demo: no label on main menu icons
35892 sdb2xml (.NET 2.0 app) crashes on unimplemented function apphelp.dll.SdbGetAppPatchDir
39672 Folder names not clickable
40106 ntdll:info regression
40580 TASCAM US-16x08 soundcard controller crashes
40686 win7's ehshell.exe needs KERNEL32.dll.EncodeSystemPointer
40716 osu! - slightly low-pitched sound when using the ALSA sound driver
40741 Wings of Vi - black screen on launch
40953 Necropolis crashes at start (needs native xinput1_3.dll)
40968 Multiple Games require dxgi_output_FindClosestMatchingMode implementation(Need For Speed: The Run, Magic Duels)
40997 Fallout 4 needs DXGI_FORMAT_BC7_UNORM_SRGB
41007 Regression in minimum sound latency / HelBuflen value
41094 comctl32/treeview: TVS_FULLROWSELECT style does not work
41105 Tropico 5 (DX11) starts with only a mouse pointer on a black screen
41117 Insufficient check for sysinfo function breaks build on hurd and kfreebsd
41118 We Happy Few (UE4) crashes with "D3DRHI->GetFactory()->CreateSwapChain(DXGIDevice,&SwapChainDesc,SwapChain.GetInitReference())"
41165 MiTeC System Information X needs unimplemented function wlanapi.dll.WlanCloseHandle
41182 Don't export QT_QPA_PLATFORM
41189 No Man's Sky fails to start due to a regression in ntdll
41228 Rendering is messed up on WineD3D8 for Windows
41246 Office 2010 apps show "Configuring" dialog on first run when installed in new prefix

----------------------------------------------------------------

Changes since 1.9.17:

Akihiro Sagawa (6):
po: Update Japanese translation.
winex11: Return more reliable value from X11DRV_MsgWaitForMultipleObjects.
winex11: Fix log message in process_events().
winex11: Use proper return type for process_events().
user32: Create and destroy the default IME window implicitly.
imm32/tests: Add more default IME window tests with message-only window.

Alexandre Julliard (23):
server: Add separate requests for opening and closing the clipboard.
server: Add a separate request to set the clipboard viewer.
user32: Get rid of the CLIPBOARDINFO structure.
server: Add a request to return clipboard information.
user32: Don't allow SetClipboardData if the clipboard is not open.
user32: Don't disallow delayed rendering even when not the clipboard owner.
winex11: Don't disallow replacing unowned formats.
winex11: Don't try to free custom GDI formats at all.
user32/tests: Add a few more clipboard tests.
server: Cleanup clipboard information upon window destruction.
user32/tests: Add some tests for inter-process clipboard viewer notifications.
user32: Notify the clipboard viewer on close even if we are not the owner.
server: Add some validation of clipboard window handles.
server: Implement Add/RemoveClipboardFormatListener.
user32: Fix InSendMessage return value.
server: Notify all listeners when the contents of the clipboard have changed.
server: Add a helper function to validate a window handle.
server: Avoid some compiler warnings when EWOULDBLOCK == EAGAIN.
rpcss: Make rpcss a proper service.
ole32: Cope with receiving WM_RENDERALLFORMATS even when the clipboard is empty.
server: Add a release_clipboard request, and notify the owner and viewer on release.
server: Don't release the clipboard owner window when the owner thread terminates.
user32/tests: Add some tests for synthesized clipboard formats.

Alistair Leslie-Hughes (1):
inetcomm/tests: Add Attachment tests.

Andrew Eikum (6):
mshtml: Don't crash creating a URI if we have no document.
mmdevapi/tests: Fix failure on Vista.
winhttp: Indicate that WinHttpCrackUrl should return string pointers.
winhttp: Also pass hostname to jsproxy.
qcap: Use HRESULT correctly.
quartz: Implement IClassFactory::LockServer.

AndrÃ:copyright: Hentschel (1):
ntdll: Bump Win 10 version to 14393.

Aric Stewart (3):
hidclass.sys: Handle IRP_MN_REMOVE_DEVICE.
include: Fix definition of DRIVER_EXTENSION.
ntoskrnl.exe: Stub IoInvalidateDeviceRelations.

Austin English (3):
ntdll: Forward DecodeSystemPointer/EncodeSystemPointer to DecodePointer/EncodePointer.
apphelp: Add SdbGetAppPatchDir stub.
msports: Add stub dll.

Bernhard Übelacker (1):
mlang/tests: Test IMultiLanguage_GetCharsetInfo with malformed charsets.

Bruno Jesus (25):
dinput: Return the correct error when CreateEffect is not supported.
dinput: Dump the DIOBJECTDATAFORMAT flags.
dinput: Get the controller type from the device instance for Linux drivers.
ntdll: Use a helper to allocate threadpool workers.
dinput: Dump the force feedback effect before upload.
dinput: Be more precise when returning effect upload errors.
dinput: Do not read/write past the struct for old DX versions.
dinput: Restore effect ID on error due to kernel < 3.14 bug.
dinput/tests: Use EnumEffects and test a supported effect.
dinput: Dump the condition effect correctly for 2 array items.
dinput: Fix calculation of too small periods for periodic effect.
dinput: Fix infinite effect length handling.
dinput: Simplify cartesian and fix polar direction calculations.
dinput: Don't give up if we can't translate the effect envelope.
msacm32: Add the 16-bit DLL version on acmGetVersion.
dinput: Simplify condition effect translation.
dinput: Fix saturation range on condition effects.
msacm32: Handle invalid use of reserved parameter in acmStreamPrepareHeader.
msacm32: Handle invalid source length in acmStreamPrepareHeader.
msacm32: Use a helper to validate stream pointers.
xinput1_3: Better trace all functions.
xinput1_3: Better handle input parameters.
xinput1_3: Stub XInputGetStateEx.
xinput1_3: Implement XInputGetState using XInputGetStateEx.
xinput1_3/tests: Cope with XInputGetStateEx not being present by name.

Colin Finck (2):
include: Add a prototype for RpcBindingServerFromClient.
rpcrt4: Add a test for RpcBindingServerFromClient (todo_wine).

Daniel Lehman (1):
ntdll: Set Rip in for longjmp in RtlRestoreContext.

Dmitry Timoshkov (1):
gdiplus: Reimplement metafile loading using gdi32 instead of IPicture.

Hans Leidekker (16):
include: Add missing Web Services declarations.
webservices: Flush the writer first in WsWriteXmlBuffer.
webservices: Fix the condition to determine when to skip writing a namespace attribute.
webservices: Add support for writing WS_STRING and WS_XML_STRING values.
webservices: Ignore unimplemented struct options in the writer.
webservices: Allow structures to be passed by value in WsWriteType.
webservices: Add support for optional and nillable fields in the writer.
webservices/tests: Add a test for WsWriteText.
webservices: Store standard headers in an XML buffer.
webservices: Implement WsAddCustomHeader.
webservices: Implement WsRemoveCustomHeader.
webservices: Add a stub implementation of WsAbortServiceProxy.
webservices: Ignore unimplemented struct options in the reader.
webservices: Implement WsReadEnvelopeStart.
webservices: Implement WsReadEnvelopeEnd.
webservices: Implement WsReadBody.

Henri Verbeet (30):
wined3d: Send resource preloads through the command stream.
wined3d: Use wined3d_format_calculate_pitch() in wined3d_surface_upload_data().
ddraw: Rename "wineD3DPalette" to "wined3d_palette".
ddraw: Rename "wineD3DVertexBuffer" to "wined3d_buffer".
ddraw: Rename "wineD3DVertexDeclaration" to "wined3d_declaration".
wined3d: Use wined3d_resource_map() in d3d_vertex_buffer7_Lock().
ddraw: Use wined3d_resource_unmap() in d3d_vertex_buffer7_Unlock().
d3d8: Use wined3d_resource_map() in d3d8_vertexbuffer_Lock().
d3d8: Use wined3d_resource_unmap() in d3d8_vertexbuffer_Unlock().
d3d8: Use wined3d_resource_map() in d3d8_indexbuffer_Lock().
d3d8: Use wined3d_resource_unmap() in d3d8_indexbuffer_Unlock().
d3d9: Use wined3d_resource_map() in d3d9_vertexbuffer_Lock().
d3d9: Use wined3d_resource_unmap() in d3d9_vertexbuffer_Unlock().
d3d9: Use wined3d_resource_map() in d3d9_indexbuffer_Lock().
d3d9: Use wined3d_resource_unmap() in d3d9_indexbuffer_Unlock().
d3d11: Use wined3d_resource_map() in d3d10_buffer_Map().
d3d11: Use wined3d_resource_unmap() in d3d10_buffer_Unmap().
wined3d: Use resource mapping functions in process_vertices_strided().
ddraw: Use resource mapping functions in d3d_device7_DrawPrimitive().
ddraw: Use resource mapping functions in d3d_device7_DrawIndexedPrimitive().
ddraw: Use resource mapping functions in d3d_device7_DrawPrimitiveStrided().
ddraw: Use resource mapping functions in d3d_device7_DrawIndexedPrimitiveStrided().
ddraw: Use resource mapping functions in d3d_device7_DrawIndexedPrimitiveVB().
d3d8: Use resource mapping functions in d3d8_device_DrawPrimitiveUP().
d3d8: Use resource mapping functions in d3d8_device_DrawIndexedPrimitiveUP().
d3d9: Use resource mapping functions in d3d9_device_DrawPrimitiveUP().
d3d9: Use resource mapping functions in d3d9_device_DrawIndexedPrimitiveUP().
wined3d: Send resource maps through the command stream.
wined3d: Send resource unmaps through the command stream.
wined3d: Sanitise resource map flags in wined3d_resource_map().

Hugh McMaster (6):
reg/tests: Remove embedded BOM tests and add other tests for 'reg import'.
regedit: Process registry input from stdin.
reg/tests: Fix copy/paste error in 'import' tests.
regedit: Remove two 'continue' statements from the end of two 'while' loops.
regedit: Do not set s_eol to NULL when it will be re-assigned immediately.
reg/tests: Exclude the null terminating character from MultiByteToWideChar conversion.

Huw D. M. Davies (26):
d3dx10/tests: Dynamically load d3d10 and skip if it's not present.
user32: Scale the edge thickness of check boxes drawn with DrawFrameControl().
user32: Scale the check mark drawn with DrawFrameControl().
user32: The offset between the button and the text is half the digit width.
user32: Scale the button size with screen resolution.
gdi32: Eliminate a masking operation by generating a larger colour table.
gdi32: Handle the case of a partial source byte separately.
gdi32: Unroll the start- and end-of-line loops.
ucrtbase: Add __stdio_common_vswscanf().
ucrtbase: Add __stdio_common_vfscanf().
gdi32: Move the outer loop into separate functions for each direction.
gdi32: Explicitly write out the rops for copy_rect_32().
gdi32: Explicitly write out the rops for mask_rect_32().
gdi32: Split out the various offset cases for copy_rect_1() into separate functions.
gdi32: Explicitly write out the rops for copy_rect_1().
uxtheme: Use 'ptr' instead of 'wstr' for [out] pointers.
oleaut32/tests: Don't draw on the desktop window.
oleaut32/tests: Remove test for broken NT 4.0 behaviour.
crypt32/tests: Win 10 accepts carriage returns within a base64 four character block.
comctl32/tests: Move the cursor off the parent window to avoid mouse messages.
comctl32/tests: Restore the cursor position after moving it.
user32: EC_USEFONTINFO behaviour depends on whether the font's charset is CJK or not.
rpcrt4/tests: Remove an unnecessary and confusing message.
rpcrt4/tests: Mark Win 8.1 behaviour of UuidCreateSequential() as broken.
ole32: Mask out the flag bit.
ole32/tests: Update tests to the new channel hook info structure.

Jacek Caban (25):
wpc: Added stub wpc dll.
wpc: Added basic tests.
wpc: Register WindowsParentalControls class.
wpc: Added class factory stub implementation.
wpc: Added IWindowsParentalControls stub implementation.
kernel32: Fixed handling LOCALE_NAME_USER_DEFAULT in GetLocaleInfoEx.
user32: Introduced ThreadDetach driver entry point.
winemac.drv: Added ThreadDetach entry point and use it instead of DllMain.
rpcrt4/tests: Don't load GetUserNameEx dynamically.
winex11.drv: Added ThreadDetach entry point and use it instead of DllMain.
rbtree.h: Store parent entry pointer in each entry.
rbtree.h: Use parent pointer instead of stack in wine_rb_postorder.
rbtree.h: Rewrite wine_rb_remove to use parent pointers instead of stack.
rbtree.h: Rewrite wine_rb_put to use parent pointers instead of stack.
rbtree.h: Get rid of no longer needed wine_rb_stack.
rbtree.h: Store compare function instead of wine_rb_functions in wine_rb_tree.
ntoskrnl.exe: Use static initializer for device_drivers.
winemenubuilder: Use static initalizer for mimeProgidTree and nativeMimeTypes.
winedevice: Use static initializer for wine_drivers.
winhttp: Don't perform buffer size tests for components that don't pass buffer in WinHttpCrackUrl.
d3d10: Removed no loner needed wine_rb_init error handling.
d3d11: Removed no longer needed wine_rb_init error handling.
wined3d: Removed no longer needed wine_rb_init error handling.
d3dcompiler_43: Removed no longer needed wine_rb_init error handling.
rbtree.h: Pass compare function instead of wine_rb_functions to wine_rb_init.

Józef Kucia (21):
d3d11: Compare semantic names ignoring case.
d3d11/tests: Modify existing test to cover case-insensitive input elements matching.
d3d10core/tests: Modify existing test to cover case-insensitive input elements matching.
d3d8/tests: Skip test_reset() when device is initially lost.
d3d8/tests: Add test for regression in IDirect3DDevice8_Reset().
d3d9/tests: Restore display rotation in test_get_adapter_displaymode_ex().
d3d9/tests: Add test for IDirect3DDevice9Ex_ResetEx().
d3d9: Allow passing "mode" to IDirect3DDevice9Ex_ResetEx() iff "Windowed" is FALSE.
d3d9: Forbid display mode and back buffer mismatch in IDirect3DDevice9Ex_ResetEx().
dxgi/tests: Extend test for creating swapchain.
dxgi/tests: Add test for switching display mode to inexact resolution.
dxgi: Introduce helper functions for converting wined3d_display_mode.
wined3d: Introduce wined3d_find_closest_matching_adapter_mode().
dxgi: Implement dxgi_output_FindClosestMatchingMode().
dxgi/tests: Add test for IDXGIOutput_FindClosestMatchingMode().
wined3d: Optionally use closest matching mode in wined3d_swapchain_set_fullscreen().
dxgi: Enable WINED3D_SWAPCHAIN_USE_CLOSEST_MATCHING_MODE.
wined3d: Optionally use closest matching mode in wined3d_swapchain_resize_target().
d3d8/tests: Prefer higher resolutions in test_reset().
dxgi: Update swapchain fullscreen state when state change is successful.
dxgi: Release target output when releasing swapchain.

Ken Thomases (2):
winemac: Trace when a window's per-pixel-alpha setting changes.
winemac: Set windows to transparent until they have content to draw, to reduce flicker.

Keno Fischer (2):
ntdll: Tolerate null handle in DeregisterWait.
kernel32/tests: Improve tests for pUnregisterWait(0).

Kimmo Myllyvirta (4):
wined3d: Add support for WINED3DFMT_BC7_UNORM format.
wined3d: Add support for WINED3DFMT_BC6H_UF16/SF16 formats.
d3d11: Add tests for WINED3DFMT_BC7_UNORM format.
d3d11: Add tests for WINED3DFMT_BC6H_UF16/SF16 formats.

Marcus Meissner (1):
winemenubuilder: Avoid double free (Coverity).

Max Qian (8):
api-ms-win-core-job-l1-1-0: Add dll.
api-ms-win-core-job-l2-1-0: Add dll.
api-ms-win-core-namespace-l1-1-0: Add dll.
api-ms-win-core-normalization-l1-1-0: Add dll.
api-ms-win-core-string-obsolete-l1-1-0: Add dll.
api-ms-win-core-toolhelp-l1-1-0: Add dll.
api-ms-win-eventlog-legacy-l1-1-0: Add dll.
api-ms-win-shell-shellfolders-l1-1-0: Add dll.

Michael Gilbert (1):
ntdll: Add missing stdint.h include for kfreebsd architectures.

Michael Müller (2):
d3d11: Fix calculation of array size for 1D textures.
d3d11: Correctly print unhandled bind flags in wined3d_usage_from_d3d11.

Michael Stefaniuc (2):
dmusic: Avoid using the COM method implementations directly.
dmime: Avoid using the COM method implementations directly.

Nikolay Sivov (29):
comctl32/treeview: Fill full row for TVS_FULLROWSELECT style.
include: Added some of newer Common Controls definitions.
dinput: Explicitly check for -1 as open() failure code.
hidclass: Fix handle leak on error path (Coverity).
oleaut32: Keep most of typeinfo attributes in TYPEATTR structure.
include: Fix facility id for d3d10 HRESULTs.
mscoree: Return pointer to interface, not implementation.
oleaut32: Support querying for ITypeComp from ITypeInfo.
oleaut32: Fix AddFuncDesc() to ignore scodes array length when NULL array pointer is passed.
oleaut32: Added PSTypeComp to DllGetClassObject.
oleaut32: Implement ITypeComp::Bind() proxy/stub.
oleaut32: Implement IClassFactory::QueryInterface() for StdFont object.
urlmon: Added proxy/stubs for IBindHost.
dwrite: Fail stream creation on file mapping failure.
dwrite/tests: Remove unnecessary font face creation.
shell32: Use interface pointer instead of implementation one.
winegstreamer: Remove some casts that are not needed.
msdaps: Added AddRefAccessor() proxy/stub.
oleaut32: Added proxy/stub for BindType.
include: Updated CAL_* info defines.
kernel32: Map from CAL_* constants to LOCALE_*.
amstream: Remove some casts.
msctf/tests: Return interface pointers instead of pointers to impl structure.
netcfgx: Return pointer to interface.
msimtf: Return interface pointers.
dxgi: Use texture pointer instead of resource pointer for DXGI surface.
d3dx10/tests: Basic tests for async loaders.
wined3d: Add texture flag to indicate GetDC() capability.
quartz: Remove some interface pointer casts.

Patrick Rudolph (1):
wined3d: Handle WINED3DFMT_FLAG_BROKEN_PITCH in wined3d_format_calculate_size().

Piotr Caban (8):
ntdll: Remove no longer accessible TEB frames in RtlRestoreContext.
include: Add msvcrt/fpieee.h header.
msvcrt: Add _fpieee_flt stub.
msvcrt: Support fdiv m64fp in i386 _fpieee_flt.
msvcr90: Add _fpieee_flt tests.
winemac.drv: Fix setting Cocoa focus when window is shown by other thread.
ntdll: Don't incorrectly overwrite orig_context in call_stack_handlers.
user32: Fix DefWindowProc behavior on WM_NCRBUTTONDOWN message.

Ruslan Kabatsayev (1):
wined3d: Initialise p_wglGetPixelFormat when USE_WIN32_OPENGL is defined.

Sebastian Lackner (29):
ws2_32/tests: Add basic tests for async messages.
ws2_32: Do not spawn a separate thread for each async task.
ntdll/tests: Use longer waits to reduce risk of random failures on the testbot.
ntdll: Allow to release threadpool objects while waiting for group.
ntdll/tests: Add tests for releasing threadpool objects during TpReleaseCleanupGroupMembers.
ntdll: Call group cancel callback with the correct arguments.
ntdll: Group cancel callbacks should be executed after waiting for pending callbacks.
ntdll: Do not call group cancel callback for finished simple callbacks.
services: Remove synchronization for CloseThreadpoolCleanupGroupMembers.
shell32: Use the correct memory allocation function in RecycleBin_GetDisplayNameOf.
ntoskrnl.exe: Implement ZwLoadDriver and ZwUnloadDriver based on services API.
winedevice: Add support for loading/unloading drivers asynchronously.
kernel32/tests: Add a missing linebreak to an ok() message.
winedevice: Avoid memory leak when driver cannot be unloaded.
shell32: Remove some unused static inline functions.
shell32: Remove __SHFreeAndNil macro.
services/tests: Add test for passing arguments to a service.
advapi32: Unify service startup and control handling.
services: Do not create environment block before first service startup.
services: Add a separate winedevice service for each kernel driver.
services: Load kernel drivers with same load order group into a single process.
webservices: Fix handling of duplicate headers in WsAddCustomHeader.
webservices: Fix handling of duplicate headers in WsRemoveCustomHeader.
webservices: Fix invalid memory access in remove_header.
wintrust/tests: Fix test for pfnAddSgnr2Chain.
schedsvc: Avoid deadlock when scheduler service starts rpcss.
ntoskrnl.exe: Use the same timeout for service startup like in other wine modules.
ntdll: Simplify RtlFormatCurrentUserKeyPath using GetCurrentThreadEffectiveToken.
user32: Do not create IME window for HWND_MESSAGE windows.

Stefan Dösinger (8):
ddraw/tests: Move IDirect3DViewport::TransformVertices tests to ddraw1.c.
ddraw: Copy extra vertex data in viewport::TransformVertices.
ddraw: Fix offscreen flag handling in TransformVertices.
ddraw: Validate the input data in TransformVertices.
ddraw/tests: Extend TransformVertices invalid data tests.
ddraw/tests: Make the vec parameter of compare_vec4 const.
ddraw/tests: Test matrices in TransformVertices.
ddraw/tests: Port test_transform_vertices to ddraw2 and ddraw4.

Vincent Povirk (1):
gdiplus: Copy remap tables when cloning an ImageAttributes.
  Wine 1.9.18 released