kernel32/tests: Add a test to check some fields in fake dlls.
[wine.git] / ANNOUNCE
blob0a80490dac5d2fc185c59c711386a7fa218f9c6e
1 The Wine development release 4.2 is now available.
3 What's new in this release (see below for details):
4   - Unicode string normalization support.
5   - Support for ECC cryptographic keys.
6   - Support for mixing 32/64-bit dlls in the load path.
7   - Futex-based implementations for more synchronization primitives.
8   - Various bug fixes.
10 The source is available from the following locations:
12   https://dl.winehq.org/wine/source/4.x/wine-4.2.tar.xz
13   http://mirrors.ibiblio.org/wine/source/4.x/wine-4.2.tar.xz
15 Binary packages for various distributions will be available from:
17   https://www.winehq.org/download
19 You will find documentation on https://www.winehq.org/documentation
21 You can also get the current source directly from the git
22 repository. Check https://www.winehq.org/git for details.
24 Wine is available thanks to the work of many people. See the file
25 AUTHORS in the distribution for the complete list.
27 ----------------------------------------------------------------
29 Bugs fixed in 4.2 (total 60):
31   12453  Bad performance in Source based games
32   17913  Port Royale: sea is black
33   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)
34   20083  SIV (System Information Viewer) v4.00 SIVDRIVER crashes to due invalid PIO_STACK_LOCATION->FileObject passed into IRP_MJ_DEVICE_CONTROL dispatch routine
35   21101  Can't use SHIFT key with onboard visual keyboard and wine application
36   23863  The Bard's Tale (2005): unplayable due to almost completely black screen
37   28167  EA Sports FIFA 11 crashes on startup
38   35096  Kerning misbehavior for Hebrew text in Office 2010
39   35889  wine1.6 display fuzzy chinese ttf fonts, but dialog fonts display normal
40   36201  valgrind shows a definite leak under crypt32/tests/store.c
41   36261  valgrind shows a use after free in d3d_device_inner_Release() ddraw/tests/ddraw{4,7}.c
42   36267  valgrind shows an invalid read in ddraw/tests/ddraw4.c
43   36340  valgrind shows several warnings in ddraw/tests/ddraw2.c
44   36343  valgrind shows some leaks in ddraw/tests/ddraw4.c
45   36348  valgrind shows a couple leaks in d3d9/tests/d3d9ex.c
46   36349  valgrind shows a few leaks in d3d9/tests/stateblock.c
47   36380  valgrind shows a possible leak in in ddraw/tests/ddraw1.c
48   36381  valgrind shows a couple possible leaks in in ddraw/tests/ddraw2.c
49   36382  valgrind shows a possible leak in in ddraw/tests/ddraw7.c
50   36620  valgrind shows a few invalid reads in ddraw/tests/ddraw1.c
51   36621  valgrind shows several definite leaks in ddraw/tests/ddraw1.c
52   36623  valgrind shows some leaks in ddraw/tests/ddraw7.c
53   36631  valgrind shows a definite leak in in ddraw/tests/ddraw2.c
54   36658  valgrind shows an invalid read in ddraw/tests/d3d.c
55   36660  ddraw/tests/d3d.c CapsTest crashes under valgrind
56   36689  ddrawex/tests/surface.c crashes under valgrind/nvidia
57   37639  Multiple applications crash on unimplemented function vssapi.dll.?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z (AlphaShadow v1.2, EMC Retrospect 7)
58   38021  64-bit Planetside 2 fails to load bundled xinput1_3.dll (loader must check architecture before trying to load module)
59   38138  Avencast: Rise of the Mage: invisible doors
60   38685  valgrind shows an invalid read in d3d9/tests/d3d9ex.c
61   39080  The Settlers: Rise of an Empire: world geometry broken
62   40036  Shadows of Destiny Crash After Begins
63   41168  Test Drive Unlimited Crash before entry main menu
64   42573  Several Flickering Senran Kagura Shinovi Versus
65   42704  1Password 6.4.377 needs function bcrypt.dll.BCryptDeriveKeyPBKDF2
66   42734  NormalizeString (Unicode normalization) is not implemented
67   42911  Bayonetta: launches but screen stays black
68   44150  Alien vs Predator: Crash in DX11 Mode
69   45312  AC Syndicate needs bcrypt algorythm/functions (ECDH_P256, BCryptGenerateKeyPair, BCryptFinalizeKeyPair)
70   45473  Rogue Squadron 3D crashes on startup
71   45524  Add a futex-based implementation of condition variables
72   45570  League of Legends 8.12+ fails to start a game (anticheat engine, incorrect implementation of LdrInitializeThunk)
73   45820  Symantec Eraser Control Driver 'eeCtrl64.sys' (Norton 360) crashes on unimplemented function ntoskrnl.exe.ExpInterlocked{Push,Pop}EntrySList
74   46047  Multiple applications want Windows 8+ futex-like operations kernelbase.dll.WaitOnAddress, kernelbase.dll.WakeByAddress{All,Single} (VLC)
75   46088  BETest tool from Windows 10 SDK (10.0.17763.x) crashes on unimplemented function vssapi.dll.CreateVssBackupComponentsInternal
76   46127  aria2 1.34 fails to connect, reports 'WinTLS: Channel setup failed. Schannel provider did not fulfill requested flags. Excepted: 33180 Actual: 33052'
77   46208  Elite Dangerous is unstable in wine-devel
78   46252  StarCitizen has bad performance
79   46300  Yousician: unimplemented function mfplat.dll.MFGetSystemTime
80   46341  kernel32/tests/pipe.c shows uninitialized memory use in test_overlapped_transport()
81   46387  ReactOS/Windows XP TASKMGR: Column headers don't scroll when scrolling horizontally (multiple listview or header control)
82   46516  AfterEffects CS16 headless renderer crashes due to missing crypt32 functions CryptHashCertificate2 and CryptImportPublicKeyInfoEx2
83   46565  Disney's Chicken Little displays text upside down
84   46581  HeidiSQL generates OLE error when executing custom queries against MSSQL server.
85   46602  3D Custom Girl fails to render characters
86   46611  Readiris 17 fails to load when d2d1 is enabled: fixme:d2d:d2d_factory_CreateGeometryGroup iface
87   46617  Far Cry v1.40 locks up on the loading screen
88   46618  Far Cry v1.40 locks up when changing screen resolution or anti-aliasing level
89   46631  winecfg fails to load
90   46644  Ichitarou crashes when creating a new document (needs msvcrt._ismbcl1)
92 ----------------------------------------------------------------
94 Changes since 4.1:
96 Alexandre Julliard (29):
97       kernel32: Fix handling of NULL argument in SetDllDirectoryA().
98       ntdll: Don't use current directory for libraries unless explicitly specified in the search path.
99       setupapi/tests: Avoid sizeof in traces.
100       ntdll: Use an NT filename to search for loaded modules.
101       ntdll: Return an NT filename in find_dll_file().
102       ntdll: Pass an NT filename to get_load_order().
103       ntdll: Use NT filenames when loading dlls.
104       ntdll: Remove no longer used parameter from find_fileid_module().
105       ntdll: Pass a flag instead of a file handle to load_builtin_dll().
106       ntdll: Directly try to open the dll file instead of checking for existence first.
107       ntdll: Create the memory mapping for a dll directly at open time.
108       server: Add custom flag for fake dlls in PE image information.
109       ntdll: Use the image info to check for fake dlls.
110       ntdll: Skip dlls of the wrong machine type when searching through the load path.
111       crypt32: Don't build password_to_ascii without GnuTLS.
112       ntdll: Use the current platform as processorArchitecture instead of a wildcard.
113       ntdll: Reimplement init_user_process_params() using RtlCreateProcessParametersEx().
114       ntdll: Hardcode the path of the windows directory for redirects.
115       server: Create the windows directories at startup if necessary.
116       ntdll: Also create the initial process parameters with RtlCreateProcessParametersEx().
117       ntdll: Recreate the process parameters structure once everything has been initialized.
118       ntdll/tests: Add tests for initial process parameters layout.
119       dinput: Add error check to silence a compiler warning.
120       ntdll: Return the kernel process start address from __wine_kernel_init().
121       ntdll: Rename attach_dlls() to LdrInitializeThunk().
122       ntdll: Make the CPU information global.
123       ntdll: Store extended FPU context in NtGetContextThread().
124       ntdll: Store extended FPU state and debug registers in RtlRaiseException().
125       server: Report a 64-bit CPU for IL-only binaries.
127 Alistair Leslie-Hughes (12):
128       combase: Add DllGetActivationFactory stub.
129       comdlg32: Improve PRINT32 dialog.
130       secur32: Fix compile error on older gnutls.
131       include: Add more VSS_* typedefs.
132       include: Add VSS writer enums.
133       include: Convert header vswriter to an idl.
134       include: Add vsbackup.idl.
135       vssapi: Add CreateVssBackupComponentsInternal stub.
136       vssapi: Add ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z stub.
137       dsound: IDirectSoundNotify is only available when DSBCAPS_CTRLPOSITIONNOTIFY is specified.
138       comdlg32: Improve Printer Setup dialog.
139       mfplat: Implement MFGetSystemTime.
141 Andrey Gusev (3):
142       msi: Remove duplicate condition in msi_dialog_destroy().
143       crypt32: Remove duplicate condition in CRYPT_AsnDecodeNameValueInternal().
144       mscoree: Fix condition in CorDebug_Release().
146 Aric Stewart (2):
147       hidclass.sys: Prevent buffer overrun.
148       configure: Use SDL2_LIBS if set.
150 Aurimas Fišeras (1):
151       po: Update Lithuanian translation.
153 Brendan McGrath (2):
154       wineboot: Fix PROCESSOR_ARCHITECTURE reg value.
155       vbscript: Allow more keywords to be used as identifiers.
157 Byeong-Sik Jeon (6):
158       gdi32: Fix vertical rotation.
159       gdi32: Add a helper function to get the transform matrices.
160       gdi32: Add helper functions to cache the glyph metrics.
161       gdi32: Add helper functions to compute the glyph metrics.
162       gdi32: Add helper functions to get GGO glyph bitmap.
163       gdi32: Add a helper macro for FreeType version check.
165 Dmitry Timoshkov (7):
166       windowscodecs: WICConvertBitmapSource should ask IWICFormatConverter::Initialize to use an optimized palette.
167       windowscodecs: Fix behaviour of format converter for indexed formats when NULL or empty palette has been provided.
168       windowscodecs/tests: Add a bunch of new tests for indexed format conversions.
169       windowscodecs/tests: Add some tests for converting 24bppBGR to 8bppIndexed format.
170       crypt32: CryptAcquireCertificatePrivateKey should look up certificate in the user's store if not linked to a provider.
171       wineps.drv: Add stubs for escapes required by Adobe PageMaker.
172       wineps.drv: PostScript header should be written by StartDoc instead of StartPage.
174 Gabriel Ivăncescu (28):
175       comctl32/listbox: Check for out of bounds using the index when painting the item.
176       comctl32/listbox: Use a helper to expand the item array.
177       comctl32/listbox: Shrink the item array with resize_storage.
178       comctl32/listbox: Return proper value for LB_INITSTORAGE.
179       comctl32/tests: Add tests for LB_INITSTORAGE.
180       user32/listbox: Check for out of bounds using the index when painting the item.
181       user32/listbox: Use a helper to expand the item array.
182       user32/listbox: Shrink the item array with resize_storage.
183       user32/listbox: Return proper value for LB_INITSTORAGE.
184       user32/tests: Add tests for LB_INITSTORAGE.
185       comctl32/listbox: Resize the entire item array at once in SetCount.
186       comctl32/listbox: Repaint the old selected item after setting the item selection.
187       comctl32/listbox: Use descr->selected_item for single-selection listboxes when checking selection.
188       comctl32/tests: Test changing the selection styles after listbox creation.
189       comctl32/listbox: Use a helper to retrieve item data by index.
190       comctl32/listbox: Use a helper to retrieve item string by index.
191       comctl32/listbox: Use is_item_selected in more places.
192       comctl32/listbox: Use a helper to set the selected item state.
193       comctl32/listbox: Send LB_RESETCONTENT from RemoveItem rather than DeleteItem.
194       user32/listbox: Resize the entire item array at once in SetCount.
195       user32/listbox: Repaint the old selected item after setting the item selection.
196       user32/listbox: Use descr->selected_item for single-selection listboxes when checking selection.
197       user32/tests: Test changing the selection styles after listbox creation.
198       user32/listbox: Use a helper to retrieve item data by index.
199       user32/listbox: Use a helper to retrieve item string by index.
200       user32/listbox: Use is_item_selected in more places.
201       user32/listbox: Use a helper to set the selected item state.
202       user32/listbox: Send LB_RESETCONTENT from RemoveItem rather than DeleteItem.
204 Hans Leidekker (14):
205       odbc32: Improve tracing in a number of functions.
206       odbc32: Work around drivers that don't accept NULL name length in SQLDescribeCol.
207       odbc32: Improve tracing in the remaining functions.
208       secur32: Add support for client certificate authentication.
209       crypt32/tests: Show that PFXImportCertStore doesn't set CERT_KEY_PROV_INFO_PROP_ID.
210       secur32: Return ISC_RET_USED_SUPPLIED_CREDS for schannel contexts if the feature was requested.
211       secur32: Fix default return flags for schannel contexts.
212       wininet: Trace modifiers in hexadecimal in HttpAddRequestHeaders.
213       bcrypt: Implement BCryptGenerate/FinalizeKeyPair for ECDH P256.
214       bcrypt: Add support for importing and exporting ECC public keys.
215       bcrypt: Add support for importing and exporting ECC private keys.
216       bcrypt: Implement BCryptDeriveKeyPBKDF2.
217       msi: Initialize assembly caches before disabling redirection.
218       msi: Link directly to sxs.
220 Henri Verbeet (1):
221       d3d8: Improve ValidateVertexShader().
223 Huw D. M. Davies (7):
224       kernel32/tests: Move the tests to a per-test todo.
225       kernel32: Initial support for canonical decomposition in NormalizeString().
226       kernel32: Implement canonical reordering.
227       libport: Add support for compatibility decomposition.
228       libport: Add support for singleton decomposition.
229       kernel32: Implement canonical composing.
230       user32/listbox: Remove some unnecessary differences to the comctl32 version.
232 Isira Seneviratne (4):
233       po: Update Sinhala translation.
234       po: Update Sinhala translation.
235       view: Move open dialog filter string to resource file and add extensions.
236       po: Update Sinhala translation.
238 Jacek Caban (13):
239       ntoskrnl.exe: Properly export *SList functions on win64.
240       ntoskrnl.exe: Add PsRevertToSelf stub.
241       ntoskrnl.exe: Implement ExDeleteNPagedLookasideList.
242       ntoskrnl.exe: Set FileObject of IRP passed to driver callbacks.
243       ntoskrnl.exe: Add KeRevertToUserAffinityThread stub.
244       ntoskrnl.exe/tests: Introduce get_proc_address helper.
245       mshtml: Add style.borderCollapse property implementation.
246       mstml: Add style.borderSpacing property implementation.
247       mshtml: Support custom user agent strings in IOmNavigator::get_appVersion.
248       ntoskrnl.exe: Add PsReferenceProcessFilePointer stub.
249       kernel32: Support MUI_LANGUAGE_ID flag in EnumUILanguages.
250       mshtml: Suport load event in HTMLXMLHttpRequest object.
251       mshtml: Expose nsIFormPOSTActionChannel interface from nsChannel object.
253 Jactry Zeng (5):
254       shcore: Don't return E_FAIL in IStream::SetSize() for read-only mode.
255       ole32/tests: Test PropVariantCopy() with VT_UNKNOWN.
256       propsys: Implement PSCreateMemoryPropertyStore().
257       propsys/tests: Add tests of IPropertyStore interface.
258       propsys: Implement PropVariantToDouble().
260 Józef Kucia (12):
261       d3d8/tests: Use correct index variable in test_resource_access() (Coverity).
262       d3d9/tests: Use correct index variable in test_resource_access() (Coverity).
263       d3d11: Avoid using wined3d_stream_output_element for validation.
264       wined3d: Do not convert SO declaration entries.
265       wined3d: Export wined3d_extract_shader_input_signature_from_dxbc().
266       wined3d: Keep original component index in stream output elements.
267       wined3d: Factor out shader_get_stream_output_register_info().
268       wined3d: Remove unnecessary src_format NULL check from arbfp_blit_supported().
269       wined3d: Remove unnecessary src_format NULL check from ffp_blit_supported().
270       wined3d: Remove unnecessary src_format NULL check from glsl_blitter_supported().
271       ddraw/tests: Destroy viewport in test_lighting_interface_versions() (Valgrind).
272       wined3d: Mark dcl_input_ps_{siv, sgv} shader instructions as implemented.
274 Kai Krakow (1):
275       editorconfig: Indent Makefiles properly.
277 Ken Thomases (1):
278       winemac: Fix failure to render OpenGL on macOS 10.14 (Mojave).
280 Lauri Kenttä (1):
281       po: Update Finnish translation.
283 Matteo Bruni (7):
284       d3d9: Refuse to create D3DUSAGE_WRITEONLY textures.
285       d3d8: Refuse to create D3DUSAGE_WRITEONLY textures.
286       ddraw: Refuse to create non-managed DDSCAPS_WRITEONLY surfaces.
287       wined3d: Cleanup stateblock state before enumerating resources.
288       d3d9: Keep track of D3DUSAGE_AUTOGENMIPMAP textures in the d3d9 device.
289       d3d11/tests: Simplify test_cb_relative_addressing() a bit.
290       d3d10core/tests: Simplify test_cb_relative_addressing() a bit.
292 Michael Müller (2):
293       ntoskrnl.exe: Implement ExInitializeNPagedLookasideList.
294       ntoskrnl.exe: Implement NtBuildNumber.
296 Michael Stefaniuc (16):
297       webservices: Delete duplicated return value checks.
298       d3dx9/tests: Actually test the return of the effect SetInt() call.
299       kernelbase: Avoid TRUE : FALSE conditional expressions.
300       taskschd: Avoid TRUE : FALSE conditional expressions.
301       dmime/tests: Test the return value of IDirectMusic_SetDirectSound().
302       gdi32: Avoid TRUE : FALSE conditional expressions.
303       odbc32: Print the debug strings and not the pointers.
304       amstream: Remove useless cast to self.
305       crypt32: Remove useless cast to self.
306       d3d10core/tests: Remove useless casts to self.
307       d3dxof: Remove useless casts.
308       oleaut32/tests: Fix printing of an expected value.
309       oleaut32/tests: Floating point numeric constants are by default doubles.
310       ddraw/tests: Remove useless casts to self.
311       d3d10/tests: Remove useless casts to self.
312       d3d11/tests: Remove useless casts to self.
314 Nikolay Sivov (16):
315       dwrite: Implement mark-to-mark attachment, GPOS lookup 6.
316       dwrite: Add a stub for mark-to-ligature attachment handler.
317       dwrite: Fix positions in outline mode.
318       dwrite: Store outline offset as a vector.
319       comctl32/listview: Take care of scrolling offset when repositioning header.
320       comctl32/listview: Remove duplicated handle check.
321       uiautomationcore: Return success from UiaRaiseAutomationEvent().
322       d2d1: Add ID2D1GeometryGroup stub.
323       uiautomationcore: Add UiaHostProviderFromHwnd() stub.
324       dwrite: Use more appropriate allocation helpers.
325       xmllite/tests: Test complete writer output for UTF-16 case.
326       msvcrt: Add _ismbcl0_l().
327       msvcrt: Add _ismbcl1_l().
328       msvcrt: Add _ismbcl1().
329       msvcrt: Add _ismbcl2_l().
330       msvcrt: Add _ismbcl2().
332 Paul Gofman (19):
333       user32: Select more appropriate stretch mode for colored images interpolation.
334       user32/tests: Add more tests for SetWindowPos() on child window.
335       wined3d: Use lower 8 bits only from _ALPHAREF state.
336       d3d9/tests: Add test for bigger alpha reference values.
337       d3d8/tests: Port test_alphatest() from d3d9.
338       wined3d: Ignore multisample quality for MULTISAMPLE_NONE in context_find_fbo_entry().
339       d3d9/tests: Test mismatched multisample quality with D3DMULTISAMPLE_NONE.
340       ddraw/tests: Port test_alphatest() from d3d9.
341       wined3d: Initialise stream frequency to 1.
342       d3d9/tests: Test GetStreamSourceFreq() before any values were set.
343       wined3d: Return 1e10f for MaxVertexW from wined3d_get_device_caps().
344       d3d9/tests: Add test for MaxVertexW device capability.
345       d3d8/tests: Add test for MaxVertexW device capability.
346       d3d9/tests: Add test for buffer read / write.
347       wined3d: Invalidate _SYSMEM location when mapping opengl buffer.
348       d3dx9/tests: Clear vertex shader constants in test_effect_states().
349       d3dx9/tests: Add more tests for VertexShaderConstant state.
350       d3dx9: Handle short parameter in d3dx_set_shader_const_state().
351       d3dx9: Use parameter data for the first constant only in d3dx_set_shader_const_state().
353 Piotr Caban (9):
354       kernel32/tests: Add file mapping tests on readonly file.
355       kernel32/tests: Test that copy-on-write file mapping is not modifying the file.
356       api-ms-win-crt-private-l1-1-0: Add __std_terminate implementation.
357       msvcrt: Add _ismbbtrail_l implementation.
358       msvcrt: Add _ismbclegal_l implementation.
359       msvcrt: Validate character in _ismbcl0.
360       msvcrt: Use mbtowc/wctomb for string conversion in printf.
361       msvcrt: Use correct locale when validating character in _ismbcl0_l and _ismbcl1_l.
362       msvcrt: Change __getmainargs signature.
364 Sergio Gómez Del Real (2):
365       riched20: Mask out extended flags introduced by CHARFORMAT2 when converting to CHARFORMAT.
366       gdi32/dibdrv: Clip segment points to dib rect in wide_line_segment().
368 Sven Baars (9):
369       ole32: Fix some memory leaks (Valgrind).
370       riched20: Fix IRichEditOle COM aggregation (Valgrind).
371       shell32: Don't return a path from SHGetKnownFolderPath when it can not be created.
372       mstask: Fix some memory leaks on error path (Valgrind).
373       mstask: Move memory allocation to avoid a memory leak (Valgrind).
374       taskschd: Fix some memory leaks (Valgrind).
375       ws2_32: Use heap_realloc instead of HeapReAlloc to avoid an invalid realloc (Valgrind).
376       wininet/tests: Fix some memory leaks (Valgrind).
377       webservices/tests: Add a missing closesocket call (Coverity).
379 Vijay Kiran Kamuju (1):
380       setupapi: Add stub for CM_Get_Sibling.
382 Yussur-Mustafa Oraji (1):
383       httpapi: Add stub for HttpCloseServerSession.
385 Zebediah Figura (36):
386       wined3d: Set the correct matrix in wined3d_device_multiply_transform().
387       wined3d: Store texture states in the wined3d_stateblock_state structure.
388       wined3d: Store textures in the wined3d_stateblock_state structure.
389       wined3d: Factor out init_default_sampler_states().
390       wined3d: Store sampler states in the wined3d_stateblock_state structure.
391       kernelbase/tests: Relax tests for WaitOnAddress().
392       ntdll: Add a futex-based implementation of WaitOnAddress().
393       winebus.sys: Translate SDL controller axes to unsigned 32-bit values.
394       hid: Don't sign-extend 16-bit values.
395       wined3d: Store transforms in the wined3d_stateblock_state structure.
396       wined3d: Store clip planes in the wined3d_stateblock_state structure.
397       wined3d: Store the material in the wined3d_stateblock_state structure.
398       wined3d: Store the viewport in the wined3d_stateblock_state structure.
399       wined3d: Store the scissor rect in the wined3d_stateblock_state structure.
400       wined3d: Store the index buffer in the wined3d_stateblock_state structure.
401       wined3d: Store vertex declaration in the wined3d_stateblock_state structure.
402       wined3d: Store blend factor in the wined3d_stateblock_state structure.
403       wined3d: Store stream state in the wined3d_stateblock_state structure.
404       ntdll: Reimplement condition variables on top of RtlWaitOnAddress().
405       comsvcs/tests: Add tests for implicit MTA creation in RegisterDispenser().
406       comsvcs: Create an implicit MTA thread in RegisterDispenser().
407       ntdll: Add a direct futex-based implementation of condition variables.
408       oleaut32: Register non-dual dispinterfaces using the correct proxy.
409       wined3d: Get rid of apply_lights() helper.
410       wined3d: Introduce a separate structure for light state.
411       wined3d: Introduce wined3d_state_set_light() helper.
412       wined3d: Store lights in the wined3d_stateblock_state structure.
413       wined3d: Correct indices for contained states in wined3d_stateblock_apply().
414       user32/tests: Execute test_shell_window() last.
415       wined3d: Get rid of the "update_state" field from struct wined3d_device.
416       wined3d: Get rid of the "state" field from struct wined3d_stateblock.
417       hid: Correctly sign-extend all values in HidP_GetScaledUsageValue().
418       hid: Scale from logical to physical coördinates in HidP_GetScaledUsageValue().
419       xinput: Use HidP_GetScaledUsageValue().
420       xinput: Use a struct instead of an array to store axis information.
421       xinput: Fix axis scaling arithmetic.
423 Zhiyi Zhang (2):
424       setupapi: Implement SetupDiSetDevicePropertyW.
425       setupapi: Implement SetupDiGetDevicePropertyW.
428 Alexandre Julliard
429 julliard@winehq.org