Release 3.8.

System Internals / WINE - Alexandre Julliard [] - 11 May 2018 18:20 EDT


diff --git a/ANNOUNCE b/ANNOUNCE
index 86670c9c5a..295e31fae9 100644
@@ -1,16 +1,17 @@
-The Wine development release 3.7 is now available.
+The Wine development release 3.8 is now available.

What's new in this release (see below for details):
- - MSI custom actions run in a separate process.
- - Support for job files in the Task Scheduler.
- - Improved viewport support in Direct 3D.
- - Larger resolution version of the standard icons.
+ - Infrastructure for writing kernel driver tests.
+ - Support for showing file properties in the Shell browser.
+ - MP3 decoder as a DirectX Media Object.
+ - More support for the Task Scheduler.
+ - Support for COM aggregation in UrlMon.
- Various bug fixes.

The source is available from the following locations:


Binary packages for various distributions will be available from:

@@ -26,357 +27,297 @@ AUTHORS in the distribution for the complete list.


-Bugs fixed in 3.7 (total 26):
- 15350 wrong keyboard layout in Tomb Raider Anniversary / Legend
- 15984 Black and White: crashes with page fault on temple completion
- 18070 Multiple apps need separate msi custom action server process due to COM/MTA and/or isolation issues (Adobe CS3/CS4, Flash, Windows SDK 2008, Strawberry Perl, MS Office 2010)
- 22210 HTML-Kit Tools trial installer produces an error message in Win7 mode (IShellLink object needs to provide IPropertyStore interface)
- 22545 Multiple applications wrapped with Themida/WinLicense 2.0.x/2.1.x software protection need ntdll.dll.DbgUiRemoteBreakin stub (WinDVD 2010)
- 31630 BlueStacks 2 crashes during install with Wine Mono
- 37228 Cisco Jabber 11.x crashes on unimplemented function ntdsapi.dll.DsCrackNamesW
- 37594 World of Warcraft in-game browser does not work (needs advapi32.BuildSecurityDescriptorW() implementation)
- 37760 Several .Net applications fail under wine-mono with System.TimeZoneNotFoundException
- 41295 Multiple games require stream output support for vertex shaders
- 42106 Problem with user32.dll with Muv-Luv on steam: "Unimplemented function USER32.dll.GetAutoRotationState"
- 42686 Poedit crashes on start on unimplemented function msvcp140.dll.?_IsNonBlockingThread@_Task_impl_base@details@Concurrency@@SA_NXZ
- 43055 StarForce v3 kernel drivers crash on unimplemented function ntoskrnl.exe.FsRtlRegisterFileSystemFilterCallbacks (TrackMania Sunrise)
- 43951 Fallout 4 not loading textures
- 44343 Builtin WMP unable to play audio files from WPF's MediaPlayer class
- 44368 Fallout 4 has graphical issues
- 44871 Age of Empires II HD crashes often when restarting a scenario
- 44922 Cisco Jabber 11.x crashes on unimplemented function IPHLPAPI.DLL.GetIpForwardTable2,
- 44968 BASIC783Esetup.exe (Decimal BASIC) fails to install (needs SrClient.dll.SRSetRestorePoint)
- 44971 HackShield for Banking Driver 'HSBDrvNt.sys' (part of Ahnlab Safe Transaction) crashes on unimplemented function ntoskrnl.exe.ExInterlockedPopEntrySList
- 44984 Maya 2018 LT Installer requires unimplemented function api-ms-win-crt-time-l1-1-0.dll._timespec64_get
- 44993 Magic The Gathering Arena fails to install
- 44995 Metatrader4 installation needs sspicli.dll.AcquireCredentialsHandleW
- 45026 Windows File Manager (WinFile) fails to build in winelib (LPDROPSTRUCT missing from winuser.h)
- 45040 Morrowind Crashes shortly after boot when the user installs the Morrowind Code Patch.
- 45044 Microsoft Visual C++ 2005, 2008 Redistributable installers fail with 'action L"SxsInstallCA" returned 1603'
+Bugs fixed in 3.8 (total 32):
+ 10365 Multiple applications fail to install due to custom action dll instance data not reset (dll pinned during execution of multiple custom actions)(Nero 7, ABBYY FineReader 9, Lingvo X5/X6, TradeStation 10.0)
+ 16144 Acrobat Reader X, XI and Photoshop CS any version crash on complex documents due to missing atmlib.dll (Adobe Type Manager, Windows NT OpenType/Type 1 API Library)
+ 21404 winedbg does not support fixed host:port parameter
+ 21530 Wrong notification format used by tooltip attached to Toolbar
+ 22048 Installation of '.NET documentation' from Windows SDK for Windows 7 and .NET Framework 3.5 SP1 installer fails (VS90-KB953196-x86.exe hotfix fails with incorrect TARGETDIR)
+ 23757 Free Pascal 2.4.0 segfaults (Cygwin 1.5.18 TLS implementation overwrites Wine/glibc/pthread data near Tib->StackBase)
+ 30449 GDIPaint does not paint (works with native gdiplus)
+ 30713 Microsoft Visual C++ 64-bit redistributables get incorrectly installed into SysWOW64 (system directory for 32-bit files) when run under 64-bit Wine
+ 31741 64-bit Python 2.7.3 installer: selecting preferred installation folder does nothing (32-bit bootstrapper process needs custom action script/dll executed in 64-bit server process)
+ 37856 Multiple installers fail due to 32-bit custom actions erroneously executed in 64-bit MSI process (packages needs to be processed as 32-bit by default, with relegation to 32-bit server)
+ 38073 GdipDrawPath graphics object has no HDC (graphical glitches in Adobe Premiere Pro CS3)
+ 43607 Akiba's Trip Undead & Undressed requires MFStartup to return S_OK.
+ 44118 Steam Big Picture requires d3d11 Multiple Viewports
+ 44119 Steam Big Picture requires d3d11 Multiple scissor rects
+ 44334 'start /W "" notepad' does not wait as on native.
+ 44399 WickrMe 4.19.7: Crashes due to stub combase.RoGetActivationFactory
+ 44553 Kerberos support added in Wine 3.1 is breaking build on some old Linux distributions
+ 44866 Autodesk Fusion 360 fails to run: propertystore_SetValue and propertystore_Commit need fake success
+ 44895 League Of Legends: Unable to log in if behind OpenWRT based router
+ 44914 Wrong cursor for IDC_SIZEWE
+ 44953 Adobe Premiere Elements 14 (trial) crashes inside winmm.dll
+ 44959 Adobe Premiere Elements 14 fails to install: ERROR: DF039: Cannot set folder icon. Error 2 File not found.(Seq 4)
+ 44976 ConEmu-Maximus5 Windows console emulator causes crash of builtin 'wineconsole.exe' (division by zero)
+ 45033 Dragon Naturally Speaking 15 installer fails with 'CheckWMIService' returning error 1602 (needs dummy Windows Management Instrumentation service 'winmgmt')
+ 45073 MSI custom action server process crashes in remote_GetActionInfo while unmarshalling data (affects many MSI installers)
+ 45078 UFOHD2 crashes inside devenum
+ 45081 DsEnumerateDomainTrusts stubbed without A/W suffix
+ 45118 Microsoft Windows PowerShell 6.x reports 'PowerShell Gallery is currently unavailable.' (WinHttpSetOption returns incorrect lasterror on unsupported options)
+ 45134 Multiple MSI-based installers crash in custom actions with unhandled RPC exception 0x6b5 'Unknown Interface' (World Racing 2 demo, ABBYY Lingvo x6)
+ 45136 Wine does not behave as Windows when using TBM_SETPAGESIZE call before TBM_SETRANGE
+ 45143 Neoncron 2 Launcher crashes embedding IE browser process when clicking bottom menu items
+ 45157 Toolbar code crashes on certain button tooltips


