mfplat: Prevent use after free (Coverity).
[wine.git] / ANNOUNCE
blob97612a33ff8df25c3ae9ca4cfe9f27009d549d51
1 The Wine development release 7.7 is now available.
3 What's new in this release:
4   - More progress on the PE conversion of the X11 and OSS drivers.
5   - Support for UTF-8 as default Ansi codepage.
6   - Theming support for control panel applets.
7   - Various bug fixes.
9 The source is available from the following locations:
11   https://dl.winehq.org/wine/source/7.x/wine-7.7.tar.xz
12   http://mirrors.ibiblio.org/wine/source/7.x/wine-7.7.tar.xz
14 Binary packages for various distributions will be available from:
16   https://www.winehq.org/download
18 You will find documentation on https://www.winehq.org/documentation
20 You can also get the current source directly from the git
21 repository. Check https://www.winehq.org/git for details.
23 Wine is available thanks to the work of many people. See the file
24 AUTHORS in the distribution for the complete list.
26 ----------------------------------------------------------------
28 Bugs fixed in 7.7 (total 11):
30    6682  IrfanView's 4.44 Help -> About window is missing a picture on the left
31   24574  RAR Password Recovery Magic initial (registration) window is empty and doesn't allow any interaction
32   45916  x64dbg fails to load debuggee, needs ThreadScheduler_ScheduleTask
33   52223  activeCodePage utf-8 in application manifest not respected
34   52640  Steam does not display anything when using the Vulkan renderer (stack overflow from official Vulkan loader calling into dxgi)
35   52679  Anno 1602 / 1602 A.D. graphics too dark / black
36   52703  64-bit Irfanview crashes on startup
37   52763  ConEmu doesn't work with winver > Win8.1
38   52787  Invalid function prototype for "RegisterUserApiHook" when compiling for C++
39   52809  steamwebhelper.exe crashes repeatedly since 2aa4673f32
40   52825  Capella help crashes with Error "qtwebengingeprocess has serious errors"
42 ----------------------------------------------------------------
44 Changes since 7.6:
46 Alex Henrie (1):
47       kernel32: Fix percentage calculation in GetSystemPowerStatus.
49 Alexandre Julliard (31):
50       ntdll: Move some duplicated locale definitions to a common header.
51       ntdll: Move more codepage conversion functions to the common header.
52       ntdll: Use the standard CPTABLEINFO structure for the Unix codepage.
53       ntdll: Support UTF-8 codepage in string conversion functions.
54       kernelbase: Use RtlMultiByteToUnicodeN in IsChar* functions.
55       kernelbase: Avoid redundant locale lookups in GetLocaleInfoA().
56       kernelbase: Support UTF-7/8 codepages in get_codepage_table().
57       kernelbase: Support UTF-8 as default Ansi codepage in MultiByteToWideChar().
58       kernelbase: Support UTF-8 as default Ansi codepage in WideCharToMultiByte().
59       ntdll: Default to UTF-8 codepage at startup.
60       ntdll: Export a few more codepage functions from ntdll.so.
61       win32u: Use the ntdll functions for codepage conversions.
62       win32u: Use character sizes in the codepage conversion functions.
63       win32u: Use CPTABLEINFO to store the Ansi/OEM codepages.
64       win32u: Support UTF-8 as the default Ansi codepage.
65       msvcrt: Fix mbcs initialization for UTF-8 codepage.
66       ntdll: Initialize the system locale on the Unix side.
67       kernelbase: Move codepage initialization to ntdll.
68       ntdll: Add support for 2019 and 2020 WindowsSettings namespaces.
69       ntdll: Support overriding the codepage from the manifest.
70       ole32: Fix sign expansion of codepage values.
71       user32: Pass a valid length to RtlUnicodeToMultiByteN/RtlMultiByteToUnicodeN.
72       user32/tests: Fix some tests that break in UTF-8 codepage.
73       gdi32: Support UTF-8 codepage in TranslateCharsetInfo().
74       winedump: Add support for dumping locale.nls.
75       include: Avoid Windows types in CodeView structure definitions.
76       winedump: Fix some incorrect uses of Unix 'long' type.
77       winedump: Avoid using DWORD in private definitions.
78       winedump: Remove unused variables.
79       winedump: Enable compilation with long types.
80       winedump: Build with nameless unions/structs.
82 Alexandros Frantzis (1):
83       win32u: Avoid iterating over a NULL window list when broadcasting.
85 Alistair Leslie-Hughes (1):
86       msado15: Return valid object in Recordset::Clone.
88 Aurimas Fišeras (1):
89       po: Update Lithuanian translation.
91 Austin English (1):
92       dbghelp: Downgrade a FIXME to a WARN.
94 Bernhard Kölbl (8):
95       windows.media.speech/tests: Fix some uses after release.
96       windows.media.speech/tests: Make waits non infinite.
97       windows.media.speech/tests: Remove some tests.
98       windows.media.speech/tests: Remove an unnecessary variable.
99       windows.media.speech/tests: Add tests to check if IAsyncInfo_Close is non blocking.
100       windows.media.speech: Partially implement IAsyncOperation.
101       windows.media.speech: Implement concurrency in IAsyncOperation.
102       windows.media.speech: Add ISpeechRecognitionCompilationResult.
104 Biswapriyo Nath (2):
105       include: Add IArcadeStick interface in windows.gaming.input.idl.
106       include: Add Windows.Gaming.Input.FlightStick runtimeclass declaration.
108 Brendan Shanks (2):
109       wow64cpu: Use different JMP instruction to work around Rosetta bug.
110       ntdll/tests: Test that threads have unique TEBs.
112 Connor McAdams (8):
113       webservices: Set proper minor version for .NET Message Framing Protocol.
114       webservices/tests: Add some tests for session dictionary size.
115       webservices/tests: Add test for binary encoding nested structure handling.
116       webservices: Don't advance binary encoding reader if record type doesn't match.
117       webservices: Check for channel state in WsReceiveMessage.
118       webservices: Properly handle max session dictionary size channel property.
119       webservices: Respect session dictionary size limits on send dictionary.
120       webservices: Respect session dictionary size limits on receive dictionary.
122 Daniel Lehman (1):
123       include: Add some math declarations.
125 Eric Pouech (17):
126       combase: Use I64 width modifier for 64-bit integers.
127       rtqwork: Trace 64-bit integers with I64 width modifier.
128       rpcrt4: Don't cast ptrdiff_t to ULONG in traces, use %I instead.
129       ntdll/tests: Simplify printf for 64 bit integers.
130       wininet/tests: Simplify printf for 64 bit integers.
131       winedbg: Simplify printf for 64 bit integers.
132       oleaut32/tests: Simplify test by using long long constants.
133       oleaut32/tests: Simplify printf for 64 bit integers.
134       kernel32/tests: Add more CreateProcess console management tests.
135       server: Use negative values for console pseudo handles.
136       kernelbase: Provide a pseudo console environment for initial CUI processes not tied to a Unix tty.
137       windowscodecs/tests: Simplify printf for 64 bit integers.
138       d3dxof: Don't cast ptrdiff_t to ULONG in traces, use %I instead.
139       d3dx10: Fix long type warnings.
140       start: Remove workaround for /exec without console.
141       kernel32/tests: Make the console tests pass if current console is shell-no-window.
142       kernel32/tests: Adapt duplicate console handle test to non-Win7 handles.
144 Esme Povirk (2):
145       gdiplus: Accept newer version in OpenType header.
146       windowscodecs: pceltFetched is optional in IWICEnumMetadataItem.
148 Floris Renaud (1):
149       po: Update Dutch translation.
151 François Gouget (4):
152       conhost: Fix the spelling of a couple of comments.
153       winegstreamer: Fix the spelling of a comment.
154       crypt32/tests: Fix the spelling of an ok() message.
155       riched20/tests: Fix the spelling of a comment.
157 Gabriel Ivăncescu (26):
158       urlmon: Add basic implementation of MapBrowserEmulationModeToUserAgent.
159       mshtml: Always return the custom user agent if it has been set.
160       urlmon: Return the currently set user agent when 'version' is invalid.
161       jscript: Handle PROP_IDX in jsdisp_get_own_property.
162       jscript: Make idx props enumerable.
163       jscript: Throw proper error when invoking non-method builtin.
164       jscript: Accept DISPATCH_PROPERTYPUTREF for jsdisps.
165       mshtml/tests: Add initial tests for NULL Dispatch objects in scripts.
166       jscript: Treat NULL disps as actual null values in html mode.
167       jscript: Defer lookup to the actual locals for function statements.
168       mshtml: Implement enumerator for HTMLStyleSheetsCollection.
169       mshtml: Implement enumerator for HTMLRectCollection.
170       mshtml: Implement enumerator for HTMLFormElement.
171       mshtml: Implement enumerator for HTMLSelectElement.
172       mshtml: Move some static functions up.
173       mshtml: Implement enumerator for HTMLAttributeCollection.
174       jscript: Handle NULL return pointers in all constructors.
175       jscript: Move Set below Map.
176       jscript: Iterate through the map in a helper function.
177       jscript: Set a map entry using a helper function.
178       jscript: Pass the Map object to the callback when iterating.
179       jscript: Support passing 'this' context to the Map callback when iterating.
180       jscript: Compare numbers in a Map bitwise for equality.
181       jscript: Implement Set on top of Map.
182       jscript: Use proper error description for invalid Set 'this'.
183       jscript: Initialize hres in String constructor.
185 Giovanni Mascellani (2):
186       mfreadwrite/reader: Make the stream sample allocator callback own a reference to the source reader.
187       mfreadwrite/reader: Unset sample allocator callbacks while destroying the source reader.
189 Hans Leidekker (2):
190       crypt32/tests: Get rid of workarounds for old Windows versions.
191       webservices: Always set channel state to WS_CHANNEL_STATE_FAULTED when a send or receive operation failed.
193 Hugh McMaster (13):
194       regedit: Use wide character string literals in childwnd.c.
195       regedit: Use wide character string literals in edit.c.
196       regedit: Use wide character string literals in framewnd.c.
197       regedit: Use wide character string literals in hexedit.c.
198       regedit: Use wide character string literals in listview.c.
199       regedit: Use wide character string literals in regedit.c.
200       regedit: Use wide character string literals in treeview.c.
201       regedit: Use wide character string literals in main.c.
202       regedit: Use wide character string literals in regproc.c.
203       regedit: Mark WCHAR szFrameClass static.
204       regedit: Mark WCHAR szTitle static.
205       regedit: Remove unused WCHAR szHexEditClass from main header.
206       conhost: Save default font's pitch and family on first run.
208 Huw D. M. Davies (55):
209       wineoss: Explicitly store the channel count in the client.
210       wineoss: Dynamically size the devnode array.
211       wineoss: Use the global lock to lock the session.
212       wineoss: Introduce a stream structure.
213       wineoss: Move is_format_supported to the unixlib.
214       wineoss: Don't cache the oss_audioinfo in the client.
215       wineoss: Move the stream creation to AudioClient_Initialize().
216       wineoss: Move get_mix_format to the unixlib.
217       wineoss: Use the stream ptr to indicate the init state.
218       wineoss: Store the mute state in the stream.
219       wineoss: Use the sessions lock to lock the client's data.
220       wineoss: Use a pthread mutex for the stream lock.
221       wineoss: Use NtAllocateVirtualMemory() to alloc the buffers returned to the user.
222       wineoss: Move create_stream and release_stream to the unixlib.
223       wineoss: Move get_buffer_size to the unixlib.
224       wineoss: Move get_latency to the unixlib.
225       wineoss: Move get_current_padding to the unixlib.
226       wineoss: Store the period in 100ns units.
227       wineoss: Move timer_loop to the unixlib.
228       wineoss: Move start to the unixlib.
229       wineoss: Move stop to the unixlib.
230       wineoss: Move reset to the unixlib.
231       wineoss: Move set_event_handle to the unixlib.
232       wineoss: Move get_render_buffer to the unixlib.
233       wineoss: Move release_render_buffer to the unixlib.
234       wineoss: Move get_capture_buffer to the unixlib.
235       wineoss: Move release_capture_buffer to the unixlib.
236       wineoss: Move get_next_packet_size to the unixlib.
237       wineoss: Move get_frequency to the unixlib.
238       wineoss: Move get_position to the unixlib.
239       wineoss: Move is_started to the unixlib.
240       wineoss: Move set_volumes to the unixlib.
241       wineoss: Remove some unused members.
242       wineoss: Remove preprocessor checks for SNDCTL_SEQ_NRMIDIS.
243       wineoss: Move midi_init to the unixlib.
244       winealsa: Wait for the notify buffer to empty, rather than dropping an event.
245       wineoss: Store the sequencer fd in the driver struct.
246       wineoss: Add a temporary syscall to open and close the seq fd.
247       wineoss: Add a temporary midi_out_fm_patch syscall.
248       wineoss: Add a temporary midi_out_fm_reset syscall.
249       wineoss: Move MODM_OPEN and MODM_CLOSE to the unixlib.
250       wineoss: Use separate functions to handle MODM_DATA for FM synths and ports.
251       wineoss: Move MODM_DATA to the unixlib.
252       wineoss: Move MODM_LONGDATA to the unixlib.
253       wineoss: Move MODM_PREPARE and MODM_UNPREPARE to the unixlib.
254       winepulse: Use UINT64 handles to represent the stream.
255       winepulse: Return offsets rather than ptrs to the strings.
256       winepulse: Limit Wow64 buffer allocations to 32-bit addresses.
257       winepulse: Implement Wow64 entry points in the Unix library.
258       winealsa: Pass a client ptr to the callback instead of a stream.
259       winealsa: Use UINT64 handles to represent the stream.
260       winealsa: Return offsets rather than ptrs to the strings.
261       winealsa: Limit Wow64 buffer allocations to 32-bit addresses.
262       winealsa: Implement Wow64 mmdevapi entry points in the Unix libraray.
263       winealsa: Implement Wow64 midi entry points in the Unix library.
265 Jacek Caban (78):
266       winex11: Directly use ntdll for registry access in setup_options.
267       winex11: Directly use ntdll for registry access in create_xcursor_system_cursor.
268       winex11: Directly use ntdll for registry access in X11DRV_GetICMProfile.
269       winex11: Directly use ntdll for registry access in get_display_device_reg_key.
270       winex11: Directly use ntdll for registry access in read_registry_settings.
271       winex11: Directly use ntdll for registry access in write_registry_settings.
272       win32u: Implement NtGdiGetDCDword.
273       win32u: Implement NtGdiGetDCPoint.
274       winex11: Directly use win32u for GDI functions in bitblt.c.
275       winex11: Directly use win32u for GDI functions in window.c.
276       winex11: Directly use win32u for GDI functions in graphics.c.
277       winex11: Directly use win32u for GDI functions in palette.c.
278       winex11: Directly use win32u for GDI functions in xrender.c.
279       winex11: Directly use win32u for GDI functions in more places.
280       kernelbase: Add support for CREATE_NO_WINDOW flag in CreateProcess.
281       win32u: Introduce inline helpers for NtUserCallNoParam calls.
282       win32u: Use NtUserCallHwndParam for MirrorRgn implementation.
283       win32u: Introduce inline helpers for NtUserCallOneParam calls.
284       win32u: Remove no longer needed NtUserCallOneParam exports.
285       win32u: Introduce inline helpers for NtUserCallTwoParam calls.
286       win32u: Introduce inline helpers for NtUserCallHwnd calls.
287       win32u: Introduce inline helpers for NtUserCallHwndParam calls.
288       winex11: Remove no longer needed helpers.
289       winex11: Directly use win32u for user functions in window.c.
290       user32: Get rid of __wine_set_pixel_format.
291       win32u: Move NtUserExcludeUpdateRgn implementation from user32.
292       win32u: Move NtUserChildWindowFromPointEx implementation from user32.
293       win32u: Move EnableWindow implementation from user32.
294       win32u: Introduce NtUserMapWindowPoints.
295       win32u: Move NtUserClientToScreen implementation from user32.
296       win32u: Introduce NtUserGetMessagePos.
297       winex11: Directly use win32u for user functions in mouse.c.
298       winex11: Directly use win32u for user functions in opengl.c.
299       winex11: Directly use win32u for user functions in settings.c.
300       winex11: Directly use win32u for user functions in event.c.
301       winex11: Directly use win32u in more places.
302       win32u: Move NtUserTranslateMessage implementation from user32.
303       win32u: Move CreatePopupMenu implementation from user32.
304       win32u: Move NtUserCheckMenuItem implementation from user32.
305       win32u: Move NtUserEnableMenuItem implementation from user32.
306       win32u: Move DrawMenuBar implementation from user32.
307       win32u: Move ShowOwnedPopups implementation from user32.
308       win32u: Move more WM_SYSCOMMAND handling from user32.
309       win32u: Use winuser.h inline rect helpers.
310       ntdll: Provide RtlInitUnicodeString for unixlibs.
311       win32u: Use RtlInitUnicodeString from ntdll.so.
312       winex11: Use pthread for surface locking.
313       winex11: Use pthread for keyboard lock.
314       winex11: Use pthread for synchronization in opengl.c.
315       winex11: Use pthread for palette locking.
316       winex11: Use pthread for settings locking.
317       winex11: Use pthread for synchronization in vulkan.c.
318       winex11: Use pthread for win data locking.
319       winex11: Use pthread for D3DKMT locking.
320       winex11: Use pthread for error handler locking.
321       winex11: Use pthread for xrandr locking.
322       winex11: Use pthread for xrender locking.
323       winex11: Use NtUserBuildHwndList for has_owned_popup implementation.
324       winex11: Use build_hwnd_list for X11DRV_DisplayDevices_Update implementation.
325       winex11: Use pthread_once in create_x11_physdev.
326       win32u: Expose public parts of user_thread_info in ntuser.h.
327       winex11: Use NtUserGetThreadInfo to access thread data.
328       winex11: Use TEB to store driver thread data.
329       winex11: Directly use ntdll in display_device_init mutex.
330       win32u: Move NtUserFindWindowEx implementation from user32.
331       win32u: Move NtUserSetMenuContextHelpId implementation from user32.
332       win32u: Move NtUserGetMenuItemRect implementation from user32.
333       win32u: Move NtUserSetMenu implemenetation from user32.
334       win32u: Move GetMenuInfo implementation from user32.
335       win32u: Move is_window_rect_full_screen implementation from winex11.
336       winex11: Use Unix environment variable in remove_startup_notification.
337       win32u: Move NtUserThunkedMenuInfo implementation from user32.
338       win32u: Move NtUserSetMenuDefaultItem implementation from user32.
339       win32u: Move NtUserSetClipboardViewer implementation from user32.
340       win32u: Move NtUserChangeClipboardChain implementation from user32.
341       win32u: Move EnumClipboardFormats implementation from user32.
342       winex11: Use a simple sdbm hash implementation in X11DRV_GetICMProfile.
343       winex11: Directly use ntdll in X11DRV_GetICMProfile.
345 Jinoh Kang (1):
346       include: Remove duplicate definitions of UOI_* macros.
348 Julian Rüger (1):
349       po: Update German translation.
351 Matteo Bruni (1):
352       d3dxof/tests: Remove redundant skips after ok() calls.
354 Mohamad Al-Jaf (2):
355       include: Add CMSMPEGDecoderMFT coclass.
356       include: Add CLSID_MSVPxDecoder declaration.
358 Nikolay Sivov (25):
359       evr/mixer: Implement GetAvailableVideoProcessorModes().
360       evr/mixer: Implement GetVideoProcessorCaps().
361       hlink: Use CRT allocation functions.
362       hlink: Return requested interface when creating IHlinkBrowseContext instance.
363       hlink: Return requested interface when creating IHlink instance.
364       hlink: Return correct requested interface from HlinkCreateFromMoniker().
365       hlink: Return requested interface from HlinkCreateFromString().
366       mfplat: Fix alignment used by audio buffers created with MFCreateMediaBufferFromMediaType().
367       wbemprox: Use CRT memory allocation functions.
368       wbemprox: Remove string duplication helper.
369       evr: Add IAMFilterMiscFlags interface.
370       d3dxof: Build without -DWINE_NO_LONG_TYPES.
371       d3dx10: Build without -DWINE_NO_LONG_TYPES.
372       ddrawex: Build without -DWINE_NO_LONG_TYPES.
373       ddrawex/tests: Build without -DWINE_NO_LONG_TYPES.
374       ddrawex/tests: Simplify refcount helper.
375       d3dxof/tests: Build without -DWINE_NO_LONG_TYPES.
376       d3dxof/tests: Simplify refcount helper.
377       ddraw: Build without -DWINE_NO_LONG_TYPES.
378       xmllite/tests: Use wide string literals.
379       gdi32: Use NtUserGetSysColor() directly.
380       dwrite/tests: Use safe table access helpers for GetFontSignature().
381       dwrite/tests: Fix context text.
382       wusa: Remove string duplication helper.
383       ddraw: Improve tracing format for unsigned fields.
385 Paul Gofman (5):
386       msvcp140: Implement _Copy_file().
387       kernelbase: Reset last error on success in CopyFileExW().
388       ntdll: Increase kernel stack size.
389       ntdll: Remove unused PTHREAD_STACK_MIN definition.
390       crypt32: Support CERT_QUERY_OBJECT_BLOB in CRYPT_QueryEmbeddedMessageObject().
392 Rafał Harabień (2):
393       user32: Use SWP_NOACTIVATE flag when resizing etched static control.
394       user32/tests: Remove duplicated SS_*RECT static control tests.
396 Rémi Bernon (23):
397       kernel32/tests: Add invalid pointer heap validation tests.
398       kernel32/tests: Add some GetProcessHeaps tests.
399       kernel32/tests: Add some HeapWalk tests.
400       kernel32/tests: Cleanup and add Heap(Query|Set)Information tests.
401       kernel32/tests: Add some HeapWalk tests for the LFH frontend.
402       kernel32/tests: Tweak tests results for w7pro64.
403       kernel32/tests: Reduce the number of GlobalAlloc size tests.
404       ntdll: Use a dedicated member for shared heap flag.
405       ntdll: Fix main heap struct layout and flags members.
406       kernelbase: Allocate global memory handle table dynamically.
407       include: Add Windows.Gaming.Input.RacingWheel runtimeclass declaration.
408       include: Remove nested namespaces in windows.gaming.input.forcefeedback.idl.
409       include: Add Windows.Gaming.Input.ForceFeedback.IForceFeedbackEffect interface declaration.
410       dinput/tests: Add tests for joystick with many axes and units.
411       dinput/tests: Add some IRawGameController_get_ForceFeedbackMotors tests.
412       dinput/tests: Queue IRP when the expect ret_status is STATUS_PENDING.
413       dinput/tests: Add more IForceFeedbackMotor and IAsyncOperation_boolean tests.
414       windows.gaming.input: Introduce Windows.Gaming.Input.RacingWheel activation factory.
415       windows.gaming.input: Implement IRacingWheelStatics interface for RacingWheel.
416       windows.gaming.input: Implement ICustomGameControllerFactory interface for RacingWheel.
417       windows.gaming.input: Implement IRacingWheelStatics2 interface for RacingWheel.
418       windows.gaming.input: Implement RacingWheel runtimeclass stub.
419       dinput/tests: Add some RacingWheel runtimeclass tests.
421 Timo Zuccarello (1):
422       winex11.drv: Do not assign reserved virtual key 0xE0 to key codes.
424 Zebediah Figura (27):
425       winegstreamer: Use WG_MAJOR_TYPE_UNKNOWN to mark a stream that should not be forced into a certain format.
426       winegstreamer: Explicitly disable streams in start_pipeline().
427       winegstreamer: Explicitly disable streams in parser_init_stream().
428       winegstreamer: Enable wg_parser streams on creation.
429       ntdll/tests: Add some tests for NtQueryDirectoryObject().
430       ntdll: Do not write the "context" parameter of NtQueryDirectoryObject on failure.
431       ntdll: Do not write the "ret_size" parameter of NtQueryDirectoryObject on failure.
432       server: Return STATUS_BUFFER_TOO_SMALL instead of STATUS_BUFFER_OVERFLOW from get_directory_entry.
433       kernelbase: Set user_lcid to the user locale, not the system locale.
434       ntdll: Return the required length from NtQueryDirectoryObject().
435       ntdll: Don't return STATUS_BUFFER_OVERFLOW if the buffer is too small to hold one entry.
436       ntdll: Write a null terminator in NtQueryDirectoryObject.
437       include: Add amva.h.
438       include: Add videoacc.idl.
439       quartz/tests: Test more VMR7 interfaces in all modes.
440       quartz/tests: Check for IAMVideoAccelerator.
441       quartz/vmr9: Stub IAMVideoAccelerator.
442       wined3d: Factor out context_gl_apply_texture_draw_state().
443       wined3d: Make wined3d_context_gl_set_draw_buffer() static.
444       user.exe: Implement SetSystemTimer() using SetTimer().
445       user32: Toggle the caret based on the timer ID in DispatchMessage().
446       user32: Update mouse tracking information based on the timer ID in DispatchMessage().
447       win32u: Remove the "proc" parameter to NtUserSetSystemTimer().
448       win32u: Do not call the lparam for WM_SYSTIMER messages.
449       user32: Do not call the lparam for WM_SYSTIMER messages.
450       setupapi: Avoid leaking subKey in SETUPDI_AddDeviceInterfaces().
451       ddraw/tests: Use winetest_push_context() in test_viewport().
453 Zhiyi Zhang (14):
454       include: Avoid a C++ keyword for RegisterUserApiHook().
455       kernel32/tests: Check against INVALID_HANDLE_VALUE for CreateActCtxW() return values.
456       kernel32/tests: Add more CreateActCtx() tests.
457       shell32: Activate context at ID 123 before loading control panel applets.
458       rundll32: Activate context at ID 123 before calling library functions.
459       appwiz.cpl: Enable visual styles.
460       inetcpl.cpl: Enable visual styles.
461       joy.cpl: Enable visual styles.
462       ieframe: Enable visual styles.
463       user32/tests: Avoid unnecessary display mode changes.
464       user32/tests: Test NUMCOLORS for display DCs.
465       win32u: Return -1 for NUMCOLORS with 8-bit display DCs.
466       include: Add windows.foundation.metadata.idl.
467       wintypes: Add stub dll.
469 Ziqing Hui (5):
470       d2d1/tests: Add tests for GetImageLocalBounds().
471       d2d1: Implement GetImageLocalBounds() for bitmap.
472       d2d1/tests: Add tests for context unit mode.
473       d2d1: Implement GetUnitMode().
474       d2d1: Implement SetUnitMode().
477 Alexandre Julliard
478 julliard@winehq.org