The Wine development release 4.9 is now available.
What's new in this release (see below for details):
- Initial support for installing Plug and Play drivers.
- Support for building 16-bit modules in PE format.
- A lot of code moved to the new KernelBase DLL.
- Various game controller fixes.
- Use higher performance system clocks if available.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.9.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.9.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://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 4.9 (total 24):
27185 Futuremark PC Mark 7 (.NET 4.0 app) fails to run with Wine-Mono (mscoree:get_runtime Unrecognized version L"v4.0.20926")
34764 .NET Framework 3.5 SP1 based WPF applications crash on direct access of MIL (Media Integration Layer) to internal bitmap struct/class impl (depends on exact layout)
36764 Rogue Squadron 3D 1.3: Unable to setup controller in-game
36981 Flexera InstallShield 20.x based installers crash in NdrProxyInitialize (Samsung Kies 3, Designspark 6.1, Exelis ENVI 5.x)
41657 CoolQ 5.x reports network error on startup due to msscript:ScriptControl_Eval stub
43738 "MegaTagmension Blanc + Neptune VS Zombies" - Character models don't render
46406 TreePad X Enterprise (single user) 12GB v7.17.0: Garbled Text When Creating or Editing a Node/Tree Name
46655 Adobe Photoshop CC 2015.5: Tabs show completely black
46682 TopoEdit crashes with unimplemented function mf.dll.MFCreateAudioRendererActivate
46849 Vietcong: taking handmap causes crash (ProcessVertices)
47044 64-bit MRAC Anti-Cheat (My.Com Warface) kernel service fails in driver entry point due to missing 'ntoskrnl.exe.{ExAcquireFastMutex,ExReleaseFastMutex}'
47085 Spellforce 3 has misplaced text in main menu
47178 Grand Prix Legends: Service papycpu2 doesn't load
47183 Grand Prix Legends: Only the first two axes are recognized
47185 `winetricks -q msxml3` hangs
47188 Gamepad input no longer works (regression)
47190 Custom protocol handler CF doesn't support aggregation
47209 Gamepad input no longer works again (regression)
47214 Oracle Java runtime 8.211 online installer crashes in WoW64
47219 "winetricks -q ie8" hangs
47222 World of Tanks 1.5.0 launcher 'WotLauncher.exe' (0.3.x) crashes with Wine-Staging 4.7
47226 Incorrect crash information displayed for unimplemented function stubs when 64-bit Wine builtins are cross-compiled in PE format (Mingw-w64, MS x64 calling convention)
47238 Osmos refuses to start with built-in msvcp90
47249 CM_Set_Class_Registry_Property should use PCVOID for buffer parameter
----------------------------------------------------------------
Changes since 4.8:
Akihiro Sagawa (10):
advapi32/tests: Add basic RegLoadMUIString tests.
advapi32: Support the base directory parameter in RegLoadMUIString.
advapi32: Improve parameter sanity checks in RegLoadMUIString.
advapi32: Improve load_string to return error code.
advapi32: Remove useless RegLoadMUIStringA implementation.
advapi32: Return required buffer size in RegLoadMUIString.
kernel32: Add traces to time zone functions.
advapi32/tests: Add RegLoadMUIString tests with REG_MUI_STRING_TRUNCATE flag.
advapi32: Factor out load_mui_string().
advapi32: Implement REG_MUI_STRING_TRUNCATE flag.
Alexandre Julliard (70):
include: Move inline assembly definitions to a new wine/asm.h header.
winecrt0: Store the appropriate longjmp() function in the exception frame.
winecrt0: Reimplement __wine_rtl_unwind() as a proper asm function.
winecrt0: Don't build unneeded code for Windows platforms.
configure: Rename WINE_CROSSTEST to WINE_CROSS_PE.
configure: Don't allow using config.h when cross-compiling.
dinput/tests: Remove duplicate const.
dinput8/tests: Remove duplicate const.
winebus.sys: Avoid ssize_t.
msvcp80: Fix the spec entries of the num_put_char/short/wchar functions.
msvcr: Fix the _NonReentrantPPLLock__Scoped_lock_ctor() spec entries.
msvcr: Fix the event_wait() spec entries.
vssapi: Fix the VSSAPI_CVssWriter_Initialize() spec entry.
include: Define fastcall assembly wrappers globally.
include: Define thiscall assembly wrappers globally.
riched20: Declare thiscall functions as __thiscall.
winebuild: Support Windows-style name mangling for fastcall functions.
include: Use the __fastcall attribute directly for the Windows build.
include: Use the __thiscall attribute directly for the Mingw build.
include: Pass function name directly to the __ASM_STDCALL macro.
winegcc: Use -static-libgcc for the Windows build.
msvcp90: Use the standard -mno-cygwin build flag.
msvcp100: Use the standard -mno-cygwin build flag.
msvcp110: Use the standard -mno-cygwin build flag.
msvcp120: Use the standard -mno-cygwin build flag.
msvcp140: Use the standard -mno-cygwin build flag.
vcruntime140: Use the standard -mno-cygwin build flag.
msvcp60: Use the standard -mno-cygwin build flag.
msvcp70: Use the standard -mno-cygwin build flag.
msvcp71: Use the standard -mno-cygwin build flag.
msvcp80: Use the standard -mno-cygwin build flag.
msvcirt: Use the standard -mno-cygwin build flag.
msvcrt20: Use the standard -mno-cygwin build flag.
msvcrt40: Use the standard -mno-cygwin build flag.
makefiles: Remove the check for msvcr* imports.
msvcrt: Update arguments for some forwarded functions.
cabarc: Remove duplicate defines.
cabinet/tests: Remove duplicate defines.
winebuild: Support relay debugging for PE builtin dlls.
makefiles: Don't depend on cross import library if not necessary.
makefiles: Use -fshort-wchar when building with msvcrt.
winebuild: Don't change %fs and %gs when calling 16-bit register functions.
winebuild: Store wine_ldt_copy pointer in the NE header at load time.
include: Don't allow using wine/library.h with msvcrt.
ntdll: Set LDR_WINE_INTERNAL flag also for PE builtins.
winebuild: Use cdecl calling convention for stub exceptions.
winebuild: Add 16-bit support for PE builds.
makefiles: Support cross-compilation of 16-bit libraries.
setupapi: Extract the 16-bit fake dll from the 32-bit PE one.
winedump: Print fake dll information also for NE files.
msvcrt: Add the static object files to all the msvcrt import libraries.
user.exe: Avoid using libwine functions.
toolhelp: Avoid using libwine functions.
rundll.exe: Build with msvcrt.
winhelp.exe: Build with msvcrt.
winoldap.mod: Build with msvcrt.
make_unicode: Add a wctype table in kernel32 for GetStringTypeW().
make_unicode: Store the C2_* values directly in the kernel32 wctype table.
make_unicode: Use a two-level table for the kernel32 wctype table.
make_unicode: Generate a separate table for BiDi direction type in usp10.
make_unicode: Store the full BiDi direction type in the table.
make_unicode: Avoid including wine/unicode.h in generated files.
dwrite: Use the same BiDi direction table as usp10.
gdi32: Use the same BiDi direction table as usp10.
make_unicode: Remove duplicate DECLSPEC_HIDDEN.
ntdll: Don't pass DLL_WINE_PREATTACH to the TLS callbacks.
setupapi/tests: Avoid size_t in traces.
quartz/tests: Add braces to avoid a clang warning.
ucrtbase: Move the vsnprintf() wrapper function to the ucrtbase import library.
makefiles: Add install dependency for PE builtins.
Alistair Leslie-Hughes (6):
dinput: Allow enumeration of joysticks with DirectX 3.
dinput: Handle setting DIPROP_CALIBRATIONMODE mode in generic implementation.
wineqtdecoder: Fix compile on MacOS.
dinput: Improve returned flags in Mouse GetObjectInfo.
dinput: Support DIDEVICEINSTANCE_DX3 for keyboard GetDeviceInfo.
include: Add helicopter Direct Input defines.
Andreas Maier (2):
jscript: Implement Enumerator object.
jscript/tests: Add more Enumerator tests.
Andrew Eikum (4):
winebus.sys: Fix report length calculation.
winebus.sys: Add missing padding between hatswitch and constant.
hid: Fix usage value mask.
msvcrt: Implement fma and fmaf.
André Hentschel (1):
include: Fix ASM_CFI definition.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Dmitry Timoshkov (11):
windowscodecs: Improve compatibility of IMILBitmap interface.
windowscodecs: Add support for IMILBitmapScaler interface.
windowscodecs/tests: Add some tests for IMILBitmap and IMILBitmapScaler interfaces.
windowscodecs: Correct IWICBitmapScaler::CopyPixels() error for not initialized case.
windowscodecs: Simplify some IMILBitmapScaler forwarders.
urlmon: Add support for PARSE_UNESCAPE to CoInternetParseUrl.
urlmon: Add ShouldShowIntranetWarningSecband stub.
urlmon: Add GetIUriPriv stub.
urlmon: Add CoInternetGetBrowserProfile stub.
urlmon/tests: Add a test for ProtocolCF_CreateInstance not supporting aggregation.
urlmon: If ProtocolCF_CreateInstance doesn't support aggregation retry without it.
Ethan Lee (1):
xaudio2: Use new features from FAudio 19.06 (but keep compatibility for <=19.05).
Fabian Maurer (2):
gdi32: CreatePolyPolygonRgn() returns an empty region when the area is empty.
setupapi: Correct function parameter for CM_Set_Class_Registry_PropertyA/W.
Gijs Vermeulen (1):
crypt32/tests: Fix some memory leaks (Valgrind).
Hans Leidekker (1):
ntdll: Fix breakpoint exception address on 64-bit Linux.
Henri Verbeet (35):
wined3d: Pass a wined3d_context_gl structure to context_update_tex_unit_map().
wined3d: Pass a wined3d_context_gl structure to draw_primitive_immediate_mode().
wined3d: Move the texture unit map from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the "blit_vbo" field from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the occlusion query fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the fence fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the timestamp query fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the stream-output statistics query fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the pipeline statistics query fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Pass a wined3d_context_gl structure to context_apply_clear_state().
wined3d: Pass a wined3d_context_gl structure to context_apply_fbo_state_blit().
wined3d: Pass a wined3d_context_gl structure to context_check_fbo_status().
wined3d: Pass a wined3d_context_gl structure to context_set_draw_buffer().
wined3d: Pass a wined3d_context_gl structure to context_texture_update().
wined3d: Pass a wined3d_context_gl structure to context_bind_fbo().
wined3d: Pass a wined3d_context_gl structure to context_destroy_fbo().
wined3d: Pass a wined3d_context_gl structure to context_reuse_fbo_entry().
wined3d: Pass a wined3d_context_gl structure to context_destroy_fbo_entry().
wined3d: Pass a wined3d_context_gl structure to context_find_fbo_entry().
wined3d: Use context_acquire() in wined3d_swapchain_cs_init().
wined3d: Pass a wined3d_context_gl structure to context_apply_fbo_entry().
wined3d: Pass a wined3d_context_gl structure to context_apply_fbo_state().
wined3d: Pass a wined3d_context_gl structure to context_queue_fbo_entry_destruction().
wined3d: Pass a wined3d_context_gl structure to context_apply_compute_state().
wined3d: Use wined3d_texture_get_level_box() in wined3d_device_update_texture().
wined3d: Move the FBO fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Pass a wined3d_context_gl structure to context_get_offscreen_gl_buffer().
wined3d: Pass a wined3d_context_gl structure to wined3d_context_gl_restore_pixel_format().
wined3d: Pass a wined3d_context_gl structure to context_set_pixel_format().
wined3d: Use wined3d_texture_get_level_box() in texture2d_load_texture().
wined3d: Pass a wined3d_context_gl structure to context_set_gl_context().
wined3d: Pass a wined3d_context_gl structure to context_update_window().
wined3d: Pass a wined3d_context_gl structure to context_enter().
wined3d: Pass a wined3d_context_gl structure to context_get_rt_size().
wined3d: Use wined3d_texture_get_level_box() in wined3d_texture_create().
Huw D. M. Davies (11):
configure: Don't define HAVE_CLOCK_GETTIME on macOS.
ntdll: Implement RtlGetSystemTimePrecise().
kernel32: Implement GetSystemTimePreciseAsFileTime() using RtlGetSystemTimePrecise().
ntdll: Use CLOCK_REALTIME_COARSE for NtQuerySystemTime() if it has sufficient resolution.
kernel32: Replace macros with inline helpers.
kernel32: Simplify TIME_CompTimeZoneID() by passing time as LONGLONG.
kernel32: Simplify is_not_current().
kernel32: Forward GetSystemTimeAsFileTime() to NtQuerySystemTime().
ntdll: Mark monotonic_counter() as inline.
ntdll: Extend NtGetTickCount() to return 64-bits. Forward kernel32 functions to it.
explorer: Set the default driver to mac,x11 in all cases.
Isira Seneviratne (1):
po: Update Sinhala translation.
Jacek Caban (12):
ntoskrnl.exe: Implement ExAcquireFastMutex and ExReleaseFastMutex.
ntoskrnl.exe: Implement PsGetProcessInheritedFromUniqueProcessId.
ntddk.h: Add a few more declarations.
urlmon/tests: Make ParseUrl call tests more strict.
jscript: Allow calling eval function from external code.
ntoskrnl.exe: Implement PsGetThreadProcessId.
mshtml: Fix window size in IOleDocumentView::SetRect implementation.
mshtml: Return rect relative to parent window in IOleDocumentView::GetRect.
mshtml: Implement IOleInPlaceObjectWindowless::SetObjectRects.
ntdll: Introduce wait_async helper.
server: Store pending flag in async object.
server: Always block overlapped device requests until driver dispatches them.
Jactry Zeng (1):
msscript: Partially implement IScriptControl::Eval().
Jimi Huotari (1):
winegstreamer: Fix spelling of 'initialized' in a TRACE().
Józef Kucia (1):
setupapi: Avoid debugstr buffer overflow.
Lauri Kenttä (1):
po: Update Finnish translation.
Marcus Meissner (1):
setupapi: Fix size to MultiByteToWideChar().
Martin Storsjo (2):
msvcrt: Hook up _setjmpex for arm64 as well.
ntdll: Avoid truncating a nonzero exit code to zero in unix.
Matteo Bruni (15):
wined3d: Avoid a GCC 8 warning.
d3d9: Always allow read and write map access to non-DEFAULT buffers.
d3d8: Always allow read and write map access to non-DEFAULT buffers.
wined3d: Pass a wined3d_context_gl structure to context_load_numbered_arrays().
wined3d: Pass a wined3d_context_gl structure to context_update_stream_sources().
wined3d: Avoid some redundant glVertexAttrib4f() calls.
wined3d: Add ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE to core_extensions[].
winecfg: Don't mark glu32 as builtin-only.
wined3d: Always report support for ZBIAS and MIPMAPLODBIAS raster caps in the Vulkan backend.
wined3d: Report WINED3DPRASTERCAPS_MIPMAPLODBIAS only when supported.
wined3d: Assign 9_x feature levels more accurately.
d3d8: Check the WINED3DPRASTERCAPS_DEPTHBIAS cap bit to report D3DPRASTERCAPS_ZBIAS.
ddraw: Check the WINED3DPRASTERCAPS_DEPTHBIAS cap bit to report D3DPRASTERCAPS_ZBIAS.
wined3d: Get rid of WINED3DPRASTERCAPS_ZBIAS.
wined3d: Report WINED3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS when possible.
Michael Stefaniuc (3):
mfplat: Print the debug strings and not the pointers.
msctf: Remove useless cast to self.
kernel32/tests: Use the ARRAY_SIZE() macro.
Nikolay Sivov (50):
mf: Add stubs to create audio renderer sink.
mf: Add support for async commands for media session.
dwrite/layout: Use a helper to update layout metrics.
dwrite/layout: Use array allocation helper for typography features.
dwrite/font: Use existing helper for CreateFontFace().
dwrite/layout: Fix layout metrics width for whitespace-only lines.
dwrite/layout: Use interface pointer in text format method traces.
dwrite: Improve returned design glyph metrics.
dwrite: Use array allocation helper to manage family entries.
dwrite: Use array allocation helper to manage collection entries.
dwrite: Use array allocation helper for in-memory loader.
dwrite/analyzer: Use array allocation helper for fallback builder.
dwrite: Use array allocation helper for strings object.
dwrite/layout: Use array allocation helper for line metrics.
dwrite/tests: Fix a typo in test message.
kernelbase: Duplicate some path handling functions from shlwapi.
mf/session: Add stubs for playback rate API.
mf: Create presentation clock on session creation.
xaudio2: Fix 32-bit build.
kernelbase: Duplicate more path API from shlwapi.
kernelbase: Add QISearch().
kernelbase: Duplicate some of strings functions from shlwapi.
mfplat: Handle null destination for GetItem().
mf: Slightly improve topoloader Load().
kernelbase: Use a helper to get character C1 type.
kernelbase: Add string handling functions from user32.
kernelbase: Add LoadString() exports.
kernelbase: Add some more string handling functions from shlwapi.
mfplat: Return properties for system time source.
mfplat: Create system clock instance per system time source.
kernelbase: Add remaining string handling functions from shlwapi.
mf: Add sample grabber sink stub.
mf: Add IMFMediaTypeHandler stub for grabber stream.
mf: Add clock state sink stub for grabber.
mf: Add events support for grabber stream.
mf: Add events support for grabber sink.
comctl32/tooltips: Add a helper to free tool text.
comctl32/tooltips: Add a helper to set tool text.
comctl32/tooltips: Remove redundant condition.
kernelbase: Add most of path API from shlwapi.
mferror: Add some more error messages.
kernelbase: Add some URL API functions from shlwapi.
kernelbase: Remove helpers that are no longer necessary.
kernelbase: Add more URL API functions from shlwapi.
kernelbase: Add remaining path functions.
kernelbase: Add GetAcceptLanguages().
kernelbase: Add remaining URL functions.
kernelbase: Add SHLoadIndirectString().
kernelbase: Add some registry helpers from shlwapi.
mfplat: Add timestamp support for system time source.
Paul Gofman (13):
ddraw/tests: Test lighting with ambient light and material in ddraw1.
ddraw: Fix setting current viewport for ddraw1.
ddraw: Enable lighting only if material is set in d3d_execute_buffer_execute().
wined3d: Move validate_material_colour_source() to wined3d_private.h.
wined3d: Factor out compute_normal_matrix() function.
wined3d: Factor out wined3d_get_material_colour_source() function.
wined3d: Use the correct colour sources in process_vertices_strided().
wined3d: Move multiply_vector_matrix() to wined3d_private.h.
wined3d: Implement lighting with directional lights in process_vertices_strided().
ddraw/tests: Backport test_specular_lighting() for ddraw1.
wined3d: Implement point lights in process_vertices_strided().
wined3d: Implement spot lights in process_vertices_strided().
wined3d: Implement parallel point lights in process_vertices_strided().
Philip Rebohle (1):
d3dcompiler: Accept a stat chunk size of 28 for reflection.
Piotr Caban (13):
hid: Change format of preparsed data.
hidclass.sys: Remove no longer used features list.
hidclass.sys: Support descriptors with over 10 individual usages in feature.
hid: Set button values in HidP_SetUsages function.
hid: Fix error handling in HidP_SetUsages.
hidclass.sys: Limit written data to the actual report size.
winebus.sys: Fix typo in endpoint name.
winebus.sys: Correctly set HID device input number in device endpoint path.
winebus.sys: Restore IG_ substring in gamepads endpoint path.
kernel32: Add more CompareStringW tests.
libwine: Add helper function to compare character weights.
libwine: Decompose characters before comparing in wine_compare_string.
libwine: Ignore 0 weights as described in Unicode collation algorithm.
Roman Stingler (3):
include: Added some process creation Flags.
kernel32: Added some Numa stubs.
kernel32: Add stub WerUnregisterRuntimeExceptionModule.
Sven Baars (1):
comctl32: Always free the tooltip text before setting it (Valgrind).
Tim Schumacher (3):
services: Allow reading binary registry values as DWORDs.
joy.cpl: Check if effect is allocated before releasing it.
joy.cpl: Fix high CPU load in FF test window.
Zebediah Figura (90):
quartz: Make Parser_OutputPin_BreakConnect() a local helper.
winegstreamer: Make GSTOutPin_BreakConnect() a local helper.
wineqtdecoder: Make QTOutPin_BreakConnect() a local helper.
strmbase: Get rid of the "pfnBreakConnect" field from BaseOutputPinFuncTable.
setupapi: Handle an empty string for the source file in SetupQueueCopySection().
strmbase: Remove function pointers from the IEnumPinsImpl structure.
wineqtdecoder: Fix implementation of QT_GetPin().
strmbase: Determine the pin count using the GetPin() callback.
strmbase: Get rid of the "pfnGetPinCount" callback.
winegstreamer: Use CONTAINING_RECORD instead of casting.
strmbase: Use heap_alloc_zero() in enum_pins_create().
strmbase: Don't store the media type list locally.
strmbase: Get rid of the ENUMMEDIADETAILS structure.
strmbase: Return void from BaseFilter_Init().
strmbase: Get rid of the "filterVtbl" parameter to TransformFilter_Construct().
strmbase: Factor out strmbase_renderer_cleanup().
quartz/videorenderer: Use strmbase_renderer_cleanup().
quartz/vmr9: Use strmbase_renderer_cleanup().
quartz/dsoundrender: Use strmbase_renderer_cleanup().
qedit/nullrenderer: Use strmbase_renderer_cleanup().
strmbase: Get rid of BaseRendererImpl_Release().
setupapi: Implement SetupDiGetDeviceInstallParams().
setupapi: Implement SetupDiSetDeviceInstallParams().
setupapi/tests: Add some basic tests for SetupDi{Get, Set}DeviceInstallParams().
setupapi: Implement SetupDiGetActualSectionToInstallA().
setupapi: Define the correct platform extensions for each architecture.
setupapi/tests: Add tests for SetupDiGetActualSectionToInstall().
setupapi: Return the section name in SetupDiGetActualSectionToInstall() even if it doesn't exist.
quartz: Use CONTAINING_RECORD instead of casting.
qedit/samplegrabber: Correctly delegate IUnknown methods on the IMemInputPin interface.
amstream: Reimplement IMediaStreamFilter::EnumPins().
amstream: Reimplement IBaseFilter methods in the media stream filter.
setupapi/tests: Add some tests for SetupInstallFile().
setupapi: Retrieve the default destination path in SetupInstallFile().
setupapi: Clear the Win32 error if no copy was necessary.
setupapi: Don't fail a queued copy if no copy was necessary.
quartz/tests: Add some tests for IMediaSeeking on the filter graph.
qcap/tests: Clean up test_AviMux_QueryInterface().
qcap/tests: Add some tests for IMediaSeeking on the AVI mux filter.
strmbase/transform: Don't expose IMediaSeeking from the filter.
strmbase/transform: Don't expose IMediaPosition from the filter.
strmbase/transform: Don't expose IQualityControl from the filter.
quartz/filtergraph: Don't require IAMFilterMiscFlags when performing seek operations.
mshtml: Fix a copy-paste error.
mshtml: Avoid passing invalid memory to DispCallFunc().
msxml3: Load the version 1 typelib before trying to access it.
setupapi: Add an initial implementation of SetupDiBuildDriverInfoList().
setupapi: Check for compatible platforms in SetupDiBuildDriverInfoList().
setupapi: Implement directory search in SetupDiBuildDriverInfoList().
setupapi: Implement SetupDiEnumDriverInfo().
setupapi/tests: Add tests for building and enumerating driver lists.
setupapi: Add a semi-stub implementation of SetupDiSelectBestCompatDrv().
widl: Fix proxy vtbl generation in -Oi mode.
rpcrt4: Fail with CO_E_OBJNOTCONNECTED when trying to call methods on a disconnected proxy.
rpcrt4: Factor out get_handle_desc_size().
rpcrt4: Handle exceptions in a larger portion of NdrClientCall().
rpcrt4: Use a FINALLY block to clean up in do_ndr_client_call().
quartz/tests: Add some tests for IFilterGraph::SetDefaultSyncSource().
quartz/filtergraph: Don't require IAMFilterMiscFlags in IFilterGraph::SetDefaultSyncSource().
quartz/videorenderer: Don't expose IAMFilterMiscFlags.
quartz/dsoundrender: Don't expose IAMFilterMiscFlags.
qedit/nullrenderer: Don't expose IAMFilterMiscFlags.
strmbase: Rename BaseFilter_Destroy() to strmbase_filter_cleanup().
strmbase: Return void from strmbase_filter_cleanup().
evr: Use strmbase_filter_cleanup().
strmbase/transform: Use BaseFilter_Destroy().
qcap/avimux: Use BaseFilter_Destroy().
setupapi: Implement SetupDiRegisterCoDeviceInstallers().
setupapi: Add a basic implementation of SetupDiCallClassInstaller().
setupapi: Implement custom class installers in SetupDiCallClassInstaller().
setupapi: Call DIF_DESTROYPRIVATEDATA when deleting a device.
setupapi: Implement class co-installers in SetupDiCallClassInstaller().
setupapi: Implement device-specific co-installers in SetupDiCallClassInstaller().
qcap/smartteefilter: Use strmbase_filter_cleanup().
qcap/avico: Use strmbase_filter_cleanup().
qcap/audiorecord: Use strmbase_filter_cleanup().
qedit/samplegrabber: Use strmbase_filter_cleanup().
quartz/parser: Use strmbase_filter_cleanup().
setupapi: Implement SetupDiInstallDriverFiles().
setupapi: Process interface sections in SetupDiInstallDriverFiles().
setupapi: Implement SetupDiInstallDeviceInterfaces().
strmbase: Use an unsigned int for the GetPin() callback.
strmbase: Rename pfnGetPin to filter_get_pin.
strmbase: Remove unnecessary calling convention from the filter_get_pin() callback.
strmbase: Reimplement BaseFilterImpl_Release() using a destructor callback.
quartz/filesource: Use BaseFilterImpl_Release().
setupapi/tests: Clean up and expand tests for SetupCopyOEMInf().
setupapi: Check all INF files in SetupCopyOEMInf().
setupapi: Always fill output parameters in SetupCopyOEMInfA().
setupapi: Fix error handling in SetupInstallServicesFromInfSection().
Zhiyi Zhang (7):
gdi32/tests: Add D3DKMTOpenAdapterFromGdiDisplayName tests.
gdi32/tests: Add D3DKMTOpenAdapterFromHdc tests.
gdi32/tests: Add D3DKMTCloseAdapter tests.
gdi32/tests: Add D3DKMTCreateDevice tests.
gdi32/tests: Add D3DKMTDestroyDevice tests.
gdi32/tests: Add D3DKMTCheckVidPnExclusiveOwnership tests.
gdi32/tests: Add D3DKMTSetVidPnSourceOwner tests.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine maintenance release 4.0.1 is now available.
What's new in this release (see below for details):
- Various bug fixes
- Sinhala and Tamil translation updates
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.0/wine-4.0.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.0/wine-4.0.1.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://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 4.0.1 (total 44):
8226 DlgDirListComboBox does not fail properly on bad path spec argument
23863 The Bard's Tale (2005): unplayable due to almost completely black screen
26653 Multiple VB6 applications need oleaut32 VarRound to support VT_DECIMAL
28140 Theatre of War 3: Korea demo 1.2.0 crashes on startup (hook engine can't cope with GOT/PIC register load code at API entry, needs DECLSPEC_HOTPATCH for kernel32.SizeofResource and kernel32.FindClose)
31954 Second Sight hangs with a black screen after the intro videos
33456 D3DXMatrixTransformation: Broken calculation when scalingrotation and scaling is used
35516 Microworlds EX hangs when clicking toolbar button
37705 Heroes of Might and Magic VI Shades of Darkness Textures Fail to Display in Most Campaign Maps
38138 Avencast: Rise of the Mage: invisible doors
38558 cmd.exe bundled with Windows XP messed up when using FOR /F
39663 GOG Galaxy client 1.x hangs or reports 'Something went wrong during DeelevateStrategy' error in Win7 mode (GOG Galaxy service needs wtsapi32.WTSQueryUserToken implementation)
39890 Orcish Inn fails to start with exception System.NotImplementedException
40441 Chicken tournament crashes when loading texture
44300 Windows Media Player 7.1 fails to play media due to unimplemented function wmvcore.dll.WMCheckURLExtension
44469 Multiple apps using Windows 10 v1507+ UCRT crash due to multiple missing api-ms-win-crt-private-l1-1-0.dll._o__xxx stubs/forwards (Win10 DISM pkgmgr.exe, MS DirectX Shader Compiler)
45326 Multiple 64-bit kernel drivers crash on unimplemented function ntoskrnl.exe.__C_specific_handler (NoxPlayer 6.x, MTA:SA 1.5.x)
45473 Rogue Squadron 3D crashes on startup
45631 League of Legends client crashes when joining a lobby with other players
45632 Garena client v2.0.x crashes on startup ('ntdll.NtQueryVirtualMemory' needs to validate 'MemoryInformationLength' before writing to buffer)
46127 aria2 1.34 fails to connect, reports 'WinTLS: Channel setup failed. Schannel provider did not fulfill requested flags. Excepted: 33180 Actual: 33052'
46298 Middle-earth: Shadow of War (steam appid 356190) crashes on launch
46300 Yousician: unimplemented function mfplat.dll.MFGetSystemTime
46303 Warcraft 3: Reign of Chaos (Czech language) can't be installed from CD
46318 vbscript doesn't parse if identifier is also keyword token
46319 32-bit IL-only executable launched as 32-bit subprocess on Wine and 64-bit subprocess on Windows
46387 ReactOS/Windows XP TASKMGR: Column headers don't scroll when scrolling horizontally (multiple listview or header control)
46442 FormatCurrency(9) returns .9.00 (period in front)
46465 Visual Studio 2015 crashes on unimplemented function msvcp140.dll._Equivalent
46481 strftime has a buffer overflow
46482 Gas Guzzlers Combat Carnage crashes when changing screen resolution
46485 PBM_STEPIT crashes with division by zero when MinVal == MaxVal == 0
46493 Functions ilogb* are not implemented
46494 64bit WinMerge crash after clicking "About WinMerge"
46499 Multiple games crash in GetRawInputData when exiting(House Party, Murderous Pursuits, ICEY)
46520 Kindred Spirits on the Roof crashes
46536 Empire Earth (GOG version) main menu rendering is broken
46569 ToDoList 7.1 : fails to launch after WINE upgrade to 4.0 version
46581 HeidiSQL generates OLE error when executing custom queries against MSSQL server.
46583 LINE latest version doesn't work
46678 Width of latin characters is wrong with some fonts.
46691 comctl32/tests/propsheet.c shows uninitalized memory use
46708 Photoline crashed right after start, no problem with wine 3.0.4
46729 Wine directx not detecting Intel HD Graphics 620 (Rev 02) chipset
46907 msi crashes in RemoveFiles action for a broken msi
----------------------------------------------------------------
Changes since 4.0:
Alexandre Julliard (2):
server: Report a 64-bit CPU for IL-only binaries.
dinput: Add error check to silence a compiler warning.
Alistair Leslie-Hughes (4):
dsound: IDirectSoundNotify is only available when DSBCAPS_CTRLPOSITIONNOTIFY is specified.
mfplat: Implement MFGetSystemTime.
oleaut32: Correctly get the Currency separator in VarFormatCurrency.
oleaut32: Support VT_DECIMAL in VarRound.
Andrew Eikum (1):
winhttp: Don't crash setting up secure proxy.
Brendan McGrath (2):
vbscript: Allow more keywords to be used as identifiers.
vbscript: Allow most keywords to be used as 'dot' identifiers.
David Adam (2):
ddraw/tests: Add tests for the "dwMipMapCount" field of texture sub-levels.
ddraw: Fix the "dwMipMapCount" field of texture sub-levels.
Dmitry Timoshkov (2):
windowscodecs: Implement IWICPalette::InitializeFromBitmap.
wpcap: Fix compilation with recent pcap/pcap.h versions.
Fabian Maurer (2):
api-ms-win-crt-private-l1-1-0: Update to 10.0.17134.12 (WinBuild.160101.0800).
ucrtbase: Forward a few functions for dxil.dll and pkgmgr.exe.
Gabriel Ivăncescu (1):
libport: Handle partially overlapping buffers.
Gijs Vermeulen (3):
msvcp140: Export _Equivalent and port tests.
ntdll: Validate len in NtQueryVirtualMemory.
kernel32: Add DECLSPEC_HOTPATCH to SizeofResource().
Hans Leidekker (3):
secur32: Return ISC_RET_USED_SUPPLIED_CREDS for schannel contexts if the feature was requested.
mscms: Add a partial implementation of WcsOpenColorProfileA/W.
msi: Avoid a crash in RemoveFiles if the component directory is invalid.
Isira Seneviratne (10):
po: Update Sinhala translation.
po: Update Sinhala translation.
po: Update Sinhala translation.
po: Add Tamil translation.
po: Update Tamil translation.
po: Update Tamil translation.
kernel32: Add the Sinhala NLS file.
kernel32: Fix LOCALE_SSCRIPTS value for Sinhala.
kernel32/nls: Fix some values in Sinhala NLS file.
kernel32/nls: Change Sinhala sublang identifier to SUBLANG_SINHALESE_SRI_LANKA.
Jacek Caban (1):
ntoskrnl.exe: Add __C_specific_handler entry.
Józef Kucia (3):
ddraw: Pass correct box when mapping system memory vertex buffers.
d3d9: Validate surface parameter in d3d9_device_ColorFill().
wined3d: Add GPU information for Intel HD Graphics 620.
Ken Thomases (1):
loader: On Mac, move the top-down allocations area down to avoid regions reserved by the system.
Mark Jansen (1):
msi: Do not leak rootkey.
Matteo Bruni (3):
d3dx9: Improve D3DXMatrixTransformation() implementation.
d3dx9: Improve D3DXMatrixTransformation2D().
d3dx9/tests: Avoid some 64-bit test failures.
Michael Stefaniuc (1):
tools: Get the ANNOUNCE bug list from the stable-notes git notes.
Nikolay Sivov (9):
api-ms-win-core-libraryloader-l1-2-1: Add missing FindResourceW() forward.
comctl32/progress: Handle min == max case in PBM_STEPIT.
user32/dialog: Fix setting negative dialog item ids.
d3d11: Implement d3d11_device_GetImmediateContext1().
comctl32/listview: Take care of scrolling offset when repositioning header.
comctl32/propsheet: Avoid posting uninitialized data (Valgrind).
comctl32/toolbar: Send BN_CLICKED for button that was pressed, not released.
usp10: Use single path for all fonts in ScriptGetCMap().
ucrtbase: Add ilogb* functions.
Paul Gofman (8):
wined3d: Use lower 8 bits only from _ALPHAREF state.
wined3d: Return 1e10f for MaxVertexW from wined3d_get_device_caps().
wined3d: Only use the LSB of the _SAMP_SRGB_TEXTURE state value.
kernel32/tests: Add test for overlapped file read.
ntdll/tests: Add more tests for overlapped file read.
ntdll: Return STATUS_PENDING from NtReadFile() for async read in case of no buffering.
kernel32: Add DECLSPEC_HOTPATCH to FindClose().
user32: Select more appropriate stretch mode for colored images interpolation.
Piotr Caban (4):
msvcrt: Optimize tolower function when locale was never changed.
msvcrt: Optimize toupper function when locale was never changed.
msvcp140: Don't forward __ExceptionPtrCreate to msvcr120.
msvcrt: Fix buffer overflow in _get_tzname.
Sebastian Lackner (1):
wtsapi32: Improve WTSQueryUserToken stub.
Sveinar Søpler (1):
wined3d: Add GPU information for the NVIDIA RTX series.
Sven Baars (14):
windowscodecs: Fix a memory leak (Valgrind).
gdiplus: Fix a memory leak on error path (Valgrind).
wsdapi: Fix some memory leaks (Valgrind).
strmbase: Fix some memory leaks (Valgrind).
ole32: Fix some memory leaks (Valgrind).
mstask: Fix some memory leaks on error path (Valgrind).
mstask: Move memory allocation to avoid a memory leak (Valgrind).
taskschd: Fix some memory leaks (Valgrind).
dinput: Free the device after a callback (Valgrind).
riched20: Fix IRichEditOle COM aggregation (Valgrind).
ws2_32: Use heap_realloc instead of HeapReAlloc to avoid an invalid realloc (Valgrind).
windowscodecs: Add missing source_bpp initialization (Valgrind).
setupapi: Add a missing return statement (Coverity).
dsound: Add missing SetEventHandle error handling (Coverity).
Vijay Kiran Kamuju (2):
user32: Add DlgDirList wildcard checks.
wmvcore: Add stub for WMCheckURlExtension.
Zebediah Figura (5):
comsvcs/tests: Add tests for implicit MTA creation in RegisterDispenser().
comsvcs: Create an implicit MTA thread in RegisterDispenser().
msvcr120: Add nexttoward implementation.
hid: Handle overlapped file handles.
ntdll: Avoid crashing while tracing parameters to NtCreateNamedPipeFile().
Zhiyi Zhang (5):
msacm32: Reference count local drivers.
user32: Check for null handle in GetRawInputData().
kernel32: Add DECLSPEC_HOTPATCH to VirtualAllocEx().
d3d8: Fix building on Mac.
user32: Fix a memory leak.
--
Michael Stefaniuc
mstefani(a)winehq.org
The Wine development release 4.8 is now available.
What's new in this release (see below for details):
- Support building most programs in PE format.
- Unicode data updated to Unicode 12.0.
- Support for MSI patch files.
- Default to non-PIC builds on i386.
- Joystick support improvements.
- Asturian locale.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.8.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.8.tar.xz
Binary packages for various distributions will be available from:
https://www.winehq.org/download
You will find documentation on https://www.winehq.org/documentation
You can also get the current source directly from the git
repository. Check https://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 4.8 (total 38):
12332 Microsoft Windows Server 2003 DDK SP1 installer crashes ('setupapi.SetupCloseFileQueue' should do proper handle validation before accessing members)
14695 Lifeforce demo misses codecs (msvideo1 needs to support 24 bpp output)
28196 Test Drive Unlimited: Water is always rendered on top of everything.
28254 Multiple kernel drivers crash during load/relocation (relocation entry crosses page boundary)(PMP Exam Version 7 CrypKey, Age of Wushu SDProtect DRM, StarForce v3)
29460 Multiple kernel drivers crash in entry due to ntoskrnl.exe IoGetCurrentProcess() being a stub (Ruijie Supplicant Su1xDriver.sys, nProtect GameGuard/Tachyon Kernel Control Driver)
31101 ScoobyRom v0.6.x-0.8.x (.NET 4.0 app) fails to start with Wine-Mono
31350 Multiple .NET 3.x WPF applications crash in Vista/Win7 mode due to dwmapi.DwmGetTransportAttributes stub returning E_NOTIMPL (T-Online Mediencenter Assistent, Valil.Chess, Zwift 1.0)
34372 Multiple applications need AllocateAndGetTcpExTableFromStack (cross compiled dbus, spamMonitor)
37359 planetside 2 no mouseclicks registered
37540 Multiple games and applications wrapped with Enigma v4 and GG DRM schemes crash on startup (incompatible with use of position independent code (PIC) in Wine dlls)
38423 Python 3.5.x exe installer fails with Access denied error
39614 Wine initialises a Critical Section for Mutexes by NULL instead of (void*)-1
42420 MidiIllustrator Virtuoso 3 crashes when using any File open dialog
44850 Microsoft Skype 8.x crashes on unimplemented function iphlpapi.dll.GetBestRoute2
45155 OpenGL Window Z order in Truespace
45213 Multiple applications using Microsoft Detours library crash on startup after compiling Wine with GCC 8.x+ and -O2 (GOT/PIC code emitted at Win32 API entries)(Microsoft Visual Studio 201x, Visual Assist plugin)
45757 Visual Studio 2017 Installer - "The installer manifest failed signature validation"
45765 Universe Sandbox 2 unimplemented function USER32.dll.GetPointerType
45947 Native Access crashes on unimplemented function virtdisk.dll.OpenVirtualDisk
46861 TopoEdit crashes with unimplemented function mf.dll.MFEnumDeviceSources
46905 Multiple eventlog monitor applications go haywire (endless console spam, live-loop CPU) due to advapi32.ReadEventLogA/W returning lasterror ERROR_CALL_NOT_IMPLEMENTED
46989 Grand Prix Legends: Wheel (Wheel, Gas, Brake) axes inputs aren't recognized
46993 ntoskrnl.exe tests don't compile when using -O0
47016 MS Office 365 installer needs mfplay.dll.MFPCreateMediaPlayer
47023 Warframe in-game screenshot fails if screenshot directory already exists
47027 Wine built with GCC 8.x+ and -O2 causes apps and games using madCodeHook/madExcept 3.x/4.x to crash (hook engine can't cope with GOT/ PIC code emitted within 15-byte range at Win32 API entries)(EA Origin, HeidiSQL 10.x)
47032 valgrind shows uninitialized read in writev from call_req_handler
47082 NI System Web Server crashes on unimplemented function authz.dll.AuthzFreeResourceManager
47096 World of Warships 0.8.3.x client (DirectX 11) crashes when post-battle results screen is about to be displayed
47097 Wine built with GCC 8.x+ and -O2 causes Steam games using In-Game Overlay 'gameoverlayrenderer.dll' to crash (hook engine can't cope with GOT/PIC code emitted at Win32 API entries)
47107 Windows XP DDK installer fails to copy any files
47122 Star Citizen stopped working on commit 32d7838da73dd9bc3ee999d73a310da7adfb27dd
47123 Starcitizen - joystick not recognized
47129 Rendering glitch in Caste Siege/Ballerburg (invalid vertex count in IDirect3DDevice3::DrawIndexedPrimitiveVB)
47131 Esportal client 1.0 (CS:GO anti-cheat) fails to start, reporting 'The procedure entry point InitiateShutdownW could not be located in the dynamic link library ADVAPI32.dll'
47138 Microsoft .NET Framework 2.x installer fails ('RegSvcs.exe' bootstrapper needs unicode casing tables, 'l_intl.nls' no longer installed in WINEPREFIX)
47142 Esportal client 1.0 (CS:GO anti-cheat) fails to start, reporting 'The procedure entry point NdrServerCallAll could not be located in the dynamic link library RPCRT4.dll'
47145 Esportal client 1.0 (CS:GO anti-cheat) fails to start, reporting 'The procedure entry point K32GetWsChangesEx could not be located in the dynamic link library KERNEL32.dll'
----------------------------------------------------------------
Changes since 4.7:
Alexandre Julliard (85):
attrib: Build with msvcrt.
cabarc: Build with msvcrt.
clock: Build with msvcrt.
control: Build with msvcrt.
dxdiag: Build with msvcrt.
eject: Build with msvcrt.
expand: Build with msvcrt.
extrac32: Build with msvcrt.
hh: Build with msvcrt.
hostname: Build with msvcrt.
icinfo: Build with msvcrt.
iexplore: Build with msvcrt.
ipconfig: Build with msvcrt.
msidb: Build with msvcrt.
msiexec: Build with msvcrt.
net: Build with msvcrt.
netstat: Build with msvcrt.
oleview: Build with msvcrt.
progman: Build with msvcrt.
regsvr32: Build with msvcrt.
ntdll: Check for time conversion error to silence a compiler warning.
makefiles: Also pass -fPIC flag when linking.
rpcss: Build with msvcrt.
rundll32: Build with msvcrt.
sc: Build with msvcrt.
schtasks: Build with msvcrt.
services: Build with msvcrt.
start: Build with msvcrt.
svchost: Build with msvcrt.
taskkill: Build with msvcrt.
uninstaller: Build with msvcrt.
view: Build with msvcrt.
makefiles: Don't use custom LDFLAGS to link dlls.
configure: Disable stdcall fixups for PE builds.
include: Add DECLSPEC_IMPORT on OpenGL functions when not building opengl32.
crypt32: Fix comparison of domain name components.
winedevice: Build with msvcrt.
winemine: Build with msvcrt.
winemsibuilder: Build with msvcrt.
winetest: Build with msvcrt.
winhlp32: Build with msvcrt.
wmic: Build with msvcrt.
write: Build with msvcrt.
wscript: Build with msvcrt.
ping: Avoid using getopt().
ping: Build with msvcrt.
winefile: Get rid of the Unix filesystem support.
winefile: Build with msvcrt.
include: Use DECLSPEC_HIDDEN instead of DECLSPEC_IMPORT for dll exports.
include: Move DECLSPEC_HOTPATCH definition out of config.h.
makefiles: Support delay imports for PE builds.
makefiles: Use a separate LDFLAGS variable for cross-compilation.
makefiles: Only cross-compile the import libraries that are actually used.
makefiles: Only cross-compile the static libraries that are actually used.
dxerr8: Don't use snprintf().
dxerr9: Don't use snprintf().
strmbase: Avoid using wine/unicode.h.
cmd: Build with msvcrt.
explorer: Move screen saver activation to the X11 driver.
explorer: Build with msvcrt.
cmd: Explicitly mark qsort() callback funtions cdecl.
services: Explicitly mark a qsort() callback funtion cdecl.
uninstaller: Explicitly mark a qsort() callback funtion cdecl.
winefile: Explicitly mark qsort() callback funtions cdecl.
winhttp/tests: Get a test file from the WineHQ tests subdirectory.
include/msvcrt: Add inttypes.h header.
advapi32: Use strncmpiW instead of memicmpW for strings without embedded nulls.
atl: Use strncmpiW instead of memicmpW for strings without embedded nulls.
fusion: Use strncmpiW instead of memicmpW for strings without embedded nulls.
kernel32: Use strncmpiW instead of memicmpW for strings without embedded nulls.
kernelbase: Use strncmpiW instead of memicmpW for strings without embedded nulls.
mountmgr.sys: Use strncmpiW instead of memicmpW for strings without embedded nulls.
mshtml: Use strncmpiW instead of memicmpW for strings without embedded nulls.
msi: Use strncmpiW instead of memicmpW for strings without embedded nulls.
kernel32: Reset stdio file descriptors when passed invalid handles.
ntdll: Reset stdio file descriptors when passed invalid handles.
netapi32: Use strncmpiW instead of memicmpW for strings without embedded nulls.
ntdll: Use strncmpiW instead of memicmpW for strings without embedded nulls.
pdh: Use strncmpiW instead of memicmpW for strings without embedded nulls.
qmgr: Use strncmpiW instead of memicmpW for strings without embedded nulls.
shlwapi: Use strncmpiW instead of memicmpW for strings without embedded nulls.
urlmon: Use strncmpiW instead of memicmpW for strings without embedded nulls.
userenv: Use strncmpiW instead of memicmpW for strings without embedded nulls.
wbemprox: Use strncmpiW instead of memicmpW for strings without embedded nulls.
webservices: Use strncmpiW instead of memicmpW for strings without embedded nulls.
Alistair Leslie-Hughes (12):
wintab32/tests: Improve WTInfoA tests.
authz: Add AuthzFreeResourceManager stub.
dinput: Don't return unsupported interfaces.
dinput: Return E_NOINTERFACE from IDirectInputDevice2 QueryInterface.
dinput: Don't report that we cannot open a device.
dinput: Improve EnumDevice tracing.
dinput: Support DIDEVICEINSTANCE_DX3 for Mouse GetDeviceInfo.
dinput: Use a helper function to get device type.
dinput: Trace This pointer in a consistent way.
dinput: Ensure Cursor is visible on config dialog.
mspatcha/tests: Fix compile error on older compilers.
mspatcha/tests: Make functions static.
Andrew Eikum (11):
winebus.sys: Fix some report descriptors.
winebus.sys: Fix udev report descriptor length.
winebus.sys: Remove some magic numbers.
winebus.sys: Fix ball value reporting.
hid: Shift usage values to LSB.
dinput: Use heuristics to guess if a device is a gamepad or a joystick.
winebus.sys: Order axes before buttons.
winebus.sys: Report hatswitch values correctly.
winebus.sys: Report SDL controller dpad as hatswitch.
winebus.sys: Report SDL controller buttons in the right order.
winebus.sys: Pack hatswitch values into button bytes.
Aric Stewart (2):
winemac.drv: Set done if macdrv_process_text_input is not processing input.
winemac.drv: Allow mac IME to clear text in system input method.
Austin English (2):
iphlpapi: Add GetBestRoute2 stub.
advapi32: In ReadEventLogA/W, return ERROR_HANDLE_EOF instead of ERROR_CALL_NOT_IMPLEMENTED.
Bryon Roche (1):
windowscodecs: Byte swap png read/write for 16-bpp data.
Conor McCarthy (4):
mspatcha: Add functions to API header file.
mspatcha: Partially implement ApplyPatchToFileW and related functions.
mspatcha/tests: Test implementations of ApplyPatchToFileW and related functions.
mspatcha: Add stubs for signature and normalization functions.
Damjan Jovanovic (1):
qcap/vfwcapture: Implement IPin::CheckMediaType().
Derek Lesho (2):
ntoskrnl.exe: Export and set PsInitialSystemProcess.
ntoskrnl.exe: Implement PsIsSystemThread.
Dmitry Timoshkov (2):
crypt32: CryptMsgUpdate should skip broken certificates.
mshtml: Implement HTMLStyleSheetRulesCollection::item.
Enol Puente (4):
wrc: Add Asturian locale.
wmc: Support Asturian.
kernel32: Add Asturian locale.
po: Add Asturian translation.
Erich Hoover (2):
iphlpapi: Implement AllocateAndGetTcpExTableFromStack.
kernel32: Add SearchPath test demonstrating the priority of the working directory.
François Gouget (4):
ntoskrnl.exe: Make run_work_item_worker() static.
user32: Make WIN_SetOwner() static.
kernel32/tests: Use ok_() so the TestBot can correctly detect the line.
jscript: Make the Enumerator_props functions static.
Henri Verbeet (37):
wined3d: Introduce a debug helper for Vulkan return values.
wined3d: Use shader_glsl_append_imm_vec4() in shader_glsl_get_register_name().
wined3d: Get rid of the redundant "device" parameter to context_destroy().
wined3d: Introduce a separate structure for OpenGL context information.
wined3d: Introduce wined3d_context_init().
wined3d: Simplify wined3d_context_destroy().
wined3d: Rename context_destroy_gl_resources() to wined3d_context_cleanup().
wined3d: Free the "texture_type" array in wined3d_context_cleanup().
wined3d: Introduce wined3d_context_gl_destroy().
wined3d: Free shader backend and fragment pipe context data in device_context_remove().
wined3d: Allocate shader backend and fragment pipe context data in device_context_add().
wined3d: Get rid of the "target" parameter to context_create().
wined3d: Get rid of the "target" parameter to wined3d_context_init().
wined3d: Get rid of the "target" parameter to wined3d_adapter_gl_create_context().
wined3d: Get rid of context_validate_onscreen_formats().
winex11: Only handle errors from GLX requests in GLXErrorHandler().
wined3d: Query Vulkan GPU memory.
wined3d: Get rid of a redundant initialisation in wined3d_device_set_implicit_swapchain().
wined3d: Share more swapchain setup with the "no3d" adapter in wined3d_device_set_implicit_swapchain().
wined3d: Determine the ORM_BACKBUFFER depth/stencil format in wined3d_adapter_gl_create_context().
wined3d: Make the adapter responsible for context destruction and allocation.
wined3d: Pass a wined3d_context_gl structure to context_bind_texture().
wined3d: Move the "texture_type" field from struct wined3d_context to struct wined3d_context_gl.
wined3d: Move the "dummy_arbfp_prog" field from struct wined3d_context to struct wined3d_context_gl.
wined3d: Store the glEnableWINE and glDisableWINE pointers in the wined3d_gl_info structure.
wined3d: Move the extension emulation fields from struct wined3d_context to struct wined3d_context_gl.
wined3d: Pass a wined3d_context_gl structure to context_load_tex_coords().
wined3d: Pass a wined3d_context_gl structure to context_get_tex_unit_mapping().
wined3d: Pass a wined3d_context_gl structure to context_bind_shader_resources().
wined3d: Pass a wined3d_context_gl structure to context_apply_blit_state().
wined3d: Pass a wined3d_context_gl structure to context_apply_ffp_blit_state().
wined3d: Pass a wined3d_context_gl structure to wined3d_texture_gl_bind_and_dirtify().
wined3d: Pass a wined3d_context_gl structure to context_map_stage().
wined3d: Pass a wined3d_context_gl structure to context_map_fixed_function_samplers().
wined3d: Pass a wined3d_context_gl structure to context_map_psamplers().
wined3d: Pass a wined3d_context_gl structure to context_map_vsamplers().
wined3d: Pass a wined3d_context_gl structure to context_unit_free_for_vs().
Jacek Caban (26):
ntoskrnl.exe: Implement IoGetCurrentProcess.
ntoskrnl.exe: Implement PsGetProcessId.
ntoskrnl.exe: Implement PsGetThreadId.
ntoskrnl.exe: Implement ObOpenObjectByPointer.
ntoskrnl.exe: Use ObOpenObjectByPointer to get handle for kernel object.
ntoskrnl.exe: Support SL_INVOKE_ON_CANCEL in IoCompleteRequest.
ntoskrnl.exe: Support NULL offset in IoBuildSynchronousFsdRequest.
ntoskrnl.exe: Use ObGetObjectType in kernel_object_from_handle.
ntoskrnl.exe: Implement IoAllocateWorkItem and IoFreeWorkItem.
ntoskrnl.exe: Implement IoQueueWorkItem.
ntoskrnl.exe: Add work item tests.
ntoskrnl.exe: Implement IoBuildAsynchronousFsdRequest.
ntoskrnl.exe/tests: Add IoCallDriver tests.
ntoskrnl.exe: Implement IoCancelIrp.
ntoskrnl.exe/tests: Add CancelIo tests.
ntoskrnl.exe: Set IRP DeviceObject in IoCallDriver.
ntoskrnl.exe: Support UserEvent in IoCompleteRequest.
server: Pass IRP output size in irp_params_t.
server: Don't use IRP_MJ_* constants for ntoskrnl.exe communication.
server: Store currently executed IRP call on server side.
server: Pass file object handle in IRP_CALL_CREATE request.
ntoskrnl.exe: Associate file object with server object before calling IRP routine.
ntoskrnl.exe: Don't keep reference to driver created file objects on client side.
ntoskrnl.exe/tests: Add more overlapped tests.
hidclass.sys: Make read IRP queue thread safe.
hidclass.sys: Support canceling read IRPs.
Jactry Zeng (2):
kernel32/tests: Avoid a crash on WinXP and Win2K.
d3dcompiler: Implement D3DReadFileToBlob().
Jefferson Carpenter (1):
server: Add __pad member to pe_image_info_t and zero it.
Julian Rüger (1):
po: Update German translation.
Józef Kucia (20):
wined3d: Implement GPU description registry override for Vulkan adapter.
wined3d: Factor out wined3d_copy_name().
wined3d: Make wined3d_gpu_description from Vulkan physical device properties.
wined3d: Assign *device in adapter_vk_create_device().
dxgi: Avoid magic constants.
d3d11: Set more format support flags.
dxgi: Factor out d3d12_swapchain_record_swapchain_blit().
dxgi: Make Vulkan swapchain image count independent of DXGI buffer count.
dxgi: Add some asserts for Vulkan swapchains.
dxgi: Acquire Vulkan image just before present when we have user images.
d3d11: Implement ID3D11Multithread.
d3d11/tests: Add test for creating deferred contexts.
d3d11/tests: Add test for ID3D11Multithread.
d3d10core/tests: Add test for ID3D11Multithread.
wined3d: Query Vulkan shared system memory.
wined3d: Store texture swizzle capability in struct wined3d_d3d_info.
d3d11: Report format support more accurately based on feature level.
wined3d: Make the adapter responsible for initialising and de-initialising 3D.
wined3d: Propagate HRESULTs in context creation functions.
wined3d: Fix wined3d_get_wine_vk_version().
Louis Lenders (5):
user32: Added GetPointerType stub.
dwmapi: Return DWM_E_COMPOSITIONDISABLED instead of E_NOTIMPL in DwmGetTransportAttributes.
advapi32: Add InitiateShutdown{A,W} stub.
rpcrt4: Add NdrServerCallAll stub.
kernel32: Add K32GetWsChangesEx stub.
Martin Storsjo (2):
avicap32: Fix compilation with older videodev2.h.
qcap: Fix compilation with older videodev2.h.
Michael Müller (3):
version: Correctly return VFF_CURNEDEST in VerFindFileA.
include: Add dxva.h header file.
avifil32: Correctly handle compressed frames when desired format is specified.
Michael Stefaniuc (7):
ntdll/tests: Avoid the comma operator.
ntoskrnl.exe: Correctly initialize two CRITICAL_SECTION_DEBUGs.
wintrust: Use the ARRAY_SIZE() macro.
mscoree: Remove a redundant NULL check before heap_free().
riched32/tests: Test the correct return value.
mfplat/tests: Remove a duplicated ok() check.
rpcrt4: Use CONTAINING_RECORD instead of an extra macro.
Nikolay Sivov (32):
tools: Update to Unicode 12.0.
mfplat: Improve thread safety for IStream-based stream.
mfplat: Improve method traces.
mfreadwrite: Return sample timestamp from ReadSample().
mf: Add stub scheme handler for local file urls.
ntdll: Account for null terminating char in unload traces (Coverity).
mfreadwrite: Wake waiting threads on stream states changes.
ntdll: Initialize critical section debug info with correct pointer value.
mfplat: Copy attributes when cloning presentation descriptor.
mfplat: Add more attribute guids.
mf: Add MFEnumDeviceSources() stub.
dbgeng/tests: Fix event handle leak (Coverity).
mfplat: Implement async file stream creation API.
mf: Register file: scheme handler.
mfplat: Use file url scheme as a fallback.
mfplat/tests: Add some tests for calling scheme handler directly.
mf: Implement file scheme handler.
wmvcore: Return success from OpenStream().
mf: Add a stub for sample grabber activation object.
mfplat: Add topology attributes guids.
mf: Implement SetObject()/GetObject() for topology node.
mfplat: Improve SetGUID() traces.
mfplat: Implement Read() for file-based stream.
mfplat: Implement IsEndOfStream() for file stream.
mfplat: Write attribute store when registering MFT.
mfplat: Write flags when registering MFT.
mf: Set preferred media types for nodes.
mf: Implement CloneFrom() for nodes.
mf: Implement node connections.
mf: Rework node collection implementation.
mf: Disconnect removed nodes.
mf: Add IMFGetService stub for media session.
Paul Gofman (3):
wined3d: Check if destination texture is FBO attachable in glsl_blitter_supported().
ddraw: Fix vertex count in d3d_device3_DrawIndexedPrimitiveVB().
wined3d: Apply stencil mask to stencil reference value.
Piotr Caban (9):
winebus.sys: Add more traces on hidraw communication errors.
hid: Add HidP_SetUsages implementation.
hid: Add support for ranges in find_value.
hid: Only set first usage in an array in HidP_SetUsageValue.
hidclass.sys: Set LinkCollection field in build_elements function.
hidclass.sys: Set LinkUsagePage field in build_elements function.
hidclass.sys: Set LinkUsage field in build_elements function.
hidclass.sys: Treat all one-bit fields as buttons.
hidclass.sys: Fill some reserved fields when building HIDP_{BUTTON,VALUE}_CAPS.
Qian Hong (1):
server: Create primary group using DOMAIN_GROUP_RID_USERS.
Rafał Harabień (1):
ntoskrnl.exe: Fix handling relocations on page boundary.
Tim Schumacher (2):
winejoystick: Add support for wheel axes.
dinput: Map wheel, gas, and brake axes as well.
Vijay Kiran Kamuju (4):
virtdisk: Add stub and tests for OpenVirtualDisk.
include: Add missing defines, enums and functions for dwmapi.h.
wpcap: Fix compile warnings for redefinition of PCAP_OPENFLAG_PROMISCUOUS.
include: Add missing navigation and gamepad key definitions in winuser.rh.
Vincent Povirk (2):
mscoree: Accept old framework build in exe metadata.
windowscodecs: Treat 16-bit channels as little endian.
Zebediah Figura (30):
quartz: Convert media type registration to IRegistrar mechanism.
quartz: Avoid importing shlwapi.
evr/tests: Rewrite test_evr_filter_aggregation().
evr/tests: Add tests for filter interfaces.
winegcc: Add support for -fno-PIC.
makefiles: Build with -fno-PIC on i386.
setupapi: Extract individual files from cabinets.
setupapi/tests: Avoid assert().
setupapi/tests: Add some tests for SetupInstallFilesFromInfSection().
setupapi: Avoid passing a NULL source root path to SetupQueueDefaultCopy() and SetupQueueCopySection().
setupapi: Fill out all source file parameters in SetupQueueCopySection().
setupapi: Fill out all source file parameters in SetupQueueDefaultCopy().
setupapi: Implement SetupQueueCopyIndirectA() on top of the W variant.
setupapi: Remove implementation for LayoutInf parameter of SP_FILE_COPY_PARAMS.
setupapi: Separate the entire copy operation into a helper function.
setupapi: Keep track of source media in a separate list.
setupapi: Implement SetupDefaultQueueCallback(SPFILENOTIFY_NEEDMEDIA).
setupapi: Implement W -> A mapping of SPFILENOTIFY_NEEDMEDIA.
setupapi: Properly null-terminate the path in concat_W().
setupapi: Use the source file name if the destination file name is NULL.
setupapi: Implement source media path resolution.
setupapi/tests: Add tests for source media path resolution.
setupapi: Add magic bytes to struct file_queue and validate them in SetupCloseFileQueue().
ntoskrnl.exe/tests: Use coarser waits for timer tests.
ntoskrnl.exe/tests: Avoid linking directly to CancelIoEx().
msi: Remove registration for no longer used WineMsiRemoteCustomAction coclass.
setupapi: Avoid passing a NULL source filename to SetupQueueDefaultCopy().
strmbase: Move some internal definitions to strmbase_private.h.
strmbase: Move "AttemptConnection" to the base source pin function table.
strmbase: Get rid of the "pfnGetMediaTypeVersion" callback.
Zhiyi Zhang (1):
include: Add more kernel mode graphics driver definitions.
--
Alexandre Julliard
julliard(a)winehq.org