-Changes since 3.6:
-Alexandre Julliard (13):
- winedump: Print the thunk address for imports instead of the name address.
- user32: Reimplement AdjustWindowRectEx using NONCLIENTMETRICSW.
- user32: Implement AdjustWindowRectExForDpi().
- user32: Add partial stub for GetDpiForMonitorInternal().
- user32: Implement GetDpiForWindow().
- user32: Implement LogicalToPhysicalPointForPerMonitorDPI() and PhysicalToLogicalPointForPerMonitorDPI().
- user32: Add 256x256 variants of the standard icons.
- shell32: Add 256x256 variants of the standard icons.
- joy.cpl: Add a 256x256 icon.
- winex11: Support multiple fallbacks for cursor names.
- winex11: Avoid left_side/top_side cursor names.
- user32: Destroy thread windows by going through the handle table.
- user32: Don't wait for other threads to process WM_NCDESTROY.
-Alistair Leslie-Hughes (6):
- comctl32/treeview: Fix item icon background when using TVS_FULLROWSELECT style.
- ntoskrnl: Implement ExInterlockedPushEntrySList.
- ntoskrnl: Add FsRtlRegisterFileSystemFilterCallbacks stub.
- kernel32: Implement GetCurrencyFormatEx.
- shell32: Implement SHCreateSessionKey.
- hnetcfg/tests: Add INetFwAuthorizedApplication tests.
-Andrew Wesie (1):
- advapi32: Implement BuildSecurityDescriptorW.
-Anton Romanov (3):
- wmp: Add seeking and duration.
- wmp: Stub IWMPNetwork get download/buffering progress.
- wmp: IWMPSettings implement put/get volume.
-Austin English (5):
- iphlpapi: Add GetIpForwardTable2 stub.
- ntdsapi: Add DsCrackNamesA/W stubs.
- include/winuser.h: Add tagDROPSTRUCT struct.
- include/wfext.h: Add miscellaneous FM_* defines.
- ntdll: Add DbgUiRemoteBreakin() stub.
-Bernhard Übelacker (1):
- cmd: Avoid having first parameter to start.exe ignored.
-Dmitry Timoshkov (44):
- dinput: The DIK_ key code should match the scan code.
- dinput/tests: Add some tests for DIK_ codes using different keyboard layouts.
- schedsvc: Add a thread for monitoring version 1 task files.
- schedsvc: Add support for reading .job files.
- schedsvc: Remove job from the list when job file is deleted.
- schedsvc: Implement NetrJobGetInfo.
- schedsvc: Implement NetrJobEnum.
- schedsvc: Implement NetrJobDel.
- schedsvc: Implement NetrJobAdd.
- mstask: Implement IPersistFile::GetClassID().
- mstask: Implement ITask::GetStatus().
- mstask: ITask::GetErrorRetryCount() is not implemented.
- mstask: ITask::GetErrorRetryInterval() is not implemented.
- mstask: Implement ITask::GetIdleWait().
- mstask: Implement ITask::GetPriority().
- mstask: Implement better stub for ITask::GetExitCode().
- mstask: Implement better stub for ITask::GetMostRecentRunTime().
- mstask: Implement IPersistFile::Save().
- schedsvc: Allow others to read the file.
- schedsvc: Print an error if the service couldn't start monitoring the tasks directory.
- mstask: Save a task with at least 1 trigger to follow the .job file spec.
- mstask: Initialize task file name in the task constructor.
- mstask: Fix saving the triggers.
- mstask: Implement ITask::GetTriggerCount().
- mstask: Implement ITask::CreateTrigger().
- mstask: Implement ITask::DeleteTrigger().
- mstask: Implement ITask::GetTrigger().
- mstask/tests: Add some tests for trigger management.
- schedsvc: Fix NetrJobGetInfo return value in case of invalid job id.
- schedsvc: Fix NetrJobDel return value in case of invalid job id.
- mstask/tests: Also test the ITask::GetStatus() return value.
- mstask: Implement IPersistFile::GetCurFile().
- mstask: Implement IPersistFile::Load().
- mstask: Return S_OK from ITask::SetFlags().
- mstask: Implement ITaskScheduler::Activate().
- mstask: Implement ITaskScheduler::AddWorkItem().
- mstask/tests: Add more tests for ITaskScheduler::AddWorkItem().
- sspicli: Add forwards to secur32.
- mstask: Switch to using heap wrappers.
- mstask: Forward IPersistFile::AddRef()/Release() to parent object.
- mstask: Add dirty flag management.
- mstask: Improve ITask::GetNextRunTime() stub.
- mstask: Correctly initialize trigger count when loading a task.
- mstask: Write correct trigger count to a job file.
-François Gouget (14):
- winebus.sys: Fix a typo in a comment.
- winevulkan: Tweak the wording of a comment.
- user32: Fix the name of an unused debugging function.
- kernel32/tests: Add a trailing '\n' to an ok() call.
- windowscodecs: Make get_metadata_container() static.
- d3d8/tests: Fix a typo in a comment.
- dmime: Make IDirectMusicUtils_IPersistStream_ParseDescGeneric() static.
- dmime: Add a trailing '\n' to a FIXME().
- comctl32: Remove THEMING_SetSubclassData(). It is not used anymore.
- mshtml: Make set_frame_doc() static.
- makefiles: Make it possible to only build the tests.
- wsdapi: Make send_udp_multicast_of_type() static.
- amstream: Remove an unused NONAMELESSSTRUCT directive.
- bthprops.cpl: Remove an unused NONAMELESSUNION directive.
-Gijs Vermeulen (1):
- tdh: Add version resource.
-Hans Leidekker (6):
- msi: Don't cache the base URL.
- webservices: Properly restore the reader position when the next element doesn't match.
- include: Fix a couple of LSA typedefs.
- kerberos: Consistently use NTSTATUS return values.
- secur32: Implement LsaDeregisterLogonProcess.
- secur32: Return a handle from LsaRegisterLogonProcess.
-Henri Verbeet (5):
- wined3d: Get rid of the "numberedArraysLoaded" field in struct wined3d_context.
- wined3d: Move the stream source binding code to context.c.
- wined3d: Handle "namedArraysLoaded" in context_unload_vertex_data().
- wined3d: Use wined3d_bit_scan() in context_unload_numbered_arrays().
- wined3d: Simplify context_update_stream_sources().
-Hugh McMaster (5):
- regedit: Use the correct window class name.
- regedit/tests: Add tests for values with embedded null characters.
- reg/tests: Add tests for values with embedded null characters.
- regedit: Null terminate hex-formatted REG_SZ data if necessary.
- reg: Null terminate hex-formatted REG_SZ data if necessary.
-Jacek Caban (3):
- jscript: Remove unused prop_get arguments.
- jscript: Remove unused prop_put arguments.
- d3d11.idl: Fixed a typo in CD3D11_BLEND_DESC constructor.
-Jactry Zeng (7):
- riched20: Check para before use in ME_PrevRun.
- riched20: Save reobj in linked list.
- riched20: Implement IRichEditOle::GetObjectCount.
- riched20: Implement IRichEditOle::GetObject.
- riched20/tests: Add tests for IRichEditOle::{GetObject,GetObjectCount}.
- riched20: Implement EM_SELECTIONTYPE.
- riched20: Use ME_GetSelectionType() in ME_ShowContextMenu() for getting type of selection.
-Josh DuBois (1):
- wineandroid: Silence a noisy FIXME in ANDROID_GetKeyboardLayout.
-Józef Kucia (28):
- d3d10core/tests: Add additional tests for shader input/output matching.
- d3d10core/tests: Add test for state refcounting.
- d3d11/tests: Add test for ResolveSubresource().
- d3d9: Validate adapter format in CheckDeviceFormat().
- wined3d: Introduce helper function to get shader type from byte code.
- wined3d: Simplify geometry_shader_init().
- wined3d: Add support for stream output with vertex shaders.
- wined3d: Avoid using gl_ViewportIndex unnecessarily.
- d3d11/tests: Add test for stream output without geometry shaders.
- wined3d: Scan output signatures for pass-through geometry shaders.
- wined3d: Reduce number of parameters passed to shader_get_registers_used().
- d3d10core/tests: Add test for stream output without geometry shaders.
- wined3d: Remove redundant size checks before memcpy().
- d3d11/tests: Introduce helper function to set viewport.
- d3d11/tests: Introduce draw_color_quad_vs() helper function.
- d3d10core/tests: Add test for ResolveSubresource().
- wined3d: Parse SM5 precise instruction modifier.
- d3d10core/tests: Introduce helper function to set viewport.
- d3d10core/tests: Add test for draws with NULL render target views.
- dxgi: Remove useless FIXME() messages about adapter type.
- wined3d: Disable transform feedback when there are no varyings to record.
- d3d11: Use WARN() instead of FIXME() in d3d11_device_GetDeviceRemovedReason().
- d3d11: Do not print FIXMEs() for known DXBC chunks in shdr_handler().
- wined3d: Implement clears for 1D render target views.
- wined3d: Implement copying for 1D textures.
- d3d11/tests: Add test for clearing 1D render target views.
- wined3d: Do not check for ARB_fragment_program in arbfp_blit_supported().
- wined3d: Correctly check for absence of precise flags.
-Louis Lenders (3):
- shell32: Update specs for SHGetSetFolderCustomSettings to behaviour above win2003.
- winmm: Return error in waveOutMessage if either dwParam1 or dwParam2 is null.
- shell32/tests: Add a test for SHGetSetFolderCustomSettings.
-Martin Storsjo (1):
- makedep: Remove an incorrect -b when creating cross import libraries.
-Matteo Bruni (18):
- wined3d: Remove unused return values from the YUV shader generation helpers in the ARBfp blitter.
- wined3d: Implement source fixups in the GLSL blitter.
- wined3d: Use staging resources to blit from CPU resources in the GLSL blitter.
- wined3d: Use staging resources to blit from CPU resources in the ARBfp blitter.
- d3dx9: Allow passes argument to Begin() to be NULL.
- wined3d: Fix stateblock viewports memcmp() size.
- wined3d: Enable GL_ARB_viewport_array extension in GLSL shaders.
- ddraw/tests: Port test_viewport() to ddraw4.
- wined3d: Allow context_draw_shaded_quad() to function without immediate mode draws.
- d3drm: Add viewport to the device before setting viewport parameters.
- ddraw: Forbid setting viewport extents larger than the render target in SetViewport().
- ddraw/tests: Port test_viewport() to ddraw2.
- ddraw/tests: Port test_viewport() to ddraw1.
- d3d9/tests: Make use of the readback helpers in check_rect().
- d3d9/tests: Improve test_viewport().
- wined3d: Don't clamp viewport coordinates.
- d3d9/tests: Add more tests to test_viewport().
- wined3d: Don't attach render targets on clears when unnecessary.
-Michael Müller (4):
- ntoskrnl: Implement ExInterlockedPopEntrySList.
- include: Add more constants to SYSTEM_INFORMATION_CLASS.
- include/roapi.h: Add further typedefs.
- hnetcfg: Improve INetFwAuthorizedApplication::get_ProcessImageFileName stub.
-Nikolay Sivov (18):
- wined3d: Add support for setting multiple viewports.
- user32/menu: Hold a reference to menu data for calls with menu handles on input.
- user32/menu: Replace macro checks for window style with a helper function.
- d3d11: Allow setting multiple viewports.
- d3d10: Allow setting multiple viewports.
- wined3d: Add support for returning multiple viewports.
- d3d11: Add support for returning multiple viewports.
- d3d10: Add support for returning multiple viewports.
- d3d9/tests: Add a basic test for default value and limits of max frame latency parameter.
- uxtheme/tests: Remove some trace messages.
- wined3d: Add support for setting multiple scissor rectangles.
- include: Add more DXGI swapchain flags.
- d3d11: Add support for setting multiple scissor rectangles.
- wined3d: Add support for returning multiple scissor rectangles.
- d3d11: Add support for returning multiple scissor rectangles.
- d3d10core/tests: Add some tests for multiple scissor rectangles.
- wined3d: Invalidate number of viewports set for the context.
- wined3d: Use fewer calls to set viewport data.
-Owen Rudge (14):
- wsdapi: Ensure text node parent is NULL before calling WSDXMLAddChild.
- wsdapi: Register default namespaces when creating publisher.
- wsdapi: Create Body and Hello elements in Hello message.
- wsdapi/tests: Add test for Hello message Any body element.
- wsdapi: Write EndPointReference section in Hello message body.
- wsdapi/tests: Add test for endpoint reference "any" parameter.
- wsdapi: Build and write Types list for Hello message.
- wsdapi/tests: Add tests for Types list.
- wsdapi: Build and write Scopes and XAddrs lists for Hello message.
- wsdapi/tests: Add tests for Scopes and XAddrs lists.
- wsdapi: Add MetadataVersion to Hello message.
- wsdapi: Add support for sending reference parameters in the Hello message.
- wsdapi: Implement UnPublish.
- wsdapi/tests: Add tests for UnPublish.
-Piotr Caban (4):
- ucrtbase: Add _timespec{32,64}_get implementation.
- msi: Only mark non-registered features as absent if we haven't done anything with them.
- msi: Support NULL value in INSERT query.
- msvcp140: Add _Task_impl_base::_IsNonBlockingThread stub.
+Changes since 3.7:
+Akihiro Sagawa (2):
+ winmm: Fix default time division value in MIDI stream.
+ winmm: Avoid casting unsigned char to plain char.
+Alex Henrie (8):
+ user32/tests: Drop nonsensical broadcast tests that fail on Windows 10.
+ include: Add strtof and strtold.
+ ucrtbase: Hook up _Exit.
+ include: Add atoll.
+ include: Add strtoll, strtoll_l, strtoull, and strtoull_l.
+ include: Add llabs.
+ include: Add lldiv and lldiv_t.
+ msvcrt: Omit pointer coding functions from SOs for newer MSVC versions.
+Alexandre Julliard (8):
+ winegcc: Add support for building native subsystem libraries.
+ user32/tests: Avoid calling a potentially missing function.
+ user32/tests: Reorganize the DPI tests.
+ user32: Set the thread DPI awareness to the window's when calling a window procedure.
+ Revert "user32: SetWindowPos() should check the final window position in screen coords before adding SWP_NOMOVE."
+ user32: Avoid repeatedly fetching the window rectangles in SetWindowPos.
+ user32: Take into account the offset between old and new parent in SetParent().
+ ws2_32: Add fallback data for getprotobyname/number.
+Alistair Leslie-Hughes (5):
+ netapi32: Add DsEnumerateDomainTrustsA/W stubs.
+ mfplat: Return S_OK from MFStartup stub.
+ maintainers: Remove previous wine-staging maintainers.
+ combase/tests: Add RoGetActivationFactory tests.
+ include: Move AllocateAndGet* functions to public header.
+André Hentschel (1):
+ ntoskrnl.exe/tests: Don't test functions directly when reporting GetLastError().
+Aric Stewart (1):
+ winebus: Properly identify SDL joysticks index when hot-plugged.
+Aurimas Fišeras (1):
+ po: Update Lithuanian translation.
+Daniel Lehman (13):
+ include: Add _countof macro.
+ include: Add wcstof.
+ advapi32/tests: Don't call function in assert().
+ msvcrt/tests: Add setlocale test.
+ msvcr100/tests: Add setlocale test.
+ msvcr110/tests: Add setlocale tests.
+ advapi32/tests: Add tests for REG_NOTIFY_THREAD_AGNOSTIC.
+ include: Add thread pool declarations for currently implemented functions.
+ advapi32/tests: Add RegNotifyChangeKeyValue tests.
+ server: Notify parents of registry value changes.
+ crypt32: Clear dirty flag after flushing changes to registry.
+ shell32: Convert / to \ when parsing file list.
+ advapi32/tests: Free subkey.
+Dmitry Timoshkov (17):
+ schedsvc: Also watch for job file modifications.
+ schedsvc: Explicitly terminate the received name in the notification buffer.
+ mstask: Export the AT Service RPC API.
+ schedsvc: Reimplement FILE_ACTION_MODIFIED by remove_job()/add_job() sequence as MSDN suggests.
+ mstask: Implement ITaskScheduler::Delete().
+ schedsvc: Pass full task file name to remove_job()/add_job().
+ mstask: Don't touch instance count field of the job file in the client.
+ mstask: Initialize more task fields from the job file on load.
+ mstask: Implement ITask::GetFlags().
+ mstask: Return SCHED_S_TASK_RUNNING from ITask::GetStatus() if there are running task instances.
+ mstask: Write more correct flags and status to the job file.
+ mstask: Try opening a file more times when saving a job file.
+ mstask: Implement ITask::Run().
+ mstask: Implement ITask::Terminate().
+ mstask/tests: Add some tests for ITask::Run().
+ schedsvc: Read more task fields from the job file.
+ mstask: Add stdcall to cdecl thunks for AT Service RPC API.
+Fabian Maurer (1):
+ wineconsole: When loading settings for an application, respect a 0 in FontSize.
+François Gouget (3):
+ user32/tests: Add a trailing '\n' to an ok() call.
+ secur32: Make alloc_lsa_connection() static.
+ msi/tests: Add trailing '\n's to ok() calls.
+Guillaume Gill (1):
+ shell32: Fake success in propertystore_[SetValue|Commit].
+Hans Leidekker (7):
+ server: Dump token details.
+ server: Store the token owner separately.
+ configure: Require a more recent version of libkrb5.
+ programs: Add a stub winmgmt service.
+ winhttp: Fix invalid option error returned from WinHttpSetOption.
+ hnetcfg/tests: Ignore case when comparing filenames.
+ ws2_32: Enable IP_DONTFRAGMENT by default for SOCK_STREAM sockets.
+Henri Verbeet (2):
+ wined3d: Make the "args" parameter to glsl_blitter_generate_program() const.
+ wined3d: Add core context P8 blit support to the GLSL blitter.
+Hua Meng (1):
+ msvcp: Add a stub of _Concurrent_vector_base_v4.
+Hugh McMaster (2):
+ regedit: Stop exporting REG_SZ data at the first NUL character.
+ reg: Stop exporting REG_SZ data at the first NUL character.
+Huw D. M. Davies (1):
+ user32: Pass the modifiable string buffer directly to TEXT_NextLineW().
+Jacek Caban (29):
+ jscript: Use new PROPF_CONFIGURABLE flag instead of PROPF_DONTDELETE.
+ jscript: Use new PROPF_WRITABLE flag instead of PROPF_CONST.
+ wininet: Allow INTERNET_OPTION_SETTINGS_CHANGED on all handle types.
+ wininet: Add stub for INTERNET_OPTION_REFRESH.
+ urlmon: Store aggregated protocol handler IUnknown in BindProtocol.
+ urlmon: Don't store IWinInetHttpInfo reference in BindProtocol.
+ urlmon: Don't store IWinInetInfo reference in BindProtocol.
+ urlmon: Release protocol handler in BindProtocol::Terminate.
+ urlmon: Added support for COM aggregation of file protocol handler.
+ urlmon: Added support for COM aggregation to http protocol handler.
+ urlmon: Added support for COM aggregation to ftp protocol handler.
+ urlmon: Added support for COM aggregation to mk protocol handler.
+ urlmon: Use protocol handler's IUnknown to query other interfaces in BindProtocol.
+ urlmon: Use COM aggregation for urlmon protocols in BindProtocol::StartEx.
+ urlmon/tests: Added more protocol COM aggregation tests.
+ urlmon: Support querying interfaces from aggregated handlers in BindProtocol.
+ urlmon: Use COM aggregation for IWinInetInfo and IWinInetHttpInfo interfaces in BindProtocol.
+ urlmon: Query for IWinInet[Http]Info on BindProtocol instead of protocol handler directly.
+ jscript: Added Object.getOwnPropertyDescriptor implementation.
+ jscript: Use jsdisp_get_own_property in Object.hasOwnProperty implementation.
+ jscript: Use jsdisp_get_own_property in Object.propertyIsEnumerable implementation.
+ jscript: Make String.length non-writable.
+ jscript: Make Function instance object properties non-writable.
+ jscript: Make RegExp object properties non-writable.
+ jscript: Add Object.defineProperty implementation.
+ jscript: Use jsdisp_define_property instead of jsdisp_propput_const.
+ jscript: Make global constants non-writable in ES5 mode.
+ jscript: Use jsdisp_define_property instead of jsdisp_propput_dontenum for global properties.
+Józef Kucia (1):
+ winebus: Print SDL error message when SDL cannot be initialized.
+Louis Lenders (4):
+ shell32: Handle writing an iconresource entry in SHGetSetFolderCustomSettings.
+ winmm: Return error in waveInMessage if either dwParam1 or dwParam2 is null.
+ atmlib: Add stub dll.
+ atmlib: Add stub for ATMFinish.
+Martin Storsjo (2):
+ arm64: Use __builtin_ms_va_list and __attribute__((ms_abi)) on arm64.
+ configure: Detect MinGW-w64 ARM64 toolchains.
+Matteo Bruni (3):
+ wined3d: Use staging resources to blit from CPU resources in the fixed-function blitter.
+ wined3d: Implement P8 blits in the GLSL blitter.
+ wined3d: Rename gen_planar_yuv_read() to gen_packed_yuv_read().
+Michael Müller (12):
+ combase: Implement RoGetActivationFactory.
+ combase: Implement RoActivateInstance.
+ combase: Add stub for RoGetApartmentIdentifier.
+ combase: Add stub for RoRegisterForApartmentShutdown.
+ combase: Add stub for RoGetServerActivatableClasses.
+ combase: Add stub for RoRegisterActivationFactories.
+ combase: Add stub for CleanupTlsOleState.
+ shell32: Add general tab in file property dialog.
+ ntdll: Add stub for RtlQueryPackageIdentity.
+ include: Add IApplicationActivationManager interface declaration.
+ ext-ms-win-uxtheme-themes-l1-1-0: Add dll.
+ feclient: Add stub dll.
+Nikolay Sivov (17):
+ comctl32/tooltip: Compare to special callback pointer value directly.
+ comctl32/toolbar: Fix tooltip notification forwarding.
+ d3d11: Add ID3D11Device1 stub.
+ d3d11: Add ID3D11DeviceContext1 stub.
+ wined3d: Add new functions to set and get maximum frame latency for the device.
+ comctl32/trackbar: Don't update page size if it was explicitly set.
+ comctl32/trackbar: Remove separate field indicating focused state.
+ comctl32/trackbar: Fix reseting to default page size.
+ user32: Avoid touching last error on successful path of GetClassInfo().
+ comctl32/toolbar: Handle resource strings returned for tooltip text.
+ po: Update Russian translation.
+ user32/menu: Return locked menu data when looking for menu items.
+ gdiplus: Fix the number of transformed points for squared caps.
+ gdiplus: Convert actually used points for anchored round caps.
+ gdiplus: Fix the number of transformed points for round caps.
+ gdiplus: Draw using actual point data for custom caps.
+ dsound: Use correct pointer type.
+Owen Rudge (2):
+ include: Add WSD_PROBE structure to wsdtypes.h.
+ wsdapi/tests: Add initial test for receiving probe messages.
+Pablo Martin (2):
+ d3d11: Handle D3D11_FEATURE_ARCHITECTURE_INFO in d3d11_device_CheckFeatureSupport().
+ d3d11/tests: Add tests for D3D11_FEATURE_ARCHITECTURE_INFO in CheckFeatureSupport().
+Piotr Caban (3):
+ msvcr120: Add Concurrency::details::platform::GetCurrentThreadId export.
+ kernel32: Fix CreateProcess behavior when batch script command contains '"' characters.
+ msvcr110: Try SNAME when matching locale.

