diff --git a/ANNOUNCE b/ANNOUNCE index 00849c8ed8c..a805199f527 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,16 +1,24 @@ -The Wine development release 3.21 is now available. +The Wine development release 4.0-rc1 is now available. + +This is the first release candidate for the upcoming Wine 4.0. It +marks the beginning of the code freeze period. There have been many +last minute changes, so please give this release a good testing to +help us make 4.0 as good as possible. What's new in this release (see below for details): - - Typelib marshaller rewrite using NDR functions. - - Graphics support on recent Android versions. - - Support for memory font resources in DirectWrite. - - Joystick support improvements. + - Preloader implemented on mac OS. + - Mouse cursor support on Android. + - Updates to the timezone database. + - Vulkan support updated to the latest spec. + - Stream I/O support in WebServices. + - Better palette support in WindowsCodecs. + - Synchronization objects support for kernel drivers. - Various bug fixes. The source is available from the following locations: - https://dl.winehq.org/wine/source/3.x/wine-3.21.tar.xz - http://mirrors.ibiblio.org/wine/source/3.x/wine-3.21.tar.xz + https://dl.winehq.org/wine/source/4.0/wine-4.0-rc1.tar.xz + http://mirrors.ibiblio.org/wine/source/4.0/wine-4.0-rc1.tar.xz Binary packages for various distributions will be available from: @@ -26,467 +34,483 @@ AUTHORS in the distribution for the complete list. ---------------------------------------------------------------- -Bugs fixed in 3.21 (total 62): +Bugs fixed in 4.0-rc1 (total 43): - 14078 Rewrite typelib marshaller on top of NDR functions - 17708 Splinter cell double agent doesn't render correctly - 18759 RoughDraft 3's Word Count feature always says zero - 19016 Word Automation from .NET does not work - 20776 3DMark Vantage: your graphics card doesn't support DirectX 10 (needs support for 'D3D10_QUERY_SO_STATISTICS') - 25066 NFS Porsche: The game crashes on creation of pic16.fsh file - 26768 oleaut32 needs stubless proxies implemented on x86-64 - 29700 C&C Tiberian Sun and Red Alert 2 game graphics rendering freezes when NOT moving the mouse. - 30511 Guild Wars 2 launcher crashes with "assertion m_ioCount failed" - 30522 Jupiter shows too small, unreadable fonts - 30801 need for speed underground 2 [full version] unusable because of incorrect graphics render - 33463 Alan Wake : No sound in cinematics - 33502 SnagIt writes incomplete HKLM\\System\\CurrentControlSet\\Control\\Print\\Printers entry, causing loader failures for apps that depend on winspool.drv - 34967 Microsoft .NET 2.0 (sp1) Framework (x64): hangs after install - 35663 SWAT 3: Screen Flickering - 35675 Bad textures in World of Tanks - 36763 Rogue Squadron 3D 1.3: Crashes with game resolutions above 640x480 - 37850 fallout 2: problem with handling file permissions ? - 37959 Guild Wars 2 freezes on startup - 38124 Can't enable visual style in a DLL. - 38394 Eador: Genesis crashes on exit (only in fullscreen mode) - 39023 Final Fantasy XI Using a Bluetooth PS3 Controller crashes the game. - 39253 Multiple games require DXTn volume textures (From Dust, Halo Online) - 39799 Visilogic 8.0 needs 'ITypeInfo_fnInvoke' support for coclass objects (TKIND_COCLASS) in arguments - 39944 Stars! battle dialog lags - 40160 cant install mobogenie - 40206 Revit Architecture fails to install: throws Messagebox "Function failed" and aborts - 40224 Web Skype plugin for Firefox needs advapi32.CreatePrivateObjectSecurityEx implementation - 40264 Iris Online cannot connect to login server (SO_SNDBUF with value 0 is not allowed in OSX) - 40803 Hard Reset Redux fails to launch ("DirectX 10 device not found!")(DXGI_ADAPTER_DESC1 'DedicatedSystemMemory' or 'SharedSystemMemory' member must be non-null) - 42058 rFactor2 requires unimplemented function ?get@?$time_get@DV?$istreambuf_iterator@DU?$char_traits@D@std@@@std@@@std@@QBE?AV?$istreambuf_iterator@DU?$char_traits@D@std@@@2@V32@0AAVios_base@2@AAHPAUtm@@PBD4@Z called in 32-bit code (0x7b43fa6e). - 42447 Oblivion crashes on exit - 43630 Altium Designer Installer - Richedit control shows rtf code instead of text - 43683 Unigine Superposition Benchmark: missing text in launcher - 43731 GTAIV hangs when clicking Options if its resolution differs from virtual desktop resolution - 43865 LeagueOfLegends now doesn't work in Wine 2.18 (regression ?) - 44109 Simple free HAM program Opera crashes, needs unimplemented function pdh.dll.PdhVbAddCounter - 44245 Gray / black screen on Android 8+ - 44409 png with indexed colors and alpha miss the alpha channel on loading - 44828 Sony Xperia Companion crashes on unimplemented function SHELL32.dll.Shell_NotifyIconGetRect - 45407 MechCommander Gold: 'Could not Initialize .PDB file' at startup - 45913 tchar.h: using the macro _sntprintf leads to an undefined reference to snwprintf; macro should resolve to _snwprintf - 45948 Can't log in to Steam (Steam crashes after the login screen) - 45949 Regression: Crash on start of Söldner Secret Wars since 3.10 - 45961 KeyShot 5.3.6 crashes on unimplemented function KERNEL32.dll.GetMaximumProcessorCount - 45992 Some Unity games expect XInputSetState to succeed or ignore gamepad input - 46050 Korean Translations for winecfg are broken - 46068 Star Wars The Old Republic - slower on 3.18 & 3.19 - 46089 TopoEdit tool from Windows 10 SDK (10.0.17763.x) crashes in ntdll.LdrResolveDelayLoadedAPI during resolver failure (NULL dll failure hook) - 46092 Multiple ARM64 apps want 'kernel32.GetSystemInfo' support for 'PROCESSOR_ARCHITECTURE_ARM64' ('Unknown processor architecture c') - 46101 Multiple ARM64 apps from Windows 10 SDK (10.0.17763.x) crash on unimplemented function api-ms-win-core-libraryloader-l1-2-1.dll.GetModuleHandleW - 46120 Uplay hangs while filling in fields - 46126 Provide more exception context information in ARM64 implementation of raise_exception() - 46129 'sqlwriter.exe' from Microsoft SQL Server 2012/2014 crashes on unimplemented function VSSAPI.DLL.??0CVssWriter@@QEAA@XZ - 46130 Star Citizen (RSI launcher) installer needs kernel32.dll.SetFileInformationByHandle 'FileIoPriorityHintInfo' info class semi-stub - 46135 Microsoft ODBC tool 'odbcconf.exe' (part of MDAC 2.x install) crashes during configuration (some 'advapi32.dll' API entries are not hotpatchable due to PIC/GOT code at entry) - 46143 Multiple Windows 10 ARM64 apps crash due to unimplemented function ntdll.dll.RtlAddFunctionTable (and friends) - 46144 Windows PowerShell Core 6.1 for ARM64 crashes on unimplemented function KERNEL32.dll.RtlPcToFileHeader - 46156 Multiple applications from Windows 7-10 crash on unimplemented function slc.dll.SLOpen - 46157 Doxie 2.10.3 crashes on unimplemented function msvcr120.dll._vscprintf_l - 46159 Doxie 2.10.3 hangs on startup - 46175 Crysis Warhead crashes at launch + 5402 Multiple MFC-based apps crash during non-modal child dialog control creation with active window being zero (Canon PhotoStitch 3.1.13, Flexible Renamer v8.4) + 16845 Radio buttons not being checked on focus + 23750 SpongeBob SquarePants: Diner Dash 2 - mouse has pink background + 28810 d3dx9_36/tests/mesh.ok: D3DXLoadMeshTest fails under valgrind + 29183 Heavy corruption when rendering edit control with WM_PRINTCLIENT and possibly invalid HDC + 33117 Can't load Bach41.ttf with CreateFontIndirect + 35367 Multiple applications crash due to Wine ole32 code not taking implicit MTA into account (Cyberlink Powerdirector 8, PDFXChange Editor 5.5) + 37863 Halo only works using Nvidia graphics + 38228 Wildstar game failed to download : `winhttp:session_set_option 0` and `wine client error:41b: pipe: Too many open files` + 40031 Singularity: In Steam the game is still running after quit + 40880 Commandos 3: Destination Berlin demo has sound issues + 40971 Zombie Army Trilogy crashes before the menu + 41404 WPS Office 10.1.0.5775 unhandled exception on installation + 41488 ProfitChart RT crashes at startup + 42010 ReactOS Calc does not show dots in radio buttons. + 42255 Xenia emulator needs ntdll.dll.RtlAddGrowableFunctionTable implementation + 42474 Multiple applications crash on unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCombineEx (Python 3.6, AutoFlashGUI, RenderDoc) + 42582 Murdered: Soul Suspect has messed up rendering + 43584 Hitman: Absolution needs dxgi_output_GetGammaControlCapabilities + 43745 Graywalkers Purgatory demo has wrong models rendering + 43889 Gradient is inverted when using gdiplus + 44015 Steam - fails to load UI since Wine 2.20 (due to dwrite commit) + 44177 Guitar Pro 5: Long freezes during draw process of dashed lines (P.M. or let ring markers) + 44588 Many kernel drivers need support for kernel synchronization objects (event, semaphore, mutex) (BattleEye's 'bedaisy.sys', Franson VSerial service 'bizvserialnt.sys') + 44897 Multiple applications using Crashpad/Chromium/CEF in Win7+ mode crash on unimplemented function ntdll.RtlGetUnloadEventTraceEx (Steam client) + 44999 Python 3.6.5 crashes due to unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCanonicalizeEx. + 45431 Multiple D3D11 games deadlock in IDXGISwapChain::ResizeTarget while trying to resize window (Crash Bandicoot N. Sane Trilogy, Dragon Age: Inquisition) + 45453 Guild Wars 2: Launcher crashes with assertion "jobThreads && (jobThreads <= hardwareThreads)" + 45627 mdac28 fails to install (SetupDefaultQueueCallbackW copy error 32 L"C:\\users\\austin\\Temp\\IXP000.TMP\\msdaorar.dll") + 46093 GRLevel3 2.52 fails to start, hangs indefinitely + 46099 Star Citizen not loading after implementation of WaitOnAddress() in wine + 46140 .NET applications using 'WebRequest' API with MS .NET Framework crash when IPv4/6 is disabled in Linux kernel + 46142 Games launched through Windows Steam no longer launch. + 46161 Wine: Wrong GnuTLS usage? + 46168 dotnet35sp1 installer has an error under wow64 + 46172 Multiple applications from Windows 7-10 crash on unimplemented function slc.dll.SLGetLicensingStatusInformation + 46173 Used e-Sword successfully a few months ago, but when I try now I get a Program Error. + 46179 Multiple Windows 10 ARM{32,64} apps need 'kernel32.dll.GetCurrentThreadStackLimits' to get stack start address + 46180 wineserver does not release atom on unregistering window classes + 46186 LoadImageA searches images in the wrong directory + 46210 explorer /desktop leaks atoms from DDE interface + 46229 server/ptrace: NetBSD debug register storage + 46235 Opening ADODB.Connection results in: Method '~' of object '~' failed ---------------------------------------------------------------- -Changes since 3.20: +Changes since 3.21: -Alex Henrie (6): - atl: Turn variable 'mshtml_prefixW' into a static constant. - d3dcompiler_43: Turn variable 'c' into a static constant. - dbghelp: Turn variable 'code' into a static constant. - winhttp: Make constant 'cookieW' static. - kernel32: Remove duplicate spec file entries. - kernel32: Implement GetMaximumProcessorCount. +Akihiro Sagawa (8): + gdi32: Try Fontconfig substitutions when the font face is missing. + loader/wine.inf: Remove obsolete time zone entries. + loader/wine.inf: Remove non-standard Chile Standard Time. + loader/wine.inf: Update display names as seen in mapping tables. + ntdll: Use an MUI time zone name if available. + kernel32: Resolve an MUI time zone name. + tzres: Add time zone name resource DLL. + wine.inf: Add MUI time zone name settings. -Alexander Morozov (1): - crypt32: Use correct private key for signing. +Alex Henrie (44): + advapi32: Turn several string variables into static constants. + advpack: Turn variable 'prefix' into a static constant. + amstream: Make constants 'filternameW' and 'sourceW' static. + atl: Make constants 'AtlAxWinW' and 'AtlAxWinLicW' static. + hhctrl.ocx: Make constant 'szHTMext' static. + midimap: Turn variable 'throughportW' into a static constant. + mscms: Turn variables 'slash' and 'spec' into static constants. + msi: Turn several variables and constants into static constants. + netapi32: Make constant 'admins' static. + ntoskrnl.exe: Make several string constants static. + oleaut32: Make constant 'szAccept' static. + oledb32: Turn variable 'format' into a static constant. + secur32: Turn variables 'bs' and 'ds' into static constants. + setupapi: Turn several constants and variables into static constants. + ieframe: Turn several variables into static constants. + jscript: Make several constants static. + mshtml: Turn several constants and variables into static constants. + mscoree: Make several string constants static. + dmusic: Make constant 'emulated' static. + dwrite: Make constant 'globaldefaultW' static. + gdi32: Turn variable 'fake_nameW' into a static constant. + riched20: Turn several constants and variables into static constants. + shlwapi: Turn several constants and variables into static constants. + winspool.drv: Make constant 'fmtW' static. + wsdapi: Turn a constant and several variables into static constants. + shdocvw: Make constants 'wszCLSID' and 'wszInitPropertyBag' static. + vbscript: Make constant 'html_delimiterW' static. + winex11.drv: Make several constants static. + winex11.drv: Correct spelling of "plug-n-play". + ntdll: Add RtlGrowFunctionTable stub. + comctl32: Make constant 'mdays' static. + comdlg32: Turn several variables into static constants. + cryptui: Turn static variable 'import_filters' into a constant. + dinput: Turn two variables into static constants. + inetcomm: Make several constants static. + oledb32: Make constant 'hexchars' static. + qcap: Make constants 'msg' and 'VFWIndex' static. + uxtheme: Turn a variable and a constant into static constants. + wineandroid.drv: Turn variable 'options' into a static constant. + browseui: Have a single empty wide string at the top of progressdlg.c. + cryptui: Have a single empty wide string at the top of main.c. + d3dcompiler: Turn variable 'components' into a static constant. + ole32: Turn several variables into static constants. + windowscodecs: Make constant 'valuename_format' static. -Alexandre Julliard (15): - rpcrt4: Write type format strings for Automation types. - rpcrt4: Support stubless proxies on ARM. - rpcrt4: Support delegated proxies on ARM. - oleaut32: Fix argument order with instance and VARIANT return type. - widl: Always generate files for the target platform only. - Revert "makefiles: Only generate proxy code for the target architecture." - dbghelp: Return a Unicode path in path_find_symbol_file(). - winedbg: Remove some redundant length arguments. - wineandroid: Add helper functions to encapsulate gralloc functionality. - wineandroid: Add support for gralloc version 1. - server: Return WSA error codes in socket events. - ws2_32: Return a WSA error code from _is_blocking(). - server: Return a WSA error code in create_socket. - server: Return a WSA error code in WS_SIO_ADDRESS_LIST_CHANGE. - server: Return a WSA error code in accept_socket. +Alexandre Julliard (20): + makefiles: Create 64-bit wine loader symlinks in the WoW64 build tree. + makefiles: Create 64-bit winewrapper symlink in the WoW64 build tree. + wineandroid: Avoid using deprecated Build.CPU_ABI. + wineandroid: Wrap Java calls to preserve %gs on x86_64. + wineandroid: Support for setting the cursor on Android >= N. + wineandroid: Enable some Java compiler warnings. + user32: Fix wraparound check to avoid gcc optimization. + makefiles: Support specifying installed files in the top-level makefile. + libwine: Add a helper function to read a symlink. + libwine: Look for the 64-bit wineserver using the 64-bit loader symlink. + configure: Don't create fonts and server symlinks in the WoW64 build tree. + configure: Allow building a WoW64 tree inside the source directory. + makefiles: Output rules for building generated .rc files. + makefiles: Look in the extra targets for dependencies. + makefiles: Expand more variables into the generated makefiles. + wineandroid: Generate assets checksum from the gradle build file. + wineandroid: Specify the window scale directly in the constructor. + wineandroid: Add a helper function to update a window surface. + makefiles: Remove some unused variables. + loader: Duplicate some preloader code instead of trying to share it. -Alistair Leslie-Hughes (4): - advapi32: Add DECL_HOTPATCH to registry functions. - ws2_32: Ignore a SO_SNDBUF value of 0 on macOS. - include: Add IMFSequencerSource interface. - api-ms-win-core-libraryloader-l1-2-1: Sync spec file. +Alistair Leslie-Hughes (5): + comsvcs: Implement IDispenserManager RegisterDispenser. + comsvcs: Implement IHolder Alloc/Free Resource. + comsvcs: Add initial tests. + comctl32/edit: Don't set caret position when we don't have focus. + ext-ms-win-ntuser-misc-l1-2-0: Add dll. -Andre Heider (4): - server: Fix keyboard hardware message regression. - Revert "include: Use the ARRAY_SIZE() macro in debug.h.". - winegcc: Add -I for the prefix's include dir. - winegcc: Fix cross linking on multiarch platforms. - -Andreas Maier (1): - dbghelp: Search for debug files in module path too. +Andreas Maier (5): + dbghelp: Use correct record in codeview_snarf_public. + dbghelp: Add SYMFLAG_- and SYMTYPE_-defines. + dbghelp: Set correct values in symt_fill_sym_info (SYMBOL_INFO). + dbghelp: Set last error for SymGetModuleBase-calls to ERROR_MOD_NOT_FOUND. + dbghelp: SymFromAddr: Handle 2 or more symbols at the same address correct. Andrew Eikum (1): - winebus: Don't override real VID/PID for controllers. + winegcc: Pass -static-libstdc++ to the linker. -Andrey Gusev (2): - pdh: Add PdhVbAddCounter stub. - slc: Add SLOpen stub. +Andrey Gusev (7): + slc: Add SLGetLicensingStatusInformation stub. + ntdll/tests: Fix a typo in comment. + shell32: Fix a typo in comment. + kernel32/tests: Fix typos in ok() messages. + oleaut32: Fix a typo in FIXME() message. + riched20/tests: Fix typos in ok() messages. + usp10/tests: Fix a typo in ok() message. -André Hentschel (9): - msi: Allow ARM64 installations. - include: Add IMAGE_REL_ARM64_BRANCH19. - include: Add more PROCESSOR_ARCHITECTURE defines. - ntdll: Call system hook in LdrResolveDelayLoadedAPI when dll hook is missing. - winedump: Add IMAGE_DEBUG_TYPE_REPRO. - kernel32: Export RtlPcToFileHeader on ARM64. - ntdll: Add stubs for RtlAddFunctionTable and RtlDeleteFunctionTable on ARM64. - ntdll: Add more traces to raise_exception on ARM64. - kernel32: Add stub case for ARM64 in GetSystemInfo. +André Hentschel (1): + kernel32: Implement GetCurrentThreadStackLimits. -Aric Stewart (5): - ntoskrnl.exe: Implement IoRegisterDeviceInterface. - hidclass.sys: Use IoRegisterDeviceInterface. - ntoskrnl.exe: Create the device interface symlink in IoSetDeviceInterfaceState(). - hidclass.sys: IoCreateSymbolicLink is now called by IoSetDeviceInterfaceState. - hidclass.sys: Move IoSetDeviceInterfaceState to PNP_RemoveDevice. +Aric Stewart (1): + hid: Implement HidP_SetUsageValue. -Baruch Rutman (1): - winmm: Attempt only once to load the default joystick driver. +Austin English (1): + ntdll: Add RtlAddGrowableFunctionTable stub. -Beren Minor (1): - xinput1_3: Report SUCCESS from XInputSetState when FFB isn't available. +Brendan McGrath (2): + msi: Set stale function pointers to NULL. + ntdll: Use 32bit when COM header marks it required. -Brendan McGrath (1): - winebus.sys: Use JoystickNumButtons for button_count. - -Byeong-Sik Jeon (2): - gdi32: Specify the suitable hinting flags explicitly. - gdi32: Fix the linked child font bold, italic style correctly. +Daniel Ansorregui (1): + wined3d: Simplify "glsl_generate_ffp" texture projection. Daniel Lehman (1): - msvcrt/tests: Remove unused todo field. + wininet: Always check if context can be deleted when freeing netconn. -Dmitry Timoshkov (3): - oleaut32/tests: Add test for calling function with instance and VARIANT return type. - crypt32: Make sure that the provider supports algorithm of the message being decoded. - crypt32: Make sure that the provider supports the specified public key algorithm. +Denil Verghese (1): + libwine: Fix missing semi-colon. -Gabriel Ivăncescu (29): - comctl32/tests: Add more Listbox tests for ownerdraw styles. - comctl32/tests: Add some tests for LBS_NODATA. - comctl32/tests: Test incompatible styles for LBS_NODATA. - comctl32/listbox: Clear LBS_OWNERDRAWVARIABLE if LBS_OWNERDRAWFIXED is set. - comctl32/listbox: Disable LBS_NODATA if styles are incompatible with it. - comctl32/listbox: Make SetCount fail if LBS_NODATA is not set. - shell32/autocomplete: Hide the listbox when the text is changed programmatically. - shell32/tests: Test WM_SETTEXT with AutoComplete. - comctl32/listbox: Use ULONG_PTR instead of DWORD when retrieving text without HAS_STRINGS. - comctl32/listbox: Always retrieve zeros in LB_GETTEXT for LBS_NODATA listboxes. - comctl32/listbox: Return 0 from LB_GETITEMDATA for LBS_NODATA listboxes. - comctl32/listbox: Don't set any data for LBS_NODATA listboxes. - comctl32/listbox: Make LBS_NODATA listboxes error on any attempt to find a value. - user32/tests: Add more Listbox tests for ownerdraw styles. - user32/tests: Add some tests for LBS_NODATA. - user32/tests: Test incompatible styles for LBS_NODATA. - user32/listbox: Clear LBS_OWNERDRAWVARIABLE if LBS_OWNERDRAWFIXED is set. - user32/listbox: Disable LBS_NODATA if styles are incompatible with it. - user32/listbox: Make SetCount fail if LBS_NODATA is not set. - user32/listbox: Use ULONG_PTR instead of DWORD when retrieving text without HAS_STRINGS. - user32/listbox: Always retrieve zeros in LB_GETTEXT for LBS_NODATA listboxes. - user32/listbox: Return 0 from LB_GETITEMDATA for LBS_NODATA listboxes. - user32/listbox: Don't set any data for LBS_NODATA listboxes. - user32/listbox: Make LBS_NODATA listboxes error on any attempt to find a value. - shell32/autocomplete: Retrieve the count in show_listbox. - shell32/autocomplete: Move the auto-suggest listbox along with the edit control. - comctl32/tests: Confirm that emptying the listbox sends LB_RESETCONTENT to itself. - comctl32/listbox: Use a helper function to check the selection state of an item. - comctl32/listbox: Account for NULL item when painting ownerdrawn list. +Dmitry Timoshkov (33): + user32: Don't force a combobox repaint on WM_SIZE. + user32: Move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler. + user32/tests: Add a message test for group of radio buttons. + user32/tests: Simplify the test for BM_CLICK on autoradio button by using a dialog. + user32/tests: Add a test for navigating a group of buttons using keyboard events. + user32: Add support for navigating a group of radio buttons using a keyboard. + user32/tests: Add a focus test for an empty dialog that returns TRUE in WM_INITDIALOG. + user32: If there is no dialog controls to set focus to then set focus to dialog itself. + gdi32: Improve detection of symbol charset for old truetype fonts. + gdi32/tests: Add some additional tests for ExtExtOut on a path for an EMF DC. + gdi32: ExtTextOut on a path with bitmap font selected shouldn't fail. + gdi32/tests: Explicitly test BeginPath() return value in the metafile path tests. + oleaut32: Accept DISP_E_PARAMNOTFOUND for missing optional parameters in ITypeInfo::Invoke implementation. + crypt32: Use sizeof(WCHAR) instead of 2. + crypt32: Pass type and flags in correct order to the find() helper. + windowscodecs: Use V_UI1() instead of V_UNION() to assign a VT_UI1 variant member. + windowscodecs: Limit number of colors in a palette in BMP decoder. + windowscodecs: find_decoder() should return an error it received from the decoder. + windowscodecs: PNG decoder should return WINCODEC_ERR_UNKNOWNIMAGEFORMAT when image loading fails. + windowscodecs/tests: Add tests for encoding 2bpp/4bpp images with a palette. + windowscodecs: Add support for palette image formats to TIFF encoder. + windowscodecs: Add support for palette image formats to BMP encoder. + windowscodecs: Implement IWICBitmapEncoderInfo::GetFileExtensions. + windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in BMP encoder. + windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in JPEG encoder. + windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in TIFF encoder. + windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in PNG encoder. + windowscodecs: Add registration for GUID_WICPixelFormat32bppGrayFloat pixel format. + windowscodecs: Implement IWICBitmapDecoder::GetMetadataQueryReader in the TIFF decoder. + windowscodecs: Implement IWICBitmapDecoder::GetMetadataQueryReader in the PNG decoder. + windowscodecs: Implement IWICBitmapDecoder::GetMetadataQueryReader in the JPEG encoder. + windowscodecs/tests: Add some tests for IWICPalette::InitializeFromBitmap. + crypt32: If there is no optional parameters set rgProvParam to NULL in CRYPT_KEY_PROV_INFO. -Gijs Vermeulen (1): - include: Add qos2.h. +Fabian Maurer (2): + winealsa.drv: Don't crash when getting NULL event from midi. + user32: LoadImage should not only search in the working directory. -Greg Smith (1): - kernel32: Ignore FileIoPriorityHintInfo in SetFileInformationByHandle(). +Frédéric Fauberteau (1): + wineserver: Support debug registers on NetBSD. -Hans Leidekker (19): - winhttp: Get rid of receive_response_t. - winhttp: Get rid of query_data_t. - winhttp: Get rid of read_data_t. - winhttp: Get rid of write_data_t. - winhttp: Get rid of object_header_t and object_vtbl_t. - winhttp: Get rid of hostdata_t. - winhttp: Skip the hostname part when escaping an absolute URL. - winhttp: Simplify secure_proxy_connect. - msi: Increase MSI_INITIAL_MEDIA_TRANSFORM_DISKID to avoid conflicts. - winhttp: Get rid of session_t. - winhttp: Get rid of connect_t. - winhttp: Get rid of netconn_t. - winhttp: Get rid of request_t. - winhttp: Get rid of get/set_last_error. - winhttp/tests: Get rid of workarounds for Windows 2000. - winhttp: Return an error from WinHttpReceiveResponse if there's no connection. - winhttp: Use the thread pool for asynchronous tasks. - winhttp: Propagate errors from refill_buffer. - winhttp: Use the thread pool for asynchronous hostname resolution. +Gabriel Ivăncescu (11): + comctl32/tests: Also include LBS_NODATA cases when testing ownerdraw. + user32/tests: Also include LBS_NODATA cases when testing ownerdraw. + comctl32/listbox: Store the items array size instead of using HeapSize(). + shell32/autocomplete: Sort the enumerated strings using a helper function. + shell32/autocomplete: Implement ACO_FILTERPREFIXES. + shell32/tests: Add tests for ACO_FILTERPREFIXES. + shell32/autocomplete: Check the edit control in ResetEnumerator instead of whether the object is initialized. + shell32/iconcache: Prevent the imagelists from going out of sync when loading an icon. + user32/listbox: Use a helper function to check the selection state of an item. + user32/listbox: Account for NULL item when painting ownerdrawn list. + user32/listbox: Store the items array size instead of using HeapSize(). -Henri Verbeet (40): - d3d8: Do not specify WINED3D_TEXTURE_CREATE_MAPPABLE in texture_init(). - d3d8: Do not specify WINED3D_TEXTURE_CREATE_MAPPABLE in cubetexture_init(). - d3d8: Do not specify WINED3D_TEXTURE_CREATE_MAPPABLE in d3d8_device_CreateDepthStencilSurface(). - d3d8: Do not specify WINED3D_TEXTURE_CREATE_MAPPABLE in d3d8_device_CreateImageSurface(). - d3d8: Do not add map access indiscriminately in texture_init(). - d3d8: Do not add map access indiscriminately in cubetexture_init(). - d3d8: Do not add map access indiscriminately in d3d8_device_create_surface(). - wined3d: Introduce a separate structure for OpenGL rendertarget view information. - wined3d: Introduce a separate structure for OpenGL unordered access view information. - wined3d: Introduce a separate structure for OpenGL shader resource view information. - d3d8/tests: Add a resource access test. - d3d9/tests: Add a resource access test. - wined3d: Validate that the view resource has depth/stencil bind flags in wined3d_device_set_depth_stencil_view(). - wined3d: Allow binding scratch textures. - wined3d: Make "driver private" formats always mappable. - wined3d: Require exclusive GPU access for rendertarget and depth/stencil resources. - wined3d: Disallow dynamic rendertarget and depth/stencil resources. - d3dx9: Use a staging texture to update unmappable surfaces in D3DXLoadSurfaceFromMemory(). - d3d8: Disallow index buffers in the scratch pool. - d3d9: Disallow index buffers in the scratch pool. - d3d8: Disallow rendertarget and depth/stencil usage on 3D textures. - d3d9: Disallow rendertarget and depth/stencil usage on 3D textures. - d3dx9: Use intermediate surfaces for loading from unmappable source surfaces in D3DXLoadSurfaceFromSurface(). - d3dx9: Try to use IDirect3DDevice9_StretchRect() in D3DXLoadSurfaceFromSurface(). - d3d8: Disallow rendertarget and depth/stencil usage on vertex buffers. - d3d9: Disallow rendertarget and depth/stencil usage on vertex buffers. - d3d8: Disallow rendertarget and depth/stencil usage on index buffers. - d3d9: Disallow rendertarget and depth/stencil usage on index buffers. - d3d9: Do not add map access indiscriminately in texture_init(). - d3d9: Do not add map access indiscriminately in cubetexture_init(). - d3d9: Do not add map access indiscriminately in d3d9_device_create_surface(). - d3d9/tests: Add a d3d9ex resource access test. - d3d9: Disallow creating managed vertex buffers on d3d9ex devices. - d3d9: Disallow creating managed index buffers on d3d9ex devices. - d3d9: Disallow creating managed 3D textures on d3d9ex devices. - d3d9: Disallow creating managed cube textures on d3d9ex devices. - d3d9: Disallow creating managed 2D textures on d3d9ex devices. - d3d9: Pass wined3d parameter types to d3d9_device_create_surface(). - d3d8: Pass wined3d parameter types to d3d8_device_create_surface(). - wined3d: Get rid of the redundant WINED3D_TEXTURE_CREATE_MAPPABLE flag in surface_convert_format(). +Hans Leidekker (18): + winhttp: Use the thread pool for the connection collector. + winhttp: Make sure the COM request object is properly initialized. + winhttp: Use the thread pool for COM object requests. + winhttp: Store Accept headers like the other headers. + webservices: Use set_blocking in more places. + webservices: Call WsReadEndElement just once in WsReadEnvelopeEnd. + webservices: Return HRESULT from read_cmp. + webservices: Get rid of read_rewind. + webservices: Return HRESULT from read_utf8_char. + webservices: Add support for stream input. + bcrypt: Support retrieving properties from key handles. + webservices: Implement WsFillBody. + webservices: Properly check the input buffer type in WsMoveReader. + webservices: Add support for stream output. + webservices: Use stream I/O for UDP and session-less TCP channel bindings. + webservices: Allow calling WsAcceptChannel again with the same channel handle. + webservices: Implement WsFlushBody. + webservices: Maximize the amount of data read with each recv call. + +Henri Verbeet (4): + wined3d: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE on the logo texture. + wined3d: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE on the cursor texture. + dxgi: Introduce the IWineDXGISwapChainFactory interface. + wined3d: Get rid of the "colRGBA" variable in light(). Huw D. M. Davies (1): - winspool: Skip the old printer check if it has a NULL port name. + dbghelp: Fix build failure on macOS. -Jacek Caban (10): - wpp: Skip parsing #if expression if it's ignored anyway. - widl: Write async interface IIDs to _i.c file. - widl: Don't make proxy vtbl const in interpreted mode. - ieframe/tests: Fix todo_wine for tests that work now. - schannel.h: Add TLS 1.3 defines. - user32: Attempt to set scroll info in SetScrollPos even if SCROLL_GetInternalInfo fails. - server: Properly handle disconnected pipe in set_named_pipe_info request. - server: Store message mode flag only in named_pipe object. - server: Remove no longer needed pipe_client struct. - server: Fix pipe server listen queue initialization. +Jacek Caban (12): + dsound: Close sleepev handle after releasing audio client. + dsound: Wait on thread handle instead of dedicated event in DirectSoundDevice_Release. + jscript: Support undefined separator in String.split implementation. + jscript: Rename prop_val_t to property_definition_t. + jscript: Use separated parser rule for property definition. + jscript: Add parser support for getters and setters in object initializer. + jscript: Add interpreter support for getters and setters in object initializer. + jscript: Add Array.prototype.forEach implementation. + include: Add DTLS defines. + secur32: Use -VERS-ALL gnutls priority string to disable not enabled protocols. + secur32: Check for supported protocols when loading gnutls. + secur32: Use VERS-ALL priority string only on recent gnutls versions. -Józef Kucia (29): - ddraw: Validate "dwSize" when setting viewports. - ddraw/tests: Add more tests for viewports. - ddraw: Do not return unset viewport from GetViewport(). - ddraw: Do not use unset viewport in viewport_activate(). - d3d11/tests: Add option to enable debug layer. - d3d11/tests: Fix crashes with debug layer enabled. - wined3d: Add support for WINED3DFMT_R10G10B10A2_UINT. - wined3d: Fix downloading data for 1D array textures. - d3d11/tests: Add test for readback from 1D array texture. - d3d10core/tests: Add test for readback from 1D array texture. - widl: Guard RPC includes with #ifdef _WIN32. - dxgi: Partially implement dxgi_adapter_QueryVideoMemoryInfo(). - wined3d: Rename DeviceName to device_name. - wined3d: Get rid of vram_bytes from struct wined3d_adapter. - wined3d: Report system shared memory for adapters. - dxgi: Report non-zero shared system memory. - dxgi/tests: Add basic test for QueryVideoMemoryInfo(). - d3d10core/tests: Add test for SO statistics queries. - wined3d: Add fallback for WINED3D_QUERY_TYPE_SO_STATISTICS_STREAM0. - wined3d: Implement WINED3D_QUERY_TYPE_SO_STATISTICS. - d3d11/tests: Add test for SO statistics with multiple vertex streams. - wined3d: Do not crash when trying to draw to buffer render target. - dxgi/tests: Add missing ok() call. - wined3d: Propagate HRESULTs in wined3d_swapchain_resize_target(). - wined3d: Set base vertex index in CS state. - wined3d: Set base vertex index also for non-indexed draws. - wined3d: Fix mapping of SV_VertexID to gl_VertexID. - d3d11/tests: Add test for SV_VertexID. - d3d11/tests: Get rid of unnecessary clear from test_so_statistics_query(). +Jactry Zeng (1): + mshtml: Load xul with LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR. -Louis Lenders (1): - vssapi: Add a few win64 spec entries. +Józef Kucia (24): + winevulkan: Update vk.xml to 1.1.94. + dxgi/tests: Add test for ResizeTarget() with window procedure. + wined3d: Lock wined3d mutex in wined3d_swapchain_resize_target(). + dxgi/tests: Add separate window thread for test_resize_target_wndproc(). + d3d8: Avoid locking wined3d mutex around wined3d_swapchain_incref(). + d3d9: Avoid locking wined3d mutex around wined3d_swapchain_incref(). + dxgi: Avoid locking wined3d mutex around wined3d_swapchain_incref(). + wined3d: Lock wined3d mutex in wined3d_swapchain_decref(). + wined3d: Lock wined3d mutex in wined3d_swapchain_create(). + wined3d: Introduce wined3d_cs_finish() helper. + mfplat: Fix memory allocation in mfsourceresolver_CreateObjectFromByteStream() (Coverity). + d3d9: Remove dead code from indexbuffer_init() (Coverity). + d3d8: Remove dead code from indexbuffer_init() (Coverity). + dxgi: Return S_OK from dxgi_output_SetGammaControl() stub. + dxgi/tests: Add basic test for gamma control. + wined3d: Introduce wined3d_cs_submit() helper. + wined3d: Introduce wined3d_cs_require_space() helper. + wined3d: Use wined3d_cs_finish() in swapchain_cleanup(). + wined3d: Lock wined3d mutex in wined3d_swapchain_present(). + wined3d: Lock wined3d mutex in wined3d_get_adapter_identifier(). + d3d8: Do not touch output parameters when d3d8_GetAdapterIdentifier() fails. + d3d9: Do not touch output parameter when d3d9_GetAdapterLUID() fails. + d3d9: Do not touch output parameter when d3d9_GetAdapterIdentifier() fails. + include: Add ntddvdeo.h. -Michael Stefaniuc (28): - advapi32: Use the ARRAY_SIZE() macro. - atl100/tests: Use the ARRAY_SIZE() macro. - avifil32: Use the ARRAY_SIZE() macro. - combase/tests: Use the ARRAY_SIZE() macro. - hlink: Use the ARRAY_SIZE() macro. - iccvid: Use the ARRAY_SIZE() macro. - d3dx9: Use the ARRAY_SIZE() macro. - imaadp32.acm: Use the ARRAY_SIZE() macro. - kernel32: Use the ARRAY_SIZE() macro. - l3codeca.acm: Use the ARRAY_SIZE() macro. - msadp32.acm: Use the ARRAY_SIZE() macro. - msvidc32: Use the ARRAY_SIZE() macro. - ntoskrnl.exe: Use the ARRAY_SIZE() macro. - odbc32: Use the ARRAY_SIZE() macro. - ole32/tests: Use the ARRAY_SIZE() macro. - setupx.dll16: Use the ARRAY_SIZE() macro. - shell32: Use the ARRAY_SIZE() macro. - strmbase: Use the ARRAY_SIZE() macro. - wbemprox: Prefer the standard ARRAY_SIZE macro. - dsound: Primary buffers don't support IDirectSoundNotify. - msg711.acm: Use the ARRAY_SIZE() macro. - msgsm32.acm: Use the ARRAY_SIZE() macro. - winecoreaudio.drv: Use the ARRAY_SIZE() macro. - services: Use the ARRAY_SIZE() macro. - wintab32: Use the ARRAY_SIZE() macro. - xaudio2_7: Use the ARRAY_SIZE() macro. - msxml3/tests: Use the ARRAY_SIZE() macro. - iphlpapi: Remove a redundant NULL check before HeapFree(). +Kai Krakow (1): + avrt: Add AVRT_PRIORITY_VERYLOW to avrt.h. -Mihail Ivanchev (1): - include: Fixed the Unicode expansion of _sntprintf. +Ken Thomases (2): + loader: Move some code in preparation for adding the Mac preloader. + loader: Check if the preloader overlaps the reserved range on the Mac. -Mingcong Bai (1): - po: Update Simplified Chinese translation. +Marcus Meissner (1): + setupapi: Fix size passed to MultiByteToWideChar. -Nikolay Sivov (27): - kernel32/tests: Fix skips for implemented functions. - dwrite: Improve returned font metrics when OS/2 table is missing. - d2d1: Implement GetMaximumBitmapSize(). - gdi32/tests: Fix some test failures on newer Win10 releases. - wincodecs: Fix parameter validation during scaler initialization. - wincodecs: Fix failure paths in scaler's GetSize(). - wincodecs: Trace WICRect arguments. - wincodecs: Fix scaler return pixel format for uninitialized case. - wincodecs: Fix return value for scaler GetResolution(). - msvcrt: Add _iswlower_l(). - msvcrt: Add _iswupper_l(). - msvcrt: Add _iswgraph_l(). - msvcrt: Add _iswalnum_l(). - msvcrt: Add _iswcntrl_l(). - msvcrt: Add _iswprint_l(). - msvcrt: Add _iswxdigit_l(). - user32/tests: Add FindWindow() test for versioned class. - server: Use base class atom for child window enumeration. - dwrite/tests: Add CreateFontFaceFromHdc() test for in-memory font. - gdi32/tests: Run memory resource font test in a child process. - gdi32: Improve GetFontFileInfo() compatibility. - gdi32: Set data size for fonts created from memory. - gdi32: Implement GetFontFileData(). - dwrite: Add support for memory font resources in CreateFontFaceFromHdc(). - comctl32/listbox: Use helper to test for selected state on painting. - comctl32/listbox: Remove duplicated condition. - shcore: Implement method wrapper functions. +Matteo Bruni (1): + d3dcompiler: Add an assert checking for writemask sanity in debug_writemask(). -Paul Gofman (3): - d3dx9/tests: Add tests for using D3DXLoadSurfaceFromSurface() with default render target. - d3dx9: Add FIXME for unlockable source surface in D3DXLoadSurfaceFromSurface(). - wined3d: Don't pull _ACCESS_GPU textures to system memory in texture2d_blt(). +Michael Müller (4): + libwine: Do not restrict base address of main thread on 64 bit mac os. + dxgi: Implement dxgi_output_GetGammaControlCapabilities(). + ntdll: Add stub for RtlGetUnloadEventTraceEx. + setupapi: Always return device info from SetupDiGetDeviceInterfaceDetail() if requested. -Piotr Caban (11): - msvcrt: Add _vscprintf_l implementation. - ucrtbase: Add _o__*_onexit_table implementation. - ucrtbase: Fix leaks in misc tests. - ucrtbase: Fix wrong function calls in misc tests. - ucrtbase: Add _o_malloc implementation. - msvcp90: Add time_get::do_get_date implementation. - msvcp100: Add time_getdo_get implementation. - msvcp100: Add time_get::get_fmt implementation. - msvcp110: Export time_get functions on arm. - msvcp90: Add '_char' suffix to time_get helper functions. - msvcp90: Add time_get implementation. +Michael Stefaniuc (7): + cmd: Avoid naming conflicts with the global HeapAlloc wrappers. + shell32/tests: Remove redundant NULL check before CoTaskMemFree(). + ddraw: Drop redundant memset() before memcpy(). + comctl32/tests: Use SetRect() instead of open coding it. + shcore: Print the debugstr instead of the pointer to it. + ntoskrnl.exe: Drop the WINE_ prefix from debug functions. + d3dx9/tests: Use SetRectEmpty() instead of open coding it. -Roberto Pungartnik (2): - po: Update Portuguese (Brazil) translation. - po: Update Portuguese (Brazil) translation. +Nikolay Sivov (50): + dwrite/tests: Add some tests for GetUnicodeRanges(). + shcore: Turn COM exports to stubs. + shcore: Add AppUserModelID stubs. + shcore: Add CommandLineToArgvW(). + shell32: Forward some functions to shcore.dll. + shcore: Implement SHCreateMemStream(). + shcore: Add file-based stream. + shcore: Add ThreadRef functions. + shcore: Add process reference API. + shell32: Forward process reference calls to shcore. + shcore: Add SHCreateThread(). + shcore: Add StrDupA()/StrDupW(). + gdiplus/tests: Add more tests for gradient brush rectangles. + gdiplus: Add a helper to create gradient brush from rectangle. + gdiplus: Fix brush transform created with GdipCreateLineBrushFromRect(). + gdiplus: Remove unused brush fields. + wincodecs: Grab TIFF decoder reference when creating frames. + shcore: Implement a bunch of string conversion functions. + shcore: Add registry value stream functions. + shcore: Add SHRegDuplicateHKey(). + shcore: Add some registry key delete helpers. + shcore: Add registry access helpers. + shcore: Add IsOS(). + shcore: Fix return value for file-based Commit(). + shlwapi: Forward file-base stream calls to shcore. + shlwapi: Forward IUnknown_* helpers to shcore. + gdi32: Fix function prototype when building without freetype. + shlwapi: Forward SHCreateMemStream() to shcore. + shlwapi: Forward SHOpenRegStream() to shcore. + shlwapi: Forward SHOpenRegStream2() to shcore. + shlwapi: Forward IStream helpers to shcore. + shlwapi: Forward ThreadRef functions to shcore. + user32/listbox: Use helper to test for selected state on painting. + user32/listbox: Remove duplicated condition. + shlwapi: Forward SHDeleteEmptyKey() to shcore. + shlwapi: Forward SHDeleteKey() to shcore. + shlwapi: Forward SHEnumValue() to shcore. + shlwapi: Forward SHEnumKeyEx() to shcore. + shlwapi: Forward SHRegGetIntW() to shcore. + windowscodecs: Fix return values for scaler's CopyPalette(). + windowscodecs: Implement GetContainerFormat() for encoders. + windowscodecs/tests: Add more stream tests. + windowscodecs: Trace stream methods arguments. + windowscodecs: Fix InitializeFromIStream() to simply wrap target stream. + shlwapi: Forward SHUnicodeToUnicode() to shcore. + shlwapi: Forward SHAnsiToAnsi() to shcore. + shlwapi: Forward SHCopyKey() to shcore. + shlwapi: Forward IsOS() to shcore. + comctl32/listview: Fix NM_CLICK notification when clicking on checkboxes. + shlwapi: Remove unused fields. + +Pierre Schweitzer (3): + mpr: Implement remembered connection enumeration. + mpr: Implement support for making connections persistent. + mpr: Implement support for deleting persistent connections. + +Piotr Caban (1): + msvcp90: Add missing break in time_get::do_get (coverity). + +Ralf Habacker (2): + server: Release atoms when destroying a window class. + explorer: Fix atom leaks caused by not releasing DDE interface. + +Roberto Pungartnik (1): + po: Portuguese (Brazil) translation fixes. + +Roderick Colenbrander (3): + ntdll: Parse sysfs cpu_shared_map using helper function. + ntdll: Fix parsing thread_siblings bitmaps on high core count systems. + ntdll: Print FIXME on systems supporting more CPU cores than supported. Sebastian Lackner (1): - oleaut32: Pass a HREFTYPE to get_iface_guid. + loader: Implement preloader for macOS. Serge Gautherie (1): - winmm: Add a WARNing when winejoystick.drv is missing. + rpcrt4: Fix 'Routeines' typos. -Sven Baars (3): - mf: Add a trace to MFCreateTopology. - mfplat: Implement MFCreateMediaEvent. - mfplat: Improve CreateObjectFromByteStream stub in IMFSourceResolver. +Sergio Gómez Del Real (8): + riched20: Add destroy_para() helper. + riched20: Add get_total_width() to get widest paragraph number. + riched20: Move y-adjust to its own function. + riched20: Add helper function to mark paragraphs for rewrapping. + riched20: Guard paragraph wrapping against special case where type is diTextStart. + riched20: Implement list of marked paragraphs. + riched20: Cache number of rows in editor. + riched20: ME_CheckCharOffsets() calls should only be done when tracing. -Wolfgang Walter (1): - wineps: Cope correctly with a missing table. +Sven Baars (2): + mf: Return S_OK from IMFMediaSession::Close. + mfplat: Improve CreatePresentationDescriptor stub in IMFMediaSource. -Zebediah Figura (34): - rpcrt4: Retrieve the underlying interface for dual interfaces. - rpcrt4: Delegate to the parent if it is not IUnknown. - rpcrt4: Write the floating-point mask on x86-64. - oleaut32: Rip out the old typelib marshaller. - rpcrt4: Write type format strings for coclasses. - oleaut32: Handle coclasses in ITypeInfo_Invoke(). - oleaut32/tests: Add some tests for marshalling of coclasses. - stdole2: Avoid defining Automation typedefs as part of the public library. - ntdll: Only wait on the completion port if no entries were returned. - ntdll: Don't write more IOCP entries than requested. - ntdll/tests: Add more tests for NtRemoveIoCompletionEx(). - rpcrt4: Handle large arrays in EmbeddedComplexSize(). - xinput: Avoid calling XInputGetStateEx() in XInputGetState(). - dbghelp: Only check process architecture if we are actually given a process. - rpcrt4/tests: Add a test for FC_ALIGNM* directives. - rpcrt4: Fix handling of FC_ALIGNM* directives. - shell32/tests: Remove some obsolete workarounds from test_ShellWindows(). - setupapi/tests: Remove workarounds in testInstallClass(). - setupapi/tests: Remove workarounds in testCreateDeviceInfo(). - setupapi/tests: Add more tests for creating and removing devices. - hlink: Use clearer variable names in IHlink_fnNavigate(). - hlink: Add support for asynchronous binding in IHlink_Navigate(). - hlink/tests: Add some tests for asynchronous binding. - xinput: Make exported functions hot-patchable. - setupapi/tests: Remove workarounds in testGetDeviceInstanceId(). - setupapi/tests: Remove workarounds in testRegisterDeviceInfo(). - setupapi/tests: Add some more tests for SetupDiRegisterDeviceInfo(). - setupapi/tests: Remove workarounds in testCreateDeviceInterface(). - setupapi/tests: Add more tests for device interfaces. - setupapi/tests: Remove workarounds in testGetDeviceInterfaceDetail(). - setupapi/tests: Remove workarounds in testDevRegKey(). - setupapi/tests: Remove workarounds in testRegisterAndGetDetail(). - setupapi/tests: Remove workarounds in testDeviceRegistryPropertyA(). - setupapi/tests: Remove workarounds in testDeviceRegistryPropertyW(). +Zebediah Figura (46): + setupapi/devinst: Factor out get_device(). + setupapi/devinst: Factor out get_device_iface(). + setupapi/devinst: Factor out get_device_set(). + setupapi/tests: Remove workarounds in testSetupDiGetINFClassA(). + setupapi/tests: Remove workarounds in test_SetupDiCreateDeviceInfoListEx(). + setupapi/tests: Remove workarounds in test_SetupDiOpenClassRegKeyExA(). + ntoskrnl.exe: Implement KeWaitForMultipleObjects(). + ntoskrnl.exe: Implement KeInitializeEvent(). + ntoskrnl.exe: Implement KeSetEvent(). + ntoskrnl.exe: Implement KeResetEvent(). + ntoskrnl.exe: Implement KeWaitForSingleObject(). + ntoskrnl.exe/tests: Add some tests for synchronization functions. + ntoskrnl.exe: Implement KeInitializeSemaphore(). + ntoskrnl.exe: Implement KeReleaseSemaphore() and waiting on semaphores. + ntoskrnl.exe: Implement KeInitializeMutex(). + ntoskrnl.exe: Implement KeReleaseMutex() and waiting on mutexes. + ntoskrnl.exe: Implement KeWaitForMutexObject(). + ntoskrnl.exe: Implement KeClearEvent(). + setupapi: Store the class and reference string keys in the device_iface structure. + ntdll: Avoid inline assembly in do_cpuid(). + ntdll: Avoid inline assembly in have_cpuid(). + ntoskrnl.exe: Implement KeInitializeTimerEx(). + include: Add KeInitializeTimer(). + ntoskrnl.exe: Implement KeSetTimerEx() and waiting on timers. + ntoskrnl.exe: Implement KeCancelTimer(). + ntoskrnl.exe/tests: Add tests for waiting on timers. + ntoskrnl.exe: Implement KeDelayExecutionThread(). + setupapi: Enforce a maximum device instance ID length. + setupapi: Avoid unnecessary buffer allocation in SetupDiCreateDeviceInfoA(). + setupapi: Avoid unnecessary buffer allocation in SetupDiGetDeviceInstanceIdA(). + setupapi: Avoid unnecessary buffer allocation in SetupDiCreateDeviceInfoW(). + setupapi: Avoid unnecessary buffer allocation in SETUPDI_EnumerateMatchingDeviceInstances(). + dbghelp: Avoid using inline assembly in do_x86cpuid(). + dbghelp: Avoid using inline assembly in have_x86cpuid(). + ddraw: Get rid of redundant call to wined3d_stateblock_capture(). + setupapi: Implement SetupDiRemoveDeviceInterface(). + setupapi: Completely remove unregistered device interfaces. + setupapi: Implement SetupDiRemoveDevice(). + setupapi: Delete all empty parent keys of a removed device key. + wined3d: Use wined3d_state_get_light() in wined3d_state_record_lights(). + setupapi: Implement SetupDiDeleteDeviceInterfaceData(). + setupapi: Get rid of the redundant cDevices parameter to struct device. + setupapi: Implement SetupDiDeleteDeviceInfo(). + ntdll: Call the select request directly in RtlWaitOnAddress(). + ntdll: Use a critical section to ensure that RtlWaitOnAddress compares and queues atomically. + setupapi: Use strtoulW(). -Zhiyi Zhang (16): - mountmgr: Add IOCTL_STORAGE_QUERY_PROPERTY stub. - kernelbase: Implement PathCchFindExtension. - kernelbase: Implement PathCchAddExtension. - kernelbase: Implement PathCchRemoveExtension. - kernelbase: Implement PathCchRenameExtension. - kernelbase: Implement PathIsUNCEx. - kernelbase: Implement PathCchStripPrefix. - kernelbase: Implement PathCchSkipRoot. - kernelbase: Implement PathCchStripToRoot. - kernelbase: Implement PathCchIsRoot. - kernelbase: Implement PathCchRemoveBackslashEx. - kernelbase: Implement PathCchRemoveBackslash. - kernelbase: Implement PathCchRemoveFileSpec. - kernelbase: Implement PathAllocCanonicalize. - kernelbase: Implement PathCchCanonicalizeEx. - kernelbase: Implement PathCchCanonicalize. +Zhiyi Zhang (5): + kernelbase: Implement PathAllocCombine. + kernelbase: Implement PathCchCombineEx. + kernelbase: Implement PathCchCombine. + kernelbase: Implement PathCchAppendEx. + kernelbase: Implement PathCchAppend. -- Alexandre Julliard diff --git a/AUTHORS b/AUTHORS index 758538d8510..c5fe8b9914d 100644 --- a/AUTHORS +++ b/AUTHORS @@ -377,6 +377,7 @@ David Smith David Welch David Woodhouse Davin McCall +Denil Verghese Denis Baranov Denis Lukianov Dennis Björklund @@ -489,6 +490,7 @@ Frans van Dorsselaer Freddie Tilley Frederic Boulanger Frédéric Delanoy +Frédéric Fauberteau Gabriel Buades Rubio Gabriele Giorgetti Gabriele Moabiti diff --git a/VERSION b/VERSION index 91414f5a461..7d0861a0a0a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Wine version 3.21 +Wine version 4.0-rc1 diff --git a/configure b/configure index 03fe3091a09..4807d0a2507 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.21. +# Generated by GNU Autoconf 2.69 for Wine 4.0-rc1. # # Report bugs to . # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Wine' PACKAGE_TARNAME='wine' -PACKAGE_VERSION='3.21' -PACKAGE_STRING='Wine 3.21' +PACKAGE_VERSION='4.0-rc1' +PACKAGE_STRING='Wine 4.0-rc1' PACKAGE_BUGREPORT='wine-devel@winehq.org' PACKAGE_URL='https://www.winehq.org' @@ -2390,7 +2390,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.21 to adapt to many kinds of systems. +\`configure' configures Wine 4.0-rc1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2460,7 +2460,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Wine 3.21:";; + short | recursive ) echo "Configuration of Wine 4.0-rc1:";; esac cat <<\_ACEOF @@ -2692,7 +2692,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Wine configure 3.21 +Wine configure 4.0-rc1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -3376,7 +3376,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.21, which was +It was created by Wine $as_me 4.0-rc1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -20763,7 +20763,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Wine $as_me 3.21, which was +This file was extended by Wine $as_me 4.0-rc1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20834,7 +20834,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Wine config.status 3.21 +Wine config.status 4.0-rc1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\"