ntdll: Hardcode the path of the windows directory for redirects.
[wine.git] / ANNOUNCE
blob761e340f1613a34bddf5b276e9e1ba957b0f806b
1 The Wine development release 4.1 is now available.
3 What's new in this release (see below for details):
4   - Support for NT kernel spinlocks.
5   - Better glyph positioning in DirectWrite.
6   - More accurate reporting of CPU information.
7   - Context handle fixes in the IDL compiler.
8   - Preloader fixes on macOS.
9   - Various bug fixes.
11 The source is available from the following locations:
13   https://dl.winehq.org/wine/source/4.x/wine-4.1.tar.xz
14   http://mirrors.ibiblio.org/wine/source/4.x/wine-4.1.tar.xz
16 Binary packages for various distributions will be available from:
18   https://www.winehq.org/download
20 You will find documentation on https://www.winehq.org/documentation
22 You can also get the current source directly from the git
23 repository. Check https://www.winehq.org/git for details.
25 Wine is available thanks to the work of many people. See the file
26 AUTHORS in the distribution for the complete list.
28 ----------------------------------------------------------------
30 Bugs fixed in 4.1 (total 30):
32   11070  importpfx fails, needs PFXImportCertStore implementation
33   33456  D3DXMatrixTransformation: Broken calculation when scalingrotation and scaling is used
34   38274  White water in Heroes VI (DXTn volume textures)
35   38558  cmd.exe bundled with Windows XP messed up when using FOR /F
36   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)
37   39890  Orcish Inn fails to start with exception System.NotImplementedException
38   40441  Chicken tournament crashes when loading texture
39   42491  wine builds are not reproducible (widl needs initializization of datatype2 in add_typedef_typeinfo)
40   43252  IcmpSendEcho doesn't work with a ReplySize<56
41   43322  Regression in Test Drive Unlimited 2, visual artifacts
42   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)
43   44941  Bioshock Remastered doesn't start in windowed mode
44   45326  Multiple 64-bit kernel drivers crash on unimplemented function ntoskrnl.exe.__C_specific_handler (NoxPlayer 6.x, MTA:SA 1.5.x)
45   45447  [World of Tanks] Borderless window broken since 1.0.2
46   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
47   46298  Middle-earth: Shadow of War (steam appid 356190) crashes on launch
48   46303  Warcraft 3: Reign of Chaos (Czech language) can't be installed from CD
49   46453  The Testament of Sherlock Holmes crashes while loading level with builtin d3dx9_43
50   46465  Visual Studio 2015 crashes on unimplemented function msvcp140.dll._Equivalent
51   46469  Only the first XInput controller is detected in wine 4.0
52   46479  64-bit mono crashes in RtlAddGrowableFunctionTable
53   46482  Gas Guzzlers Combat Carnage crashes when changing screen resolution
54   46485  PBM_STEPIT crashes with division by zero when MinVal == MaxVal == 0
55   46488  Diablo 2 LoD: Direct3D regression: Unhandled exception: Access_violation (c0000005)
56   46489  ClrMamePro crashes on update attempt
57   46494  64bit WinMerge crash after clicking "About WinMerge"
58   46499  Multiple games crash in GetRawInputData when exiting(House Party, Murderous Pursuits, ICEY)
59   46520  Kindred Spirits on the Roof crashes
60   46536  Empire Earth (GOG version) main menu rendering is broken
61   46569  ToDoList 7.1 : fails to launch after WINE upgrade to 4.0 version
63 ----------------------------------------------------------------
65 Changes since 4.0:
67 Alex Henrie (1):
68       shell32: Rename SHELL32_714 to PathIsTemporaryW.
70 Alexandre Julliard (7):
71       ntdll: Don't crash on empty table in RtlAddFunctionTable().
72       ntdll: Implement RtlIsProcessorFeaturePresent().
73       ntdll: Round header size to page boundary before checking it in PE header conversion.
74       ntdll: Support loading old runtime versions of IL-only images.
75       kernel32/tests: Add helper function for machine type manipulations.
76       kernel32/tests: Try loading the dll also for matching platform type.
77       kernel32/tests: Add tests for dll fallback when image type doesn't match current platform.
79 Alistair Leslie-Hughes (8):
80       ole32/tests: Test for the correct IID.
81       mfreadwrite: Add initial tests.
82       include: Add MFSetAttributeSize/MFSetAttributeRatio inline functions.
83       crypt32: Fix compile error on older gnutls.
84       crypt32: Fix compile error on older gnutls.
85       uiautomationcore: Update spec file.
86       mfreadwrite: Add DllGetClassObject/DllCanUnloadNow functions.
87       mfreadwrite: Register MFReadWriteClassFactory interface.
89 Andrey Gusev (5):
90       d3drm/tests: Add missing HRESULT.
91       d3dcompiler: Add support for two other versions of ID3D11ShaderReflection.
92       mshtml: Remove redundant condition.
93       d3dx11: Fix D3DX11CreateShaderResourceViewFromMemory spec entry.
94       d3dx11_42: Share source with d3dx11_43.
96 Daniel Lehman (3):
97       msvcrt: _towlower_l only lowercase A-Z in C locale.
98       msvcrt: _towupper_l only uppercase a-z in C locale.
99       ucrtbase/tests: Add tests for C locale.
101 David Adam (3):
102       ddraw/tests: Add tests for the "dwMipMapCount" field of texture sub-levels.
103       ddraw: Fix the "dwMipMapCount" field of texture sub-levels.
104       d3dx9/tests: Add more tests for D3DXMatrixTransformation().
106 Dmitry Timoshkov (12):
107       crypt32: Make sure that the provider supports the specified signature algorithm.
108       crypt32: Make sure that the provider supports the specified hash algorithm.
109       wininet: Return proper cache path from GetUrlCacheConfigInfo.
110       wininet: Make GetUrlCacheConfigInfo() return actual dwQuota and dwCacheSize.
111       crypt32: Add support for CERT_COMPARE_KEY_IDENTIFIER to CertFindCertificateInStore.
112       crypt32: Add support for CRYPT_ACQUIRE_SILENT_FLAG to CryptAcquireCertificatePrivateKey.
113       crypt32: Simplify the code.
114       windowscodecs: Implement IWICPalette::InitializeFromBitmap.
115       gdiplus: Implement GdipInitializePalette.
116       gdiplus/tests: Add some tests for GdipInitializePalette.
117       windowscodecs: Add support for converting to 8bppIndexed format.
118       windowscodecs: Add a NULL check to 8bpp gray converter.
120 Eric Bissonnette (1):
121       dbghelp: Support full memory dumps.
123 Fabian Maurer (3):
124       api-ms-win-crt-private-l1-1-0: Update to 10.0.17134.12 (WinBuild.160101.0800).
125       ucrtbase: Forward a few functions for dxil.dll and pkgmgr.exe.
126       mscoree: Allow loading of registration free .NET COM objects.
128 Gabriel Ivăncescu (7):
129       shell32/autocomplete: Don't autoappend on Paste if ACO_AUTOAPPEND is off.
130       shell32/autocomplete: Always expand if the enumerator was reset.
131       libport: Handle partially overlapping buffers.
132       kernel32/tests: Test partially overlapping buffers for MultiByteToWideChar.
133       shell32/shfldr_desktop: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set.
134       shell32/shfldr_mycomp: Use friendly name instead of GUID when SHGDN_FORADDRESSBAR is set.
135       shell32/tests: Test GetDisplayNameOf for special folders with both SHGDN_FORPARSING and SHGDN_FORADDRESSBAR.
137 Gijs Vermeulen (5):
138       msvcp140: Export _Equivalent and port tests.
139       msvcp: Set correct error code on non-existing path in _Open_dir.
140       msvcp: Set target to null on error in _Open_dir.
141       kernel32/tests: Add CopyFile[Ex]A NULL handling tests.
142       msvcp: Return ERROR_INVALID_PARAMETER on NULL input in _Copy_file.
144 Hans Leidekker (12):
145       wbemprox: Support cpuid on 64-bit.
146       wbemprox: Strip trailing spaces from processor name.
147       wbemprox: Include extended model and family fields in processor properties.
148       wbemprox: Fix processor caption on AMD 64-bit.
149       wbemprox: Create one processor object per package.
150       crypt32: Initial implementation of PFXImportCertStore.
151       winhttp: Implement WINHTTP_OPTION_CLIENT_CERT_CONTEXT.
152       crypt32: Add support for importing RSA private keys from PFX blobs.
153       crypt32: Support password protected PFX blobs.
154       wineboot: More accurate reporting of AMD and Intel processors.
155       secur32: Ignore spurious callbacks on macOS.
156       crypt32: Add support for PFX objects in CryptQueryObject.
158 Henri Verbeet (2):
159       ddraw: Implement ddraw7_FlipToGDISurface().
160       ddraw: Return the correct swapchain surface in ddraw7_GetGDISurface().
162 Isira Seneviratne (2):
163       po: Update Sinhala translation.
164       po: Update Sinhala translation.
166 Jacek Caban (23):
167       widl: Fix HANDLE_PARAM_IS_RETURN flag handling.
168       widl: Use public HANDLE_PARAM_IS_* flags.
169       mshtml.idl: Add IDOMCustomEvent declaration.
170       rpcrt4: Fix comment about HANDLE_PARAM_IS_RETURN.
171       rpcrt4/tests: Run RPC tests in both mixed and fully interpreted mode.
172       rpcrt4/tests: Use --prefix-client to avoid duplicated function implementations.
173       widl: Fix context handle as return value handling.
174       widl: Default to input param if [out] nor [in] attribut is specified in get_contexthandle_flags.
175       mshtml: Add IDOMCustomEvent interface stub implementation.
176       rpcrt4: Fix context handle return value marshaling.
177       rpcrt4: Fix context handle return value unmarshaling.
178       rpcrt4/tests: Add context handle marshaling tests.
179       mshtml: Add IDOMCustomEvent::initCustomEvent implementation.
180       mshtml: Add IDOMCustomEvent::detail property implementation.
181       mshtml: Expose IDOMCustomEvent to scripts.
182       advapi32/tests: Add test using NotifyServiceStatusChange on different handles of the same service.
183       services: Store a list of service handles in service_entry.
184       services: Associate notify handle with service handle instead of service entry.
185       widl: Check function return values for additional prototype types.
186       widl: Fix handling context handle return type in mixed mode.
187       ntoskrnl.exe: Add __C_specific_handler entry.
188       ntoskrnl.exe: Add KeEnterGuardedRegion and KeLeaveGuardedRegion stubs.
189       ntoskrnl.exe: Implement KeExpandKernelStackAndCallout and KeExpandKernelStackAndCalloutEx.
191 Jon Doron (2):
192       kernel32: Fix MoveFileWithProgressW from closing same handle twice.
193       kernel32: Fix MOVEFILE_REPLACE_EXISTING between devices.
195 Joshua Ashton (2):
196       include: Mark IDirect3D9Ex::GetAdapterDisplayModeEx() as PURE.
197       include: Add a few missing d3d9 constants.
199 Julien D'ascenzio (1):
200       ntdll: Correct space/mark parity.
202 Józef Kucia (9):
203       d3d9: Validate surface parameter in d3d9_device_ColorFill().
204       d3d10core/tests: Add test for sample_c_lz instruction.
205       d3d10core/tests: Add option to enable debug layer.
206       d3d10core/tests: Fix crashes with debug layer enabled.
207       d3d10core/tests: Avoid "skipping tests" in skip() messages.
208       wined3d: Move wined3d_bit_scan() to public header.
209       d3d8: Use wined3d_bit_scan() instead of open-coding it.
210       d3d9: Use wined3d_bit_scan() instead of open-coding it.
211       ddraw: Pass correct box when mapping system memory vertex buffers.
213 Ken Thomases (2):
214       libwine: On Mac, disable ASLR for Wine processes.
215       loader: On Mac, move the top-down allocations area down to avoid regions reserved by the system.
217 Matteo Bruni (24):
218       d3dx9/tests: Expect plain render target creation to work.
219       d3dx9/tests: Fix a couple of ok() messages.
220       d3d9/tests: Add a D3D9Ex test for drawing with D3DPOOL_SYSTEMMEM buffers.
221       d3d9/tests: Test drawing with D3DPOOL_SYSTEMMEM textures.
222       d3d8/tests: Test drawing with D3DPOOL_SYSTEMMEM textures.
223       ddraw/tests: Test drawing with system memory textures.
224       d3dx9: Improve D3DXMatrixTransformation() implementation.
225       d3dx9: Improve D3DXMatrixTransformation2D().
226       d3dx9/tests: Avoid some 64-bit test failures.
227       d3d9/tests: Test D3DPOOL_SYSTEMMEM vertex buffer lock address stability.
228       d3d9/tests: Test D3D9Ex vertex buffer lock address stability.
229       d3d8/tests: Test D3DPOOL_SYSTEMMEM vertex buffer lock address stability.
230       d3d9: Drop map read access from the internal buffers used for user-pointer draws.
231       d3d8: Drop map read access from the internal buffers used for user-pointer draws.
232       ddraw: Drop map read access from the internal buffers used for user-pointer draws.
233       d3d9: Take usage flags into account when assigning map flags.
234       d3d8: Take usage flags into account when assigning map flags.
235       d3d9: Don't allow map read access to D3DUSAGE_WRITEONLY buffers.
236       d3d8: Don't allow map read access to D3DUSAGE_WRITEONLY buffers.
237       wined3d: Replace WINED3DUSAGE_WRITEONLY with resource access flags.
238       d3d9/tests: Use a D3DUSAGE_WRITEONLY buffer in test_vb_lock_flags().
239       d3d8/tests: Use a D3DUSAGE_WRITEONLY buffer in test_vb_lock_flags().
240       d3dx11: Downgrade ERR() to WARN() in D3DX11CreateAsyncResourceLoader*().
241       d3dcompiler: Actually define the correct ID3D11ShaderReflection GUIDs.
243 Michael Stefaniuc (10):
244       dmloader: Fix a memory leak.
245       wineandroid.drv: Use the ARRAY_SIZE() macro.
246       regedit: Remove redundant NULL check before heap_free().
247       reg: Remove redundant NULL check before heap_free().
248       strmbase: Remove redundant NULL check before CoTaskMemFree().
249       ole32: Remove redundant NULL check before CoTaskMemFree().
250       windowscodecs: Use the ARRAY_SIZE() macro.
251       windowscodecs: Remove redundant NULL check before HeapFree().
252       mshtml: Print the debug string and not the pointer to it.
253       shell32: Avoid FALSE : TRUE conditional expressions.
255 Nikolay Sivov (40):
256       d3d11: Implement d3d11_device_GetImmediateContext1().
257       api-ms-win-core-libraryloader-l1-2-1: Add missing FindResourceW() forward.
258       comctl32/progress: Handle min == max case in PBM_STEPIT.
259       ntdll: Store range upper boundary for dynamic unwind entry.
260       ntdll: Keep unwind table entry count instead of a size.
261       ntdll: Implement growable unwind tables API.
262       user32/dialog: Fix setting negative dialog item ids.
263       dwrite: Use array for script tags.
264       dwrite: Use helper to trace 4 byte tags.
265       dwrite: Remove special case for vertical variants.
266       dwrite/layout: Improve overhangs metrics computation.
267       dwrite: Use a helper for design advances.
268       dwrite/analyzer: Preserve inter-cluster spacing when apply spacing properties.
269       dwrite/tests: Some more tests for ComputeGlyphOrigins().
270       dwrite: Validate font data when retrieving supported unicode ranges data.
271       dwrite: Validate 'gasp' data before accessing it.
272       dwrite: Validate 'CPAL' data before using it.
273       comctl32/rebar: Do not use global variable for debug buffer (Coverity).
274       ntdll: Make LdrFindResource_U() and LdrFindResourceDirectory_U() patchable.
275       shell32: Remove duplicated assignment (Coverity).
276       usp10/tests: Add missing return value checks (Coverity).
277       include: Fix a typo in D2D1_WINDOW_STATE values.
278       ole32: Implement chained IInitializeSpy support.
279       ole32/tests: Test flags passed to spy methods.
280       d3dx9: Use wincodecs directly without initializing COM system.
281       dwrite: Validate 'COLR' data before using it.
282       dwrite: Validate 'CBLC' data before using it.
283       dwrite: Validate 'sbix' data before using it.
284       dwrite: Validate 'VDMX' data before using it.
285       dwrite/tests: Add some tests for setting glyph properties from GDEF.
286       dwrite: Add a helper to get shaped glyph positions.
287       dwrite: Resolve script and language to apply positional features.
288       dwrite: Collect and sort positional lookups.
289       dwrite: Add a helper to apply positional lookup.
290       dwrite: Implement masking with positional lookup flags.
291       winhttp/tests: Add a couple of return value tests (Coverity).
292       dwrite: Implement single adjustment, GPOS lookup 1.
293       dwrite: Implement pair adjustment, GPOS lookup 2.
294       dwrite: Implement cursive attachment, GPOS lookup 3.
295       dwrite: Implement mark-to-base attachment, GPOS lookup 4.
297 Orhan Kavrakoğlu (3):
298       crypt32: Add CryptImportPublicKeyInfoEx2 stub.
299       crypt32: Implement CryptHashCertificate2.
300       crypt32/tests: Add tests for CryptHashCertificate2.
302 Paul Gofman (6):
303       d3dx9: Factor out {lock|unlock}_surface() functions.
304       d3dx9: Use temporary surface in D3DXFillTexture() for unmappable textures.
305       d3dx9/tests: Add test for D3DXFillVolumeTexture() with default pool texture.
306       d3dx9: Do not ignore surface map failure in D3DXSaveSurfaceToFileInMemory().
307       d3dx9: Use temporary surface in D3DXSaveSurfaceToFileInMemory() for unmappable textures.
308       d3dx9: Use {lock|unlock}_surface() in D3DXLoadSurfaceFromMemory().
310 Piotr Caban (4):
311       msvcrt: Optimize tolower function when locale was never changed.
312       msvcrt: Optimize toupper function when locale was never changed.
313       wbemprox: Add Win32_NetworkAdapter DeviceAdapterID property.
314       wbemprox: Add Win32_NetworkAdapter Description property.
316 Sebastian Lackner (1):
317       wtsapi32: Improve WTSQueryUserToken stub.
319 Sven Baars (18):
320       dswave/tests: Fix a memory leak (Valgrind).
321       dmband/tests: Fix a memory leak (Valgrind).
322       dmcompos/tests: Fix a memory leak (Valgrind).
323       dmscript/tests: Fix a memory leak (Valgrind).
324       dmstyle/tests: Fix a memory leak (Valgrind).
325       dmusic/tests: Fix a memory leak (Valgrind).
326       msscript.ocx/tests: Fix some memory leaks (Valgrind).
327       kernel32/tests: Fix a memory leak (Valgrind).
328       hlink/tests: Fix some memory leaks (Valgrind).
329       gdiplus/tests: Fix a memory leak (Valgrind).
330       windowscodecs: Fix a memory leak (Valgrind).
331       gdiplus: Fix a memory leak on error path (Valgrind).
332       gdiplus/tests: Add some font family pointer tests.
333       wsdapi: Fix some memory leaks (Valgrind).
334       dmime/tests: Fix a memory leak (Valgrind).
335       dinput/tests: Fix some memory leaks (Valgrind).
336       dinput: Free the device after a callback (Valgrind).
337       strmbase: Fix some memory leaks (Valgrind).
339 Zebediah Figura (78):
340       d3d8/tests: Add a test for MultiplyTransform().
341       d3d9/tests: Add a test for MultiplyTransform().
342       ddraw/tests: Add a test for MultiplyTransform().
343       wined3d: Remove stateblock handling from wined3d_device_multiply_transform().
344       msi/tests: Introduce a variadic check_record() helper.
345       msi/tests: Use check_record() in test_columnorder().
346       msi/tests: Use check_record() in test_dbmerge().
347       msi/tests: Use check_record() in test_select_column_names().
348       msi/tests: Use check_record() in test_join().
349       setupapi: Store the path to the driver key in the device key.
350       setupapi: Don't use the devnode to allocate driver keys.
351       setupapi/tests: Create the setup class key before trying to create the driver key.
352       setupapi: Also remove the driver key in remove_device().
353       wined3d: Remove stateblock handling from wined3d_device_set_shader_resource_view().
354       wined3d: Remove stateblock handling from wined3d_device_set_sampler().
355       wined3d: Remove stateblock handling from wined3d_device_set_pipeline_unordered_access_view().
356       wined3d: Remove stateblock handling from wined3d_device_set_stream_output().
357       wined3d: Remove stateblock handling from wined3d_device_set_constant_buffer().
358       hal: Limit exports to the appropriate architectures.
359       ntoskrnl.exe: Implement KeInitializeSpinLock().
360       hal: Implement KeReleaseSpinLock().
361       ntoskrnl.exe: Implement KeReleaseSpinLock().
362       hal: Implement KeAcquireSpinLock().
363       ntoskrnl.exe: Implement KeAcquireSpinLockRaiseToDpc().
364       msi/tests: Use check_record() in more places.
365       msi: Get rid of the find_matching_rows() view operation.
366       msi: Get rid of the remove_column() view operation.
367       msi: Use a BOOL to track string persistence.
368       msi: Use 0-indexed row numbers in the modify() view operation.
369       ntoskrnl.exe: Implement IoReleaseCancelSpinLock().
370       ntoskrnl.exe: Implement IoAcquireCancelSpinLock().
371       ntoskrnl.exe: Implement ExInterlockedRemoveHeadList().
372       ntoskrnl.exe: Implement PsTerminateSystemThread().
373       wined3d: Remove stateblock handling from wined3d_device_set_geometry_shader().
374       wined3d: Remove stateblock handling from wined3d_device_set_compute_shader().
375       wined3d: Remove stateblock handling from wined3d_device_set_predication().
376       d3d9/tests: Add more tests for reset state after DrawIndexedPrimitiveUP().
377       d3d8/tests: Port test_draw_primitive() from d3d9.
378       msi: Factor out int_to_table_storage().
379       msi: Set table values directly in msi_select_update().
380       msi: Get rid of the get_row() view operation.
381       msi: Remove an unnecessary call to SELECT_get_dimensions().
382       msi: Store the IStorage list as an array of STORAGE structures.
383       ntoskrnl.exe/tests: Open the test file for synchronous I/O.
384       ntoskrnl.exe: Implement KeReleaseSpinLockFromDpcLevel().
385       ntoskrnl.exe: Implement KeAcquireSpinLockAtDpcLevel().
386       ntoskrnl.exe: Implement plain spinlock functions on top of DPC-level ones.
387       hal: Implement plain spinlock functions on top of DPC-level ones.
388       wined3d: Introduce a separate structure for stateblock state and store vertex shader state therein.
389       wined3d: Store vertex shader floating point constants in the wined3d_stateblock_state structure.
390       wined3d: Store vertex shader integer constants in the wined3d_stateblock_state structure.
391       wined3d: Store vertex shader boolean constants in the wined3d_stateblock_state structure.
392       wined3d: Store the pixel shader in the wined3d_stateblock_state structure.
393       msi: Support setting streams in msi_select_update().
394       msi: Implement UPDATE queries using msi_select_update().
395       msi: Factor out msi_view_refresh_row().
396       msi: Implement MSIMODIFY_REFRESH using msi_view_refresh_row().
397       msi: Don't check the primary keys when handling MSIMODIFY_DELETE.
398       ntoskrnl.exe: Implement DPC-level queued spinlock functions.
399       ntoskrnl.exe: Implement plain queued spinlock functions on top of DPC-level ones.
400       hal: Implement plain queued spinlock functions on top of DPC-level ones.
401       wined3d: Store pixel shader floating point constants in the wined3d_stateblock_state structure.
402       wined3d: Store pixel shader integer constants in the wined3d_stateblock_state structure.
403       wined3d: Store pixel shader boolean constants in the wined3d_stateblock_state structure.
404       wined3d: Factor our init_default_render_states().
405       wined3d: Store render states in the wined3d_stateblock_state structure.
406       msi/tests: Add some more tests for MsiViewModify() applied to joins.
407       msi: Translate records as appropriate in SELECT_modify().
408       msi/tests: Add more tests for MSIMODIFY_ASSIGN.
409       msi/tests: Add more tests for MSIMODIFY_REFRESH.
410       msi/tests: Add more tests for MSIMODIFY_MERGE.
411       msi/tests: Add more tests for MSIMODIFY_INSERT.
412       include: Add ExInitializeFastMutex() definition.
413       ntoskrnl.exe: Implement APC-level fast mutex functions.
414       hal: Implement plain fast mutex functions on top of APC-level ones.
415       hal: Implement ExTryToAcquireFastMutex().
416       ntoskrnl.exe: Avoid accessing fields of sync objects outside of the sync CS.
417       wined3d: Factor out init_default_texture_state().
419 Zhiyi Zhang (4):
420       user32: Check for null handle in GetRawInputData().
421       user32: Fix a memory leak.
422       msacm32: Reference count local drivers.
423       d3d8: Fix building on Mac.
426 Alexandre Julliard
427 julliard@winehq.org