Qian Hong (1):
- kernel32: Init TimezoneInformation registry.
-Roderick Colenbrander (1):
- ntdll: Read correct sysfs entry for core information.

Sebastian Lackner (1):
- advapi32/tests: Add basic tests for BuildSecurityDescriptor.
-Thomas Faber (1):
- msxml3: Avoid buffer overflow in BindStatusCallback_GetBindInfo (DPH).
-Valentin Gabriel Mitrea (2):
- d3d10: Implement D3D10CompileEffectFromMemory().
- d3dx9: Fix D3DCompile() call.
-Zebediah Figura (45):
- msi: Stop vending WineMsiRemotePackage.
- msi: Allocate the remote handle on the server side.
- msi: Convert the IWineMsiRemote* remote interfaces to RPC stubs.
- msi: Make MsiGetProperty() RPC-compatible.
- msi: Make MsiSetProperty() RPC-compatible.
- msi/tests: Clean up property tests.
- msi: Also null-terminate WCHAR strings.
- msi/tests: Test properties from custom actions.
- msi: Store a record's associated query privately.
- msi: Make MsiProcessMessage() RPC-compatible.
- msi/tests: Improve COM test.
- msi: Make MsiGetActiveDatabase() RPC-compatible.
- msi: Make MsiDatabaseIsTablePersistent() RPC-compatible.
- msi: Make MsiDatabaseOpenView() RPC-compatible.
- msi: Make MsiViewExecute() RPC-compatible.
- msi: Make MsiViewFetch() RPC-compatible.
- msi: Make MsiViewClose() RPC-compatible.
- msi: Make MsiViewGetColumnInfo() RPC-compatible.
- msi: Make MsiViewModify() RPC-compatible.
- msi/tests: Add tests for MsiDatabaseGetPrimaryKeys().
- msi: Make MsiDatabaseGetPrimaryKeys() RPC-compatible.
- msi: Make MsiGetSummaryInformation() RPC-compatible.
- msi: Make MsiDoAction() RPC-compatible.
- msi: Make MsiSequence() RPC-compatible.
- msi: Make MsiGetTargetPath() RPC-compatible.
- msi: Make MsiSetTargetPath() RPC-compatible.
- msi: Make MsiGetSourcePath() RPC-compatible.
- msi: Avoid returning an uninitialized variable.
- d3dx10/tests: Remove todo_wine from succeeding tests.
- msi: Make MsiGetMode() RPC-compatible.
- msi: Make MsiSetMode() RPC-compatible.
- msi: Make MsiGetFeatureState() RPC-compatible.
- msi: Make MsiSetFeatureState() RPC-compatible.
- msi: Make MsiGetComponentState() RPC-compatible.
- msi: Make MsiSetComponentState() RPC-compatible.
- msi: Make MsiGetLanguage() RPC-compatible.
- msi: Make MsiSetInstallLevel() RPC-compatible.
- msi: Make MsiFormatRecord() RPC-compatible.
- msi: Make MsiEvaluateCondition() RPC-compatible.
- msi: Handle some invalid parameters in MsiGetFeatureCost().
- msi: Make MsiGetFeatureCost() RPC-compatible.
- msi: Make MsiEnumComponentCosts RPC-compatible.
- msi: Make remote_GetActionInfo() RPC-compatible.
- msi: Execute custom actions in a separate process.
- msi: Initialize [out] strings to NULL.
-Zhiyi Zhang (3):
- comctl32: GroupBox can have multiline text.
- comctl32: Fix checkbox wrong box alignment with BS_VCENTER.
- user32: Fix checkbox wrong box alignment with BS_VCENTER.
+ ntoskrnl.exe/tests: Add test driver.
+Vincent Povirk (2):
+ gdi32: Check for truncated EMF files.
+ gdi32: Check that emf records are within the file.
+Zebediah Figura (34):
+ devenum: Check for null pointer in IMoniker_BindToObject().
+ services: Fall back to the current architecture if GetBinaryType fails.
+ makedep: Also pass EXTRADLLFLAGS to the cross-compiled test DLL.
+ msi: Execute the custom action server with the correct bitness.
+ msi: Don't load a custom action DLL in the main process.
+ ntoskrnl.exe/tests: Also handle ERROR_INVALID_IMAGE_HASH.
+ ntoskrnl.exe/tests: Add a test for IoGetCurrentProcess().
+ ntoskrnl.exe/tests: Add a simple test for MmMapLockedPagesSpecifyCache().
+ msi: Set the correct values for ProgramFiles64Folder and CommonFiles64Folder.
+ ntoskrnl/tests: Use WINAPIV calling convention for variadic functions.
+ winedbg: Add support for starting on a user-supplied port.
+ strmbase: Check that the output pin supports the given media type before connecting.
+ strmbase: Implement QueryAccept() on top of CheckMediaType() for output pins too.
+ strmbase: Consistently trace the BasePin object.
+ msi: Check return value of GetBinaryType().
+ msi: Disable WoW redirection when installing a 64-bit package.
+ jscript: Avoid crash when calling stringify() with no arguments.
+ rpcrt4/tests: Add a basic test for RPC_IF_AUTOLISTEN.
+ rpcrt4: RpcServerUnregisterIf() with NULL ifspec shouldn't unregister auto-listen interfaces.
+ dmoguids: Add library.
+ msdmo: Link to dmoguids.
+ msdmo: Return a valid enumerator even if the category doesn't exist.
+ msdmo: Fix pointer checking in IEnumDMO_Next().
+ msdmo: Make formatting consistent with the rest of the file.
+ msdmo: Only return valid GUIDs in IEnumDMO_Next().
+ msi: Avoid leaking custom action data.
+ include: Add wmcodecdsp.idl and CMP3DecMediaObject.
+ wmcodecdspuuid: Add static library.
+ mp3dmod: Add stub MP3 Decoder DMO.
+ mp3dmod: Link to libmpg123.
+ mp3dmod: Return S_OK from SetInputType().
+ mp3dmod: Implement SetOutputType().
+ mp3dmod: Implement ProcessInput().
+ mp3dmod: Implement ProcessOutput().
+Zhiyi Zhang (2):
+ user32: Use the heap_*() functions in text.c where possible.
+ user32: Use common cleanup code in DrawTextExW().

