The Wine development release 4.2 is now available.
What's new in this release (see below for details):
- Unicode string normalization support.
- Support for ECC cryptographic keys.
- Support for mixing 32/64-bit dlls in the load path.
- Futex-based implementations for more synchronization primitives.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.2.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.2.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.2 (total 60):
12453 Bad performance in Source based games
17913 Port Royale: sea is black
19748 Multiple games complain about checking occlusion query results from the wrong thread (Metro 2033, Unreal Tournament 3, Counter Strike: Source, Metro 2033, Call of Duty 4, Left 4 Dead, Left 4 Dead 2, Final Fantasy XIV, Half-Life 2)
20083 SIV (System Information Viewer) v4.00 SIVDRIVER crashes to due invalid PIO_STACK_LOCATION->FileObject passed into IRP_MJ_DEVICE_CONTROL dispatch routine
21101 Can't use SHIFT key with onboard visual keyboard and wine application
23863 The Bard's Tale (2005): unplayable due to almost completely black screen
28167 EA Sports FIFA 11 crashes on startup
35096 Kerning misbehavior for Hebrew text in Office 2010
35889 wine1.6 display fuzzy chinese ttf fonts, but dialog fonts display normal
36201 valgrind shows a definite leak under crypt32/tests/store.c
36261 valgrind shows a use after free in d3d_device_inner_Release() ddraw/tests/ddraw{4,7}.c
36267 valgrind shows an invalid read in ddraw/tests/ddraw4.c
36340 valgrind shows several warnings in ddraw/tests/ddraw2.c
36343 valgrind shows some leaks in ddraw/tests/ddraw4.c
36348 valgrind shows a couple leaks in d3d9/tests/d3d9ex.c
36349 valgrind shows a few leaks in d3d9/tests/stateblock.c
36380 valgrind shows a possible leak in in ddraw/tests/ddraw1.c
36381 valgrind shows a couple possible leaks in in ddraw/tests/ddraw2.c
36382 valgrind shows a possible leak in in ddraw/tests/ddraw7.c
36620 valgrind shows a few invalid reads in ddraw/tests/ddraw1.c
36621 valgrind shows several definite leaks in ddraw/tests/ddraw1.c
36623 valgrind shows some leaks in ddraw/tests/ddraw7.c
36631 valgrind shows a definite leak in in ddraw/tests/ddraw2.c
36658 valgrind shows an invalid read in ddraw/tests/d3d.c
36660 ddraw/tests/d3d.c CapsTest crashes under valgrind
36689 ddrawex/tests/surface.c crashes under valgrind/nvidia
37639 Multiple applications crash on unimplemented function vssapi.dll.?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z (AlphaShadow v1.2, EMC Retrospect 7)
38021 64-bit Planetside 2 fails to load bundled xinput1_3.dll (loader must check architecture before trying to load module)
38138 Avencast: Rise of the Mage: invisible doors
38685 valgrind shows an invalid read in d3d9/tests/d3d9ex.c
39080 The Settlers: Rise of an Empire: world geometry broken
40036 Shadows of Destiny Crash After Begins
41168 Test Drive Unlimited Crash before entry main menu
42573 Several Flickering Senran Kagura Shinovi Versus
42704 1Password 6.4.377 needs function bcrypt.dll.BCryptDeriveKeyPBKDF2
42734 NormalizeString (Unicode normalization) is not implemented
42911 Bayonetta: launches but screen stays black
44150 Alien vs Predator: Crash in DX11 Mode
45312 AC Syndicate needs bcrypt algorythm/functions (ECDH_P256, BCryptGenerateKeyPair, BCryptFinalizeKeyPair)
45473 Rogue Squadron 3D crashes on startup
45524 Add a futex-based implementation of condition variables
45570 League of Legends 8.12+ fails to start a game (anticheat engine, incorrect implementation of LdrInitializeThunk)
45820 Symantec Eraser Control Driver 'eeCtrl64.sys' (Norton 360) crashes on unimplemented function ntoskrnl.exe.ExpInterlocked{Push,Pop}EntrySList
46047 Multiple applications want Windows 8+ futex-like operations kernelbase.dll.WaitOnAddress, kernelbase.dll.WakeByAddress{All,Single} (VLC)
46088 BETest tool from Windows 10 SDK (10.0.17763.x) crashes on unimplemented function vssapi.dll.CreateVssBackupComponentsInternal
46127 aria2 1.34 fails to connect, reports 'WinTLS: Channel setup failed. Schannel provider did not fulfill requested flags. Excepted: 33180 Actual: 33052'
46208 Elite Dangerous is unstable in wine-devel
46252 StarCitizen has bad performance
46300 Yousician: unimplemented function mfplat.dll.MFGetSystemTime
46341 kernel32/tests/pipe.c shows uninitialized memory use in test_overlapped_transport()
46387 ReactOS/Windows XP TASKMGR: Column headers don't scroll when scrolling horizontally (multiple listview or header control)
46516 AfterEffects CS16 headless renderer crashes due to missing crypt32 functions CryptHashCertificate2 and CryptImportPublicKeyInfoEx2
46565 Disney's Chicken Little displays text upside down
46581 HeidiSQL generates OLE error when executing custom queries against MSSQL server.
46602 3D Custom Girl fails to render characters
46611 Readiris 17 fails to load when d2d1 is enabled: fixme:d2d:d2d_factory_CreateGeometryGroup iface
46617 Far Cry v1.40 locks up on the loading screen
46618 Far Cry v1.40 locks up when changing screen resolution or anti-aliasing level
46631 winecfg fails to load
46644 Ichitarou crashes when creating a new document (needs msvcrt._ismbcl1)
----------------------------------------------------------------
Changes since 4.1:
Alexandre Julliard (29):
kernel32: Fix handling of NULL argument in SetDllDirectoryA().
ntdll: Don't use current directory for libraries unless explicitly specified in the search path.
setupapi/tests: Avoid sizeof in traces.
ntdll: Use an NT filename to search for loaded modules.
ntdll: Return an NT filename in find_dll_file().
ntdll: Pass an NT filename to get_load_order().
ntdll: Use NT filenames when loading dlls.
ntdll: Remove no longer used parameter from find_fileid_module().
ntdll: Pass a flag instead of a file handle to load_builtin_dll().
ntdll: Directly try to open the dll file instead of checking for existence first.
ntdll: Create the memory mapping for a dll directly at open time.
server: Add custom flag for fake dlls in PE image information.
ntdll: Use the image info to check for fake dlls.
ntdll: Skip dlls of the wrong machine type when searching through the load path.
crypt32: Don't build password_to_ascii without GnuTLS.
ntdll: Use the current platform as processorArchitecture instead of a wildcard.
ntdll: Reimplement init_user_process_params() using RtlCreateProcessParametersEx().
ntdll: Hardcode the path of the windows directory for redirects.
server: Create the windows directories at startup if necessary.
ntdll: Also create the initial process parameters with RtlCreateProcessParametersEx().
ntdll: Recreate the process parameters structure once everything has been initialized.
ntdll/tests: Add tests for initial process parameters layout.
dinput: Add error check to silence a compiler warning.
ntdll: Return the kernel process start address from __wine_kernel_init().
ntdll: Rename attach_dlls() to LdrInitializeThunk().
ntdll: Make the CPU information global.
ntdll: Store extended FPU context in NtGetContextThread().
ntdll: Store extended FPU state and debug registers in RtlRaiseException().
server: Report a 64-bit CPU for IL-only binaries.
Alistair Leslie-Hughes (12):
combase: Add DllGetActivationFactory stub.
comdlg32: Improve PRINT32 dialog.
secur32: Fix compile error on older gnutls.
include: Add more VSS_* typedefs.
include: Add VSS writer enums.
include: Convert header vswriter to an idl.
include: Add vsbackup.idl.
vssapi: Add CreateVssBackupComponentsInternal stub.
vssapi: Add ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z stub.
dsound: IDirectSoundNotify is only available when DSBCAPS_CTRLPOSITIONNOTIFY is specified.
comdlg32: Improve Printer Setup dialog.
mfplat: Implement MFGetSystemTime.
Andrey Gusev (3):
msi: Remove duplicate condition in msi_dialog_destroy().
crypt32: Remove duplicate condition in CRYPT_AsnDecodeNameValueInternal().
mscoree: Fix condition in CorDebug_Release().
Aric Stewart (2):
hidclass.sys: Prevent buffer overrun.
configure: Use SDL2_LIBS if set.
Aurimas Fišeras (1):
po: Update Lithuanian translation.
Brendan McGrath (2):
wineboot: Fix PROCESSOR_ARCHITECTURE reg value.
vbscript: Allow more keywords to be used as identifiers.
Byeong-Sik Jeon (6):
gdi32: Fix vertical rotation.
gdi32: Add a helper function to get the transform matrices.
gdi32: Add helper functions to cache the glyph metrics.
gdi32: Add helper functions to compute the glyph metrics.
gdi32: Add helper functions to get GGO glyph bitmap.
gdi32: Add a helper macro for FreeType version check.
Dmitry Timoshkov (7):
windowscodecs: WICConvertBitmapSource should ask IWICFormatConverter::Initialize to use an optimized palette.
windowscodecs: Fix behaviour of format converter for indexed formats when NULL or empty palette has been provided.
windowscodecs/tests: Add a bunch of new tests for indexed format conversions.
windowscodecs/tests: Add some tests for converting 24bppBGR to 8bppIndexed format.
crypt32: CryptAcquireCertificatePrivateKey should look up certificate in the user's store if not linked to a provider.
wineps.drv: Add stubs for escapes required by Adobe PageMaker.
wineps.drv: PostScript header should be written by StartDoc instead of StartPage.
Gabriel Ivăncescu (28):
comctl32/listbox: Check for out of bounds using the index when painting the item.
comctl32/listbox: Use a helper to expand the item array.
comctl32/listbox: Shrink the item array with resize_storage.
comctl32/listbox: Return proper value for LB_INITSTORAGE.
comctl32/tests: Add tests for LB_INITSTORAGE.
user32/listbox: Check for out of bounds using the index when painting the item.
user32/listbox: Use a helper to expand the item array.
user32/listbox: Shrink the item array with resize_storage.
user32/listbox: Return proper value for LB_INITSTORAGE.
user32/tests: Add tests for LB_INITSTORAGE.
comctl32/listbox: Resize the entire item array at once in SetCount.
comctl32/listbox: Repaint the old selected item after setting the item selection.
comctl32/listbox: Use descr->selected_item for single-selection listboxes when checking selection.
comctl32/tests: Test changing the selection styles after listbox creation.
comctl32/listbox: Use a helper to retrieve item data by index.
comctl32/listbox: Use a helper to retrieve item string by index.
comctl32/listbox: Use is_item_selected in more places.
comctl32/listbox: Use a helper to set the selected item state.
comctl32/listbox: Send LB_RESETCONTENT from RemoveItem rather than DeleteItem.
user32/listbox: Resize the entire item array at once in SetCount.
user32/listbox: Repaint the old selected item after setting the item selection.
user32/listbox: Use descr->selected_item for single-selection listboxes when checking selection.
user32/tests: Test changing the selection styles after listbox creation.
user32/listbox: Use a helper to retrieve item data by index.
user32/listbox: Use a helper to retrieve item string by index.
user32/listbox: Use is_item_selected in more places.
user32/listbox: Use a helper to set the selected item state.
user32/listbox: Send LB_RESETCONTENT from RemoveItem rather than DeleteItem.
Hans Leidekker (14):
odbc32: Improve tracing in a number of functions.
odbc32: Work around drivers that don't accept NULL name length in SQLDescribeCol.
odbc32: Improve tracing in the remaining functions.
secur32: Add support for client certificate authentication.
crypt32/tests: Show that PFXImportCertStore doesn't set CERT_KEY_PROV_INFO_PROP_ID.
secur32: Return ISC_RET_USED_SUPPLIED_CREDS for schannel contexts if the feature was requested.
secur32: Fix default return flags for schannel contexts.
wininet: Trace modifiers in hexadecimal in HttpAddRequestHeaders.
bcrypt: Implement BCryptGenerate/FinalizeKeyPair for ECDH P256.
bcrypt: Add support for importing and exporting ECC public keys.
bcrypt: Add support for importing and exporting ECC private keys.
bcrypt: Implement BCryptDeriveKeyPBKDF2.
msi: Initialize assembly caches before disabling redirection.
msi: Link directly to sxs.
Henri Verbeet (1):
d3d8: Improve ValidateVertexShader().
Huw D. M. Davies (7):
kernel32/tests: Move the tests to a per-test todo.
kernel32: Initial support for canonical decomposition in NormalizeString().
kernel32: Implement canonical reordering.
libport: Add support for compatibility decomposition.
libport: Add support for singleton decomposition.
kernel32: Implement canonical composing.
user32/listbox: Remove some unnecessary differences to the comctl32 version.
Isira Seneviratne (4):
po: Update Sinhala translation.
po: Update Sinhala translation.
view: Move open dialog filter string to resource file and add extensions.
po: Update Sinhala translation.
Jacek Caban (13):
ntoskrnl.exe: Properly export *SList functions on win64.
ntoskrnl.exe: Add PsRevertToSelf stub.
ntoskrnl.exe: Implement ExDeleteNPagedLookasideList.
ntoskrnl.exe: Set FileObject of IRP passed to driver callbacks.
ntoskrnl.exe: Add KeRevertToUserAffinityThread stub.
ntoskrnl.exe/tests: Introduce get_proc_address helper.
mshtml: Add style.borderCollapse property implementation.
mstml: Add style.borderSpacing property implementation.
mshtml: Support custom user agent strings in IOmNavigator::get_appVersion.
ntoskrnl.exe: Add PsReferenceProcessFilePointer stub.
kernel32: Support MUI_LANGUAGE_ID flag in EnumUILanguages.
mshtml: Suport load event in HTMLXMLHttpRequest object.
mshtml: Expose nsIFormPOSTActionChannel interface from nsChannel object.
Jactry Zeng (5):
shcore: Don't return E_FAIL in IStream::SetSize() for read-only mode.
ole32/tests: Test PropVariantCopy() with VT_UNKNOWN.
propsys: Implement PSCreateMemoryPropertyStore().
propsys/tests: Add tests of IPropertyStore interface.
propsys: Implement PropVariantToDouble().
Józef Kucia (12):
d3d8/tests: Use correct index variable in test_resource_access() (Coverity).
d3d9/tests: Use correct index variable in test_resource_access() (Coverity).
d3d11: Avoid using wined3d_stream_output_element for validation.
wined3d: Do not convert SO declaration entries.
wined3d: Export wined3d_extract_shader_input_signature_from_dxbc().
wined3d: Keep original component index in stream output elements.
wined3d: Factor out shader_get_stream_output_register_info().
wined3d: Remove unnecessary src_format NULL check from arbfp_blit_supported().
wined3d: Remove unnecessary src_format NULL check from ffp_blit_supported().
wined3d: Remove unnecessary src_format NULL check from glsl_blitter_supported().
ddraw/tests: Destroy viewport in test_lighting_interface_versions() (Valgrind).
wined3d: Mark dcl_input_ps_{siv, sgv} shader instructions as implemented.
Kai Krakow (1):
editorconfig: Indent Makefiles properly.
Ken Thomases (1):
winemac: Fix failure to render OpenGL on macOS 10.14 (Mojave).
Lauri Kenttä (1):
po: Update Finnish translation.
Matteo Bruni (7):
d3d9: Refuse to create D3DUSAGE_WRITEONLY textures.
d3d8: Refuse to create D3DUSAGE_WRITEONLY textures.
ddraw: Refuse to create non-managed DDSCAPS_WRITEONLY surfaces.
wined3d: Cleanup stateblock state before enumerating resources.
d3d9: Keep track of D3DUSAGE_AUTOGENMIPMAP textures in the d3d9 device.
d3d11/tests: Simplify test_cb_relative_addressing() a bit.
d3d10core/tests: Simplify test_cb_relative_addressing() a bit.
Michael Müller (2):
ntoskrnl.exe: Implement ExInitializeNPagedLookasideList.
ntoskrnl.exe: Implement NtBuildNumber.
Michael Stefaniuc (16):
webservices: Delete duplicated return value checks.
d3dx9/tests: Actually test the return of the effect SetInt() call.
kernelbase: Avoid TRUE : FALSE conditional expressions.
taskschd: Avoid TRUE : FALSE conditional expressions.
dmime/tests: Test the return value of IDirectMusic_SetDirectSound().
gdi32: Avoid TRUE : FALSE conditional expressions.
odbc32: Print the debug strings and not the pointers.
amstream: Remove useless cast to self.
crypt32: Remove useless cast to self.
d3d10core/tests: Remove useless casts to self.
d3dxof: Remove useless casts.
oleaut32/tests: Fix printing of an expected value.
oleaut32/tests: Floating point numeric constants are by default doubles.
ddraw/tests: Remove useless casts to self.
d3d10/tests: Remove useless casts to self.
d3d11/tests: Remove useless casts to self.
Nikolay Sivov (16):
dwrite: Implement mark-to-mark attachment, GPOS lookup 6.
dwrite: Add a stub for mark-to-ligature attachment handler.
dwrite: Fix positions in outline mode.
dwrite: Store outline offset as a vector.
comctl32/listview: Take care of scrolling offset when repositioning header.
comctl32/listview: Remove duplicated handle check.
uiautomationcore: Return success from UiaRaiseAutomationEvent().
d2d1: Add ID2D1GeometryGroup stub.
uiautomationcore: Add UiaHostProviderFromHwnd() stub.
dwrite: Use more appropriate allocation helpers.
xmllite/tests: Test complete writer output for UTF-16 case.
msvcrt: Add _ismbcl0_l().
msvcrt: Add _ismbcl1_l().
msvcrt: Add _ismbcl1().
msvcrt: Add _ismbcl2_l().
msvcrt: Add _ismbcl2().
Paul Gofman (19):
user32: Select more appropriate stretch mode for colored images interpolation.
user32/tests: Add more tests for SetWindowPos() on child window.
wined3d: Use lower 8 bits only from _ALPHAREF state.
d3d9/tests: Add test for bigger alpha reference values.
d3d8/tests: Port test_alphatest() from d3d9.
wined3d: Ignore multisample quality for MULTISAMPLE_NONE in context_find_fbo_entry().
d3d9/tests: Test mismatched multisample quality with D3DMULTISAMPLE_NONE.
ddraw/tests: Port test_alphatest() from d3d9.
wined3d: Initialise stream frequency to 1.
d3d9/tests: Test GetStreamSourceFreq() before any values were set.
wined3d: Return 1e10f for MaxVertexW from wined3d_get_device_caps().
d3d9/tests: Add test for MaxVertexW device capability.
d3d8/tests: Add test for MaxVertexW device capability.
d3d9/tests: Add test for buffer read / write.
wined3d: Invalidate _SYSMEM location when mapping opengl buffer.
d3dx9/tests: Clear vertex shader constants in test_effect_states().
d3dx9/tests: Add more tests for VertexShaderConstant state.
d3dx9: Handle short parameter in d3dx_set_shader_const_state().
d3dx9: Use parameter data for the first constant only in d3dx_set_shader_const_state().
Piotr Caban (9):
kernel32/tests: Add file mapping tests on readonly file.
kernel32/tests: Test that copy-on-write file mapping is not modifying the file.
api-ms-win-crt-private-l1-1-0: Add __std_terminate implementation.
msvcrt: Add _ismbbtrail_l implementation.
msvcrt: Add _ismbclegal_l implementation.
msvcrt: Validate character in _ismbcl0.
msvcrt: Use mbtowc/wctomb for string conversion in printf.
msvcrt: Use correct locale when validating character in _ismbcl0_l and _ismbcl1_l.
msvcrt: Change __getmainargs signature.
Sergio Gómez Del Real (2):
riched20: Mask out extended flags introduced by CHARFORMAT2 when converting to CHARFORMAT.
gdi32/dibdrv: Clip segment points to dib rect in wide_line_segment().
Sven Baars (9):
ole32: Fix some memory leaks (Valgrind).
riched20: Fix IRichEditOle COM aggregation (Valgrind).
shell32: Don't return a path from SHGetKnownFolderPath when it can not be created.
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).
ws2_32: Use heap_realloc instead of HeapReAlloc to avoid an invalid realloc (Valgrind).
wininet/tests: Fix some memory leaks (Valgrind).
webservices/tests: Add a missing closesocket call (Coverity).
Vijay Kiran Kamuju (1):
setupapi: Add stub for CM_Get_Sibling.
Yussur-Mustafa Oraji (1):
httpapi: Add stub for HttpCloseServerSession.
Zebediah Figura (36):
wined3d: Set the correct matrix in wined3d_device_multiply_transform().
wined3d: Store texture states in the wined3d_stateblock_state structure.
wined3d: Store textures in the wined3d_stateblock_state structure.
wined3d: Factor out init_default_sampler_states().
wined3d: Store sampler states in the wined3d_stateblock_state structure.
kernelbase/tests: Relax tests for WaitOnAddress().
ntdll: Add a futex-based implementation of WaitOnAddress().
winebus.sys: Translate SDL controller axes to unsigned 32-bit values.
hid: Don't sign-extend 16-bit values.
wined3d: Store transforms in the wined3d_stateblock_state structure.
wined3d: Store clip planes in the wined3d_stateblock_state structure.
wined3d: Store the material in the wined3d_stateblock_state structure.
wined3d: Store the viewport in the wined3d_stateblock_state structure.
wined3d: Store the scissor rect in the wined3d_stateblock_state structure.
wined3d: Store the index buffer in the wined3d_stateblock_state structure.
wined3d: Store vertex declaration in the wined3d_stateblock_state structure.
wined3d: Store blend factor in the wined3d_stateblock_state structure.
wined3d: Store stream state in the wined3d_stateblock_state structure.
ntdll: Reimplement condition variables on top of RtlWaitOnAddress().
comsvcs/tests: Add tests for implicit MTA creation in RegisterDispenser().
comsvcs: Create an implicit MTA thread in RegisterDispenser().
ntdll: Add a direct futex-based implementation of condition variables.
oleaut32: Register non-dual dispinterfaces using the correct proxy.
wined3d: Get rid of apply_lights() helper.
wined3d: Introduce a separate structure for light state.
wined3d: Introduce wined3d_state_set_light() helper.
wined3d: Store lights in the wined3d_stateblock_state structure.
wined3d: Correct indices for contained states in wined3d_stateblock_apply().
user32/tests: Execute test_shell_window() last.
wined3d: Get rid of the "update_state" field from struct wined3d_device.
wined3d: Get rid of the "state" field from struct wined3d_stateblock.
hid: Correctly sign-extend all values in HidP_GetScaledUsageValue().
hid: Scale from logical to physical coördinates in HidP_GetScaledUsageValue().
xinput: Use HidP_GetScaledUsageValue().
xinput: Use a struct instead of an array to store axis information.
xinput: Fix axis scaling arithmetic.
Zhiyi Zhang (2):
setupapi: Implement SetupDiSetDevicePropertyW.
setupapi: Implement SetupDiGetDevicePropertyW.
--
Alexandre Julliard
julliard(a)winehq.org
The Wine development release 4.1 is now available.
What's new in this release (see below for details):
- Support for NT kernel spinlocks.
- Better glyph positioning in DirectWrite.
- More accurate reporting of CPU information.
- Context handle fixes in the IDL compiler.
- Preloader fixes on macOS.
- Various bug fixes.
The source is available from the following locations:
https://dl.winehq.org/wine/source/4.x/wine-4.1.tar.xzhttp://mirrors.ibiblio.org/wine/source/4.x/wine-4.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.1 (total 30):
11070 importpfx fails, needs PFXImportCertStore implementation
33456 D3DXMatrixTransformation: Broken calculation when scalingrotation and scaling is used
38274 White water in Heroes VI (DXTn volume textures)
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
42491 wine builds are not reproducible (widl needs initializization of datatype2 in add_typedef_typeinfo)
43252 IcmpSendEcho doesn't work with a ReplySize<56
43322 Regression in Test Drive Unlimited 2, visual artifacts
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)
44941 Bioshock Remastered doesn't start in windowed mode
45326 Multiple 64-bit kernel drivers crash on unimplemented function ntoskrnl.exe.__C_specific_handler (NoxPlayer 6.x, MTA:SA 1.5.x)
45447 [World of Tanks] Borderless window broken since 1.0.2
46137 NI Kontakt 5 crashes on unimplemented function msvcp140.dll.?_Getcat@?$time_get@_WV?$istreambuf_iterator@_WU?$char_traits@_W@std@@@std@@@std@@SAIPAPBVfacet@locale@2@PBV42@@Z
46298 Middle-earth: Shadow of War (steam appid 356190) crashes on launch
46303 Warcraft 3: Reign of Chaos (Czech language) can't be installed from CD
46453 The Testament of Sherlock Holmes crashes while loading level with builtin d3dx9_43
46465 Visual Studio 2015 crashes on unimplemented function msvcp140.dll._Equivalent
46469 Only the first XInput controller is detected in wine 4.0
46479 64-bit mono crashes in RtlAddGrowableFunctionTable
46482 Gas Guzzlers Combat Carnage crashes when changing screen resolution
46485 PBM_STEPIT crashes with division by zero when MinVal == MaxVal == 0
46488 Diablo 2 LoD: Direct3D regression: Unhandled exception: Access_violation (c0000005)
46489 ClrMamePro crashes on update attempt
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
----------------------------------------------------------------
Changes since 4.0:
Alex Henrie (1):
shell32: Rename SHELL32_714 to PathIsTemporaryW.
Alexandre Julliard (7):
ntdll: Don't crash on empty table in RtlAddFunctionTable().
ntdll: Implement RtlIsProcessorFeaturePresent().
ntdll: Round header size to page boundary before checking it in PE header conversion.
ntdll: Support loading old runtime versions of IL-only images.
kernel32/tests: Add helper function for machine type manipulations.
kernel32/tests: Try loading the dll also for matching platform type.
kernel32/tests: Add tests for dll fallback when image type doesn't match current platform.
Alistair Leslie-Hughes (8):
ole32/tests: Test for the correct IID.
mfreadwrite: Add initial tests.
include: Add MFSetAttributeSize/MFSetAttributeRatio inline functions.
crypt32: Fix compile error on older gnutls.
crypt32: Fix compile error on older gnutls.
uiautomationcore: Update spec file.
mfreadwrite: Add DllGetClassObject/DllCanUnloadNow functions.
mfreadwrite: Register MFReadWriteClassFactory interface.
Andrey Gusev (5):
d3drm/tests: Add missing HRESULT.
d3dcompiler: Add support for two other versions of ID3D11ShaderReflection.
mshtml: Remove redundant condition.
d3dx11: Fix D3DX11CreateShaderResourceViewFromMemory spec entry.
d3dx11_42: Share source with d3dx11_43.
Daniel Lehman (3):
msvcrt: _towlower_l only lowercase A-Z in C locale.
msvcrt: _towupper_l only uppercase a-z in C locale.
ucrtbase/tests: Add tests for C locale.
David Adam (3):
ddraw/tests: Add tests for the "dwMipMapCount" field of texture sub-levels.
ddraw: Fix the "dwMipMapCount" field of texture sub-levels.
d3dx9/tests: Add more tests for D3DXMatrixTransformation().
Dmitry Timoshkov (12):
crypt32: Make sure that the provider supports the specified signature algorithm.
crypt32: Make sure that the provider supports the specified hash algorithm.
wininet: Return proper cache path from GetUrlCacheConfigInfo.
wininet: Make GetUrlCacheConfigInfo() return actual dwQuota and dwCacheSize.
crypt32: Add support for CERT_COMPARE_KEY_IDENTIFIER to CertFindCertificateInStore.
crypt32: Add support for CRYPT_ACQUIRE_SILENT_FLAG to CryptAcquireCertificatePrivateKey.
crypt32: Simplify the code.
windowscodecs: Implement IWICPalette::InitializeFromBitmap.
gdiplus: Implement GdipInitializePalette.
gdiplus/tests: Add some tests for GdipInitializePalette.
windowscodecs: Add support for converting to 8bppIndexed format.
windowscodecs: Add a NULL check to 8bpp gray converter.
Eric Bissonnette (1):
dbghelp: Support full memory dumps.
Fabian Maurer (3):
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.
mscoree: Allow loading of registration free .NET COM objects.
Gabriel Ivăncescu (7):
shell32/autocomplete: Don't autoappend on Paste if ACO_AUTOAPPEND is off.
shell32/autocomplete: Always expand if the enumerator was reset.
libport: Handle partially overlapping buffers.
kernel32/tests: Test partially overlapping buffers for MultiByteToWideChar.
shell32/shfldr_desktop: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set.
shell32/shfldr_mycomp: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set.
shell32/tests: Test GetDisplayNameOf for special folders with both SHGDN_FORPARSING and SHGDN_FORADDRESSBAR.
Gijs Vermeulen (5):
msvcp140: Export _Equivalent and port tests.
msvcp: Set correct error code on non-existing path in _Open_dir.
msvcp: Set target to null on error in _Open_dir.
kernel32/tests: Add CopyFile[Ex]A NULL handling tests.
msvcp: Return ERROR_INVALID_PARAMETER on NULL input in _Copy_file.
Hans Leidekker (12):
wbemprox: Support cpuid on 64-bit.
wbemprox: Strip trailing spaces from processor name.
wbemprox: Include extended model and family fields in processor properties.
wbemprox: Fix processor caption on AMD 64-bit.
wbemprox: Create one processor object per package.
crypt32: Initial implementation of PFXImportCertStore.
winhttp: Implement WINHTTP_OPTION_CLIENT_CERT_CONTEXT.
crypt32: Add support for importing RSA private keys from PFX blobs.
crypt32: Support password protected PFX blobs.
wineboot: More accurate reporting of AMD and Intel processors.
secur32: Ignore spurious callbacks on macOS.
crypt32: Add support for PFX objects in CryptQueryObject.
Henri Verbeet (2):
ddraw: Implement ddraw7_FlipToGDISurface().
ddraw: Return the correct swapchain surface in ddraw7_GetGDISurface().
Isira Seneviratne (2):
po: Update Sinhala translation.
po: Update Sinhala translation.
Jacek Caban (23):
widl: Fix HANDLE_PARAM_IS_RETURN flag handling.
widl: Use public HANDLE_PARAM_IS_* flags.
mshtml.idl: Add IDOMCustomEvent declaration.
rpcrt4: Fix comment about HANDLE_PARAM_IS_RETURN.
rpcrt4/tests: Run RPC tests in both mixed and fully interpreted mode.
rpcrt4/tests: Use --prefix-client to avoid duplicated function implementations.
widl: Fix context handle as return value handling.
widl: Default to input param if [out] nor [in] attribut is specified in get_contexthandle_flags.
mshtml: Add IDOMCustomEvent interface stub implementation.
rpcrt4: Fix context handle return value marshaling.
rpcrt4: Fix context handle return value unmarshaling.
rpcrt4/tests: Add context handle marshaling tests.
mshtml: Add IDOMCustomEvent::initCustomEvent implementation.
mshtml: Add IDOMCustomEvent::detail property implementation.
mshtml: Expose IDOMCustomEvent to scripts.
advapi32/tests: Add test using NotifyServiceStatusChange on different handles of the same service.
services: Store a list of service handles in service_entry.
services: Associate notify handle with service handle instead of service entry.
widl: Check function return values for additional prototype types.
widl: Fix handling context handle return type in mixed mode.
ntoskrnl.exe: Add __C_specific_handler entry.
ntoskrnl.exe: Add KeEnterGuardedRegion and KeLeaveGuardedRegion stubs.
ntoskrnl.exe: Implement KeExpandKernelStackAndCallout and KeExpandKernelStackAndCalloutEx.
Jon Doron (2):
kernel32: Fix MoveFileWithProgressW from closing same handle twice.
kernel32: Fix MOVEFILE_REPLACE_EXISTING between devices.
Joshua Ashton (2):
include: Mark IDirect3D9Ex::GetAdapterDisplayModeEx() as PURE.
include: Add a few missing d3d9 constants.
Julien D'ascenzio (1):
ntdll: Correct space/mark parity.
Józef Kucia (9):
d3d9: Validate surface parameter in d3d9_device_ColorFill().
d3d10core/tests: Add test for sample_c_lz instruction.
d3d10core/tests: Add option to enable debug layer.
d3d10core/tests: Fix crashes with debug layer enabled.
d3d10core/tests: Avoid "skipping tests" in skip() messages.
wined3d: Move wined3d_bit_scan() to public header.
d3d8: Use wined3d_bit_scan() instead of open-coding it.
d3d9: Use wined3d_bit_scan() instead of open-coding it.
ddraw: Pass correct box when mapping system memory vertex buffers.
Ken Thomases (2):
libwine: On Mac, disable ASLR for Wine processes.
loader: On Mac, move the top-down allocations area down to avoid regions reserved by the system.
Matteo Bruni (24):
d3dx9/tests: Expect plain render target creation to work.
d3dx9/tests: Fix a couple of ok() messages.
d3d9/tests: Add a D3D9Ex test for drawing with D3DPOOL_SYSTEMMEM buffers.
d3d9/tests: Test drawing with D3DPOOL_SYSTEMMEM textures.
d3d8/tests: Test drawing with D3DPOOL_SYSTEMMEM textures.
ddraw/tests: Test drawing with system memory textures.
d3dx9: Improve D3DXMatrixTransformation() implementation.
d3dx9: Improve D3DXMatrixTransformation2D().
d3dx9/tests: Avoid some 64-bit test failures.
d3d9/tests: Test D3DPOOL_SYSTEMMEM vertex buffer lock address stability.
d3d9/tests: Test D3D9Ex vertex buffer lock address stability.
d3d8/tests: Test D3DPOOL_SYSTEMMEM vertex buffer lock address stability.
d3d9: Drop map read access from the internal buffers used for user-pointer draws.
d3d8: Drop map read access from the internal buffers used for user-pointer draws.
ddraw: Drop map read access from the internal buffers used for user-pointer draws.
d3d9: Take usage flags into account when assigning map flags.
d3d8: Take usage flags into account when assigning map flags.
d3d9: Don't allow map read access to D3DUSAGE_WRITEONLY buffers.
d3d8: Don't allow map read access to D3DUSAGE_WRITEONLY buffers.
wined3d: Replace WINED3DUSAGE_WRITEONLY with resource access flags.
d3d9/tests: Use a D3DUSAGE_WRITEONLY buffer in test_vb_lock_flags().
d3d8/tests: Use a D3DUSAGE_WRITEONLY buffer in test_vb_lock_flags().
d3dx11: Downgrade ERR() to WARN() in D3DX11CreateAsyncResourceLoader*().
d3dcompiler: Actually define the correct ID3D11ShaderReflection GUIDs.
Michael Stefaniuc (10):
dmloader: Fix a memory leak.
wineandroid.drv: Use the ARRAY_SIZE() macro.
regedit: Remove redundant NULL check before heap_free().
reg: Remove redundant NULL check before heap_free().
strmbase: Remove redundant NULL check before CoTaskMemFree().
ole32: Remove redundant NULL check before CoTaskMemFree().
windowscodecs: Use the ARRAY_SIZE() macro.
windowscodecs: Remove redundant NULL check before HeapFree().
mshtml: Print the debug string and not the pointer to it.
shell32: Avoid FALSE : TRUE conditional expressions.
Nikolay Sivov (40):
d3d11: Implement d3d11_device_GetImmediateContext1().
api-ms-win-core-libraryloader-l1-2-1: Add missing FindResourceW() forward.
comctl32/progress: Handle min == max case in PBM_STEPIT.
ntdll: Store range upper boundary for dynamic unwind entry.
ntdll: Keep unwind table entry count instead of a size.
ntdll: Implement growable unwind tables API.
user32/dialog: Fix setting negative dialog item ids.
dwrite: Use array for script tags.
dwrite: Use helper to trace 4 byte tags.
dwrite: Remove special case for vertical variants.
dwrite/layout: Improve overhangs metrics computation.
dwrite: Use a helper for design advances.
dwrite/analyzer: Preserve inter-cluster spacing when apply spacing properties.
dwrite/tests: Some more tests for ComputeGlyphOrigins().
dwrite: Validate font data when retrieving supported unicode ranges data.
dwrite: Validate 'gasp' data before accessing it.
dwrite: Validate 'CPAL' data before using it.
comctl32/rebar: Do not use global variable for debug buffer (Coverity).
ntdll: Make LdrFindResource_U() and LdrFindResourceDirectory_U() patchable.
shell32: Remove duplicated assignment (Coverity).
usp10/tests: Add missing return value checks (Coverity).
include: Fix a typo in D2D1_WINDOW_STATE values.
ole32: Implement chained IInitializeSpy support.
ole32/tests: Test flags passed to spy methods.
d3dx9: Use wincodecs directly without initializing COM system.
dwrite: Validate 'COLR' data before using it.
dwrite: Validate 'CBLC' data before using it.
dwrite: Validate 'sbix' data before using it.
dwrite: Validate 'VDMX' data before using it.
dwrite/tests: Add some tests for setting glyph properties from GDEF.
dwrite: Add a helper to get shaped glyph positions.
dwrite: Resolve script and language to apply positional features.
dwrite: Collect and sort positional lookups.
dwrite: Add a helper to apply positional lookup.
dwrite: Implement masking with positional lookup flags.
winhttp/tests: Add a couple of return value tests (Coverity).
dwrite: Implement single adjustment, GPOS lookup 1.
dwrite: Implement pair adjustment, GPOS lookup 2.
dwrite: Implement cursive attachment, GPOS lookup 3.
dwrite: Implement mark-to-base attachment, GPOS lookup 4.
Orhan Kavrakoğlu (3):
crypt32: Add CryptImportPublicKeyInfoEx2 stub.
crypt32: Implement CryptHashCertificate2.
crypt32/tests: Add tests for CryptHashCertificate2.
Paul Gofman (6):
d3dx9: Factor out {lock|unlock}_surface() functions.
d3dx9: Use temporary surface in D3DXFillTexture() for unmappable textures.
d3dx9/tests: Add test for D3DXFillVolumeTexture() with default pool texture.
d3dx9: Do not ignore surface map failure in D3DXSaveSurfaceToFileInMemory().
d3dx9: Use temporary surface in D3DXSaveSurfaceToFileInMemory() for unmappable textures.
d3dx9: Use {lock|unlock}_surface() in D3DXLoadSurfaceFromMemory().
Piotr Caban (4):
msvcrt: Optimize tolower function when locale was never changed.
msvcrt: Optimize toupper function when locale was never changed.
wbemprox: Add Win32_NetworkAdapter DeviceAdapterID property.
wbemprox: Add Win32_NetworkAdapter Description property.
Sebastian Lackner (1):
wtsapi32: Improve WTSQueryUserToken stub.
Sven Baars (18):
dswave/tests: Fix a memory leak (Valgrind).
dmband/tests: Fix a memory leak (Valgrind).
dmcompos/tests: Fix a memory leak (Valgrind).
dmscript/tests: Fix a memory leak (Valgrind).
dmstyle/tests: Fix a memory leak (Valgrind).
dmusic/tests: Fix a memory leak (Valgrind).
msscript.ocx/tests: Fix some memory leaks (Valgrind).
kernel32/tests: Fix a memory leak (Valgrind).
hlink/tests: Fix some memory leaks (Valgrind).
gdiplus/tests: Fix a memory leak (Valgrind).
windowscodecs: Fix a memory leak (Valgrind).
gdiplus: Fix a memory leak on error path (Valgrind).
gdiplus/tests: Add some font family pointer tests.
wsdapi: Fix some memory leaks (Valgrind).
dmime/tests: Fix a memory leak (Valgrind).
dinput/tests: Fix some memory leaks (Valgrind).
dinput: Free the device after a callback (Valgrind).
strmbase: Fix some memory leaks (Valgrind).
Zebediah Figura (78):
d3d8/tests: Add a test for MultiplyTransform().
d3d9/tests: Add a test for MultiplyTransform().
ddraw/tests: Add a test for MultiplyTransform().
wined3d: Remove stateblock handling from wined3d_device_multiply_transform().
msi/tests: Introduce a variadic check_record() helper.
msi/tests: Use check_record() in test_columnorder().
msi/tests: Use check_record() in test_dbmerge().
msi/tests: Use check_record() in test_select_column_names().
msi/tests: Use check_record() in test_join().
setupapi: Store the path to the driver key in the device key.
setupapi: Don't use the devnode to allocate driver keys.
setupapi/tests: Create the setup class key before trying to create the driver key.
setupapi: Also remove the driver key in remove_device().
wined3d: Remove stateblock handling from wined3d_device_set_shader_resource_view().
wined3d: Remove stateblock handling from wined3d_device_set_sampler().
wined3d: Remove stateblock handling from wined3d_device_set_pipeline_unordered_access_view().
wined3d: Remove stateblock handling from wined3d_device_set_stream_output().
wined3d: Remove stateblock handling from wined3d_device_set_constant_buffer().
hal: Limit exports to the appropriate architectures.
ntoskrnl.exe: Implement KeInitializeSpinLock().
hal: Implement KeReleaseSpinLock().
ntoskrnl.exe: Implement KeReleaseSpinLock().
hal: Implement KeAcquireSpinLock().
ntoskrnl.exe: Implement KeAcquireSpinLockRaiseToDpc().
msi/tests: Use check_record() in more places.
msi: Get rid of the find_matching_rows() view operation.
msi: Get rid of the remove_column() view operation.
msi: Use a BOOL to track string persistence.
msi: Use 0-indexed row numbers in the modify() view operation.
ntoskrnl.exe: Implement IoReleaseCancelSpinLock().
ntoskrnl.exe: Implement IoAcquireCancelSpinLock().
ntoskrnl.exe: Implement ExInterlockedRemoveHeadList().
ntoskrnl.exe: Implement PsTerminateSystemThread().
wined3d: Remove stateblock handling from wined3d_device_set_geometry_shader().
wined3d: Remove stateblock handling from wined3d_device_set_compute_shader().
wined3d: Remove stateblock handling from wined3d_device_set_predication().
d3d9/tests: Add more tests for reset state after DrawIndexedPrimitiveUP().
d3d8/tests: Port test_draw_primitive() from d3d9.
msi: Factor out int_to_table_storage().
msi: Set table values directly in msi_select_update().
msi: Get rid of the get_row() view operation.
msi: Remove an unnecessary call to SELECT_get_dimensions().
msi: Store the IStorage list as an array of STORAGE structures.
ntoskrnl.exe/tests: Open the test file for synchronous I/O.
ntoskrnl.exe: Implement KeReleaseSpinLockFromDpcLevel().
ntoskrnl.exe: Implement KeAcquireSpinLockAtDpcLevel().
ntoskrnl.exe: Implement plain spinlock functions on top of DPC-level ones.
hal: Implement plain spinlock functions on top of DPC-level ones.
wined3d: Introduce a separate structure for stateblock state and store vertex shader state therein.
wined3d: Store vertex shader floating point constants in the wined3d_stateblock_state structure.
wined3d: Store vertex shader integer constants in the wined3d_stateblock_state structure.
wined3d: Store vertex shader boolean constants in the wined3d_stateblock_state structure.
wined3d: Store the pixel shader in the wined3d_stateblock_state structure.
msi: Support setting streams in msi_select_update().
msi: Implement UPDATE queries using msi_select_update().
msi: Factor out msi_view_refresh_row().
msi: Implement MSIMODIFY_REFRESH using msi_view_refresh_row().
msi: Don't check the primary keys when handling MSIMODIFY_DELETE.
ntoskrnl.exe: Implement DPC-level queued spinlock functions.
ntoskrnl.exe: Implement plain queued spinlock functions on top of DPC-level ones.
hal: Implement plain queued spinlock functions on top of DPC-level ones.
wined3d: Store pixel shader floating point constants in the wined3d_stateblock_state structure.
wined3d: Store pixel shader integer constants in the wined3d_stateblock_state structure.
wined3d: Store pixel shader boolean constants in the wined3d_stateblock_state structure.
wined3d: Factor our init_default_render_states().
wined3d: Store render states in the wined3d_stateblock_state structure.
msi/tests: Add some more tests for MsiViewModify() applied to joins.
msi: Translate records as appropriate in SELECT_modify().
msi/tests: Add more tests for MSIMODIFY_ASSIGN.
msi/tests: Add more tests for MSIMODIFY_REFRESH.
msi/tests: Add more tests for MSIMODIFY_MERGE.
msi/tests: Add more tests for MSIMODIFY_INSERT.
include: Add ExInitializeFastMutex() definition.
ntoskrnl.exe: Implement APC-level fast mutex functions.
hal: Implement plain fast mutex functions on top of APC-level ones.
hal: Implement ExTryToAcquireFastMutex().
ntoskrnl.exe: Avoid accessing fields of sync objects outside of the sync CS.
wined3d: Factor out init_default_texture_state().
Zhiyi Zhang (4):
user32: Check for null handle in GetRawInputData().
user32: Fix a memory leak.
msacm32: Reference count local drivers.
d3d8: Fix building on Mac.
--
Alexandre Julliard
julliard(a)winehq.org