Alexandre Julliard
diff --git a/AUTHORS b/AUTHORS
index a7554efdf0..b27c863f10 100644
@@ -528,6 +528,7 @@ Gregory M. Turner
Gregory Trubetskoy
Guido Barzini
Guillaume Charifi
+Guillaume Gill
Gunnar Dalsnes
Günther Brammer
Guo Lv
@@ -1154,6 +1155,7 @@ Ove Kåven
Owen Rudge
Owen Wang
Ozkan Sezer
+Pablo Martin
Pablo Martín
Pablo Saratxaga
Pablo Spallanzani
diff --git a/VERSION b/VERSION
index 2c5a2086e4..8deac3798f 100644
@@ -1 +1 @@
-Wine version 3.7
+Wine version 3.8
diff --git a/configure b/configure
index a38763c445..5f33c044ec 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Wine 3.7.
+# Generated by GNU Autoconf 2.69 for Wine 3.8.
# Report bugs to .
@@ -580,8 +580,8 @@ MAKEFLAGS=
# Identity of this package.

@@ -2366,7 +2366,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Wine 3.7 to adapt to many kinds of systems.
+\`configure' configures Wine 3.8 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

@@ -2436,7 +2436,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Wine 3.7:";;
+ short | recursive ) echo "Configuration of Wine 3.8:";;
cat <<\_ACEOF

@@ -2661,7 +2661,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Wine configure 3.7
+Wine configure 3.8
generated by GNU Autoconf 2.69

Copyright (C) 2012 Free Software Foundation, Inc.
@@ -3179,7 +3179,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

-It was created by Wine $as_me 3.7, which was
+It was created by Wine $as_me 3.8, which was
generated by GNU Autoconf 2.69. Invocation command line was

$ $0 $@
@@ -19934,7 +19934,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
-This file was extended by Wine $as_me 3.7, which was
+This file was extended by Wine $as_me 3.8, which was
generated by GNU Autoconf 2.69. Invocation command line was

@@ -20005,7 +20005,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-Wine config.status 3.7
+Wine config.status 3.8
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

7280f7fb74 Release 3.8.
ANNOUNCE | 643 ++++++++++++++++++++++++++++----------------------------------
VERSION | 2 +-
configure | 18 +-
4 files changed, 304 insertions(+), 361 deletions(-)


  • Share