1 The Wine development release 4.5 is now available.
3 What's new in this release (see below for details):
4 - Support for Vulkan 1.1.
5 - Better support for kernel objects in device drivers.
6 - Still more Media Foundation APIs implemented.
7 - Support for SVG elements in MSHTML.
8 - Fixes for case conversion troubles in Turkish locale.
11 The source is available from the following locations:
13 https://dl.winehq.org/wine/source/4.x/wine-4.5.tar.xz
14 http://mirrors.ibiblio.org/wine/source/4.x/wine-4.5.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.5 (total 30):
32 19098 Regedit randomly crashes when deleting registry keys
33 23455 FileAlyzer 1.6.0.4, Affinity-installer-1.6.5.123 can't load PE images (needs imagehlp.ImageLoad and imagehlp.ImageUnload implementation)
34 26445 URLDownloadToFileW does not support FTP URLs
35 38087 Settlers III: mouse not working on start screen and menu (after fixing raw input bug 33479)
36 38801 Settlers Heritage of Kings crashes when loading a map
37 41591 Solidworks 2016 installer needs ADVAPI32.dll.RegLoadAppKeyW
38 45322 League Of Legends installer on tr_TR.UTF-8: unknown color "systemhighlight"
39 45429 Inno Setup v5.x based game-installers using 'wintb' plugin fail with: 'Runtime error 229 at <address>' (Win7+ ITaskbarList3 ThumbBar/Thumbnail semi-stubs needed)
40 45497 Biamp Systems Nexia v3.3: Button labels missing in DSP controls
41 45998 64-bit FACEIT Anti-cheat client claims "Your system is out of date, you are missing important Windows updates!" (needs 'wintrust.CryptCATAdminAcquireContext2' stub)
42 46115 Cursor in unity games moving down and to the right one pixel on any mouse interaction
43 46222 Star Citizen hang on splash screen
44 46643 Belarc Advisor Computer Inventory 9.0 crashes on unimplemented function advapi32.dll.AuditQuerySystemPolicy with WinVer >= Windows Vista
45 46807 The Sims hangs when opening menus
46 46812 PS4 Remote Play installer 2.8.x fails, claims 'You need the Media Feature Pack' (MsiGetDatabaseState is called from a custom action)
47 46830 Gaea 1.0.x installer stops: err:msi:ITERATE_Actions Execution halted, action L"WixSchedInternetShortcuts" returned 1603 (MsiViewGetErrorA/W() needs to be RPC-compatible)
48 46833 Multiple application installers fail with err:msi:ITERATE_Actions Execution halted, action L"<custom action>" returned 1603 (iTunes 12.9.3.3, Dameware Mini Remote Control 10.x)
49 46845 Freelancer: character glitches in cutscenes after loading a saved game
50 46846 msi x64 installer does not display splash and other texts like a license agreement
51 46848 PTC Mathcad Prime 3.0 Web installer crashes on unimplemented function api-ms-win-crt-convert-l1-1-0.dll.wctrans
52 46851 Can't input Japanese text after updating to 4.4.
53 46881 Power World Simulator installer needs unimplemented function msi.dll.MsiSourceListForceResolutionW
54 46885 Multiple applications fail to install with wine-4.4-114-g15f852015a+, reporting err:msi:ITERATE_Actions Execution halted, action L"BindImage" returned 1615 (MS Office 2007, AstroToaster 2.x. MS .NET Framework 4.x)
55 46892 redefinition of typedef ‘UUID’
56 46894 SIMATIC WinCC V15.1 Runtime installer (.NET 4.0) fails in CoreLib::GetPhysicalMemoryAmountWmi() (missing 'DeviceLocator' property of 'Win32_PhysicalMemory' WMI class)
57 46895 SIMATIC WinCC V15.1 Runtime installer (.NET 4.0) fails due to missing 'OperatingSystemSKU' property of 'Win32_OperatingSystem' WMI class
58 46906 SIMATIC WinCC V15.1 Runtime installer: SeCon tool 'SeCon_Win32.exe' crashes due to hnetcfg 'INetFwRules::get__NewEnum' not initializing out parameter
59 46907 msi crashes in RemoveFiles action for a broken msi
60 46908 Support msvcp mtx_init 'mtx_try' flag (0x2) to create a mutex object that supports test and return
61 46909 Missing (black) textures in Black & White
63 ----------------------------------------------------------------
68 user32/tests: Skip margin tests if a font for the target charset isn't available.
69 user32/tests: Use EM_SETMARGINS to test EC_USEFONTINFO margins.
70 user32: Fix minimum control size conditions when using EC_USEFONTINFO.
71 user32/tests: Move the default margin size tests into a separate function.
72 user32/tests: Add Unicode version tests for Edit control margins.
73 user32/tests: Tests default margin size with various font face.
74 imm32: Correctly return the size of the required output buffer.
76 Alexandre Julliard (22):
77 winebuild: Use proper RVAs for the export table on Windows.
78 makefiles: Pass --subsystem to the linker also.
79 winebuild: Set the import hint based on the name index.
80 winebuild: List stubs in the import library .def files.
81 winedump: Also print the thunk address for ordinal imports.
82 make_unicode: Don't output array sizes that could be over-estimated.
83 ntdll: Default to 7-bit ASCII before codepages are initialized.
84 libwine: Move wctype tables to libwine_port.
85 libwine: Move casemap tables to libwine_port.
86 libwine: Move collation table to libwine_port.
87 imagehlp: Get rid of the custom heap.
88 msvcrt: Export the onexit functions from the import library.
89 msvcrt: Export the __acrt_iob_func function from the import library.
90 ntdll/tests: Mark as broken a test that fails on win2003.
91 shell32: Load wine_get_build_id() dynamically.
92 user32: Add a dummy _wassert implementation to avoid a Mingw build issue.
93 libwine: Move string functions to libwine_port.
94 msvcrt: Only add __acrt_iob_func() to the import library of msvcrt itself.
95 msvcrt: Only add the onexit functions to the import library of msvcrt itself.
96 msvcrtd: Share source with msvcrt.
97 crtdll: Share source with msvcrt.
98 Revert "libwine: Move string functions to libwine_port."
100 Alistair Leslie-Hughes (2):
101 regedit: Grow the buffer when modifying a DWORD value.
102 urlmon: Pass unescaped URLs to InternetOpenUrl in ftp protocol handler.
105 winecoreaudio.drv: Remove useless cast to self.
106 wineandroid.drv: Remove useless cast to self.
107 ntdll: Fix memory region check in NtQueryVirtualMemory.
110 winebus.sys: Add UID to IOHID devices.
113 po: Update Lithuanian translation.
114 po: Update Lithuanian translation.
117 advapi32: Add RegLoadAppKeyA/RegLoadAppKeyW stubs.
120 kernel32: Allow empty profile section and key name strings.
123 ntdll: Fix unwinding from leaf function on x86_64.
124 ntoskrnl.exe: Implement ObGetObjectType.
125 ntoskrnl.exe: Add IoWMIOpenBlock stub.
126 ntoskrnl.exe: Add emulation of rdmsr for MSR_LSTAR control register.
127 ntoskrnl.exe: Update the tick count in KUSER_SHARED_DATA when accessed.
129 Detlef Riekenberg (7):
130 devenum/tests: Accept ERROR_KEY_DOES_NOT_EXIST from IPropertyBag_Read.
131 advapi32/tests: Accept failure code from recent win10.
132 hid/tests: Do not access uninitialized memory.
133 hid/tests: Do not fail when the device is busy.
134 schedsvc/tests: Avoid a crash in a SchRpcRegisterTask test.
135 wer: Fix WER_REPORT_TYPE failures on recent win10.
136 secur32: Handle a new, undefined SECPKG_FLAG value.
139 msidb: Permit specifying tables to import by filename.
140 msidb: Add support for wildcard table import.
143 shell32: In SHRestricted add missing slash.
146 kernel32/tests: A spelling fix in a win_skip() message.
147 ntoskrnl.exe/tests: Make vskip_(), win_skip_() and kmemcpy() static.
148 dbghelp: Make minidump_add_memory64_block() static.
149 mfplat/tests: A wording tweak in a win_skip() messages.
150 d3d12/tests: A spelling fix in a skip() message.
151 xaudio2_7: Add a trailing '\n' to an ERR() message.
152 dwrite/tests: Avoid a couple of unneeded lstrlenW() calls.
153 dwrite: Remove freetype_get_design_glyph_bbox(). It's not used anymore.
155 Gabriel Ivăncescu (2):
156 include: Add PtInRect as inline version of common RECT helpers.
157 include/commctrl: Add style definitions for split buttons.
160 msvcr120: Add [to]wctrans.
161 wintrust: Update spec file.
162 mscat32: Update spec file.
163 wintrust: Add CryptCATAdminAcquireContext2 stub.
164 hnetcfg: Initialize INetFwRules::get__NewEnum out parameter.
165 scrrun/tests: Add more Clone() tests.
166 scrrun: Implement Clone() for drive collection.
169 msi: Disable filesystem redirection only when really needed.
170 wbemprox: Implement Win32_PhysicalMemory.DeviceLocator.
171 wbemprox: Implement Win32_OperatingSystem.OperatingSystemSKU.
172 msi: Avoid a crash in RemoveFiles if the component directory is invalid.
175 wined3d: Do not take "draw_rect" into account when comparing attachment sizes in ffp_blitter_clear().
176 wined3d: Also update the "src_texture_gl" pointer when using a staging texture in the blitter.
178 Isira Seneviratne (14):
179 po: Update Sinhala translation.
180 po: Update Tamil translation.
181 po: Update Sinhala translation.
182 po: Update Sinhala translation.
183 winmm: Correct phrasing of some resource strings.
184 winecfg: Fix some punctuation in error messages.
185 xcopy: Fix punctuation in STRING_HELP string.
186 taskmgr: Replace repeated code with for loops.
187 kernel32/nls: Change Sinhala sublang identifier to SUBLANG_SINHALESE_SRI_LANKA.
188 po: Update Sinhala translation.
189 wineandroid.drv: Add Override annotation to overridden methods.
190 wineandroid.drv: Remove unnecessary 'extends Object' statement.
191 po: Update Sinhala translation.
192 po: Update Tamil translation.
195 jscript: Add Object.create implementation.
196 mshtml: Add IHTMLCSSStyleDeclaration::setProperty implementation.
197 mshtml: Add IHTMLAnchorElement::get_protocol implementation.
198 mshtml: Add IHTMLAnchorElement::get_host implementation.
199 jscript: Support undefined context value in Array.prototype.forEach.
200 jscript: Support undefined context value in Array.prototype.map.
201 mshtml: Set elem_vars to NULL when detaching.
202 mshtml: Remove selection and range objects from document list when detaching.
203 mshtml: Return NULL for document not attached to window in IHTMLDocument7::get_defaultView.
204 mshtml: Use get_parentWindow for IHTMLDocument2::get_Script implementation.
205 jscript: Use parse_decimal for parsing JSON numeric literals starting with 0.
206 mshtml.idl: Add DispHTMLW3CComputedStyle declaration.
207 mshtml: Add IHTMLWindow6::get_localStorage implementation.
208 mshtml: Introduce new CSSStyle type as a base for different style object implementations.
209 mshtml: Move style DispatchEx to CSSStyle.
210 mshtml: Forward HTMLStyle IUnknown calls to IHTMLCSSStyleDeclaration implementation.
211 mshtml: Pass style as CSSStyle to set_style_property.
212 mshtml: Pass style as CSSStyle to set_style_property_var.
213 mshtml: Pass style as CSSStyle to get_style_property.
214 mshtml: Pass style as CSSStyle to get_style_property_var.
215 mshtml: Move style zoom property implementation to IHTMLCSSStyleDeclaration.
216 mshtml: Move backgroundPosition[XY] properties implementation to IHTMLCSSStyleDeclaration.
217 mshtml: Move IHTMLCSSStyleDeclaration implementation to CSSStyle.
218 mshtml: Move IHTMLCSSStyleDeclaration2 implementation to CSSStyle object.
219 server: Introduce kernel_object struct for generic association between server and kernel objects.
220 server: Store pointers to objects created by kernel_object_from_handle in server.
221 server: Allow kernel to keep reference to server objects by client pointer.
222 server: Allow queuing IRPs with no file associated.
223 server: Notify client about freed object so that it may free associated kernel object.
224 ntoskrnl.exe: Support creating event objects from server handle.
225 ntoskrnl.exe: Support waiting on kernel objects.
226 ntoskrnl.exe: Support event functions on kernel objects.
227 mshtml: Add IHTMLCSSStyleDeclaration::getPropertyValue implementation.
228 mshtml: Use CSSStyle for HTMLCurrentStyle implementation.
229 mshtml: Pass style as CSSStyle to current style property getters.
230 mshtml: Use interface agnostic form of dispids for compat_dispid.
231 mshtml: Expose IHTMLCSSStyleDeclaration to scripts from current style object.
232 mshtml: Introduce map_nsresult and use it in return_nsstr.
233 mshtml: Propagate nsIDOMCSSStyleDeclaration errors.
234 mshtml: Add IHTMLWindow7::getComputedStyle implementation.
235 mshtml: Expose getComputedStyle to scripts.
236 mshtml: Handle removeAttribute("filter") calls on detached style objects.
237 mshtml: Add IHTMLElement::getClientRects implementation.
238 mshtml: Add IHTMLRectCollection implementation.
239 mshtml: Alloc proper BSTR size in return_nscstr.
240 mshtml: Add IHTMLDocument7::createElementNS implementation.
241 mshtml: Add IHTMLDOMNode3::get_namespaceURI implementation.
242 mshtml: Add IElementSelector::querySelector implementation.
243 mshtml: Support SVG element style.
244 mshtml: Move detach_document_node call to HTMLDocumentNode_unlink.
245 mshtml: Implement IHTMLElement6::msMatchesSelector.
248 kernel32: Make GetEnvironmentStringsW returns a copy of the environment.
251 wined3d: Pass swap interval to swapchain ops.
252 wined3d: Make adapter partially responsible for filling wined3d caps.
253 wined3d: Set 3D device caps in adapter_gl_get_wined3d_caps().
254 winevulkan: Update vk.xml to 1.1.104.
255 winevulkan: Use blacklist also for instance extensions.
256 winevulkan: Enable VK_EXT_swapchain_colorspace.
257 winevulkan: Implement VK_EXT_host_query_reset.
258 winevulkan: Implement VK_KHR_external_fence_capabilities.
259 winevulkan: Implement VK_KHR_external_memory_capabilities.
260 winevulkan: Implement VK_KHR_external_semaphore_capabilities.
261 winevulkan: Enable a few extensions promoted to core in Vulkan 1.1.
262 winevulkan: Enable Vulkan 1.1.
263 winevulkan: Trace structure types as decimal numbers.
264 winevulkan: Convert VkPhysicalDeviceFeatures2 in VkDeviceCreateInfo chain.
265 dxgi: Add support for building with Win32 Vulkan.
266 d3d12: Add support for building with Win32 Vulkan.
267 d3d12: Load vulkan-1.dll once.
268 d3d12: Call vkd3d_serialize_root_signature() directly.
269 wined3d: Merge if statements in adapter_gl_get_wined3d_caps().
270 wined3d: Introduce a separate structure for OpenGL adapters.
271 include/d3d12: Get rid of duplicated prototype.
272 wined3d: Unset WINED3DFMT_FLAG_TEXTURE for unsupported shadow textures.
273 wined3d: Get rid of special case for shadow textures from wined3d_check_device_format().
274 wined3d: Pass context to vp_free() and free_private().
275 wined3d: Cleanup CheckDepthStencilCapability().
276 wined3d: Always check if format has depth/stencil flags in wined3d_check_depth_stencil_format().
277 wined3d: Cleanup CheckRenderTargetCapability().
278 wined3d: Cleanup wined3d_check_surface_capability().
279 wined3d: Always check format flags in wined3d_check_depth_stencil_match().
280 wined3d: Add adapter_check_format() to adapter_ops.
281 wined3d: Use adapter_check_format() in wined3d_check_depth_stencil_format().
282 wined3d: Call wined3d_check_pixel_format_color() also for adapter format.
283 wined3d: Use adapter_check_format() in wined3d_check_render_target_format().
284 wined3d: Move pixel formats to wined3d_adapter_gl.
285 wined3d: Pass wined3d_adapter to shader_get_caps().
286 wined3d: Pass wined3d_adapter to vp_get_caps().
287 wined3d: Pass wined3d_adapter to fragment_pipe->get_caps().
288 wined3d: Avoid using gl_info in wined3d_get_device_caps().
289 wined3d: Get rid of wined3d_check_render_target_format().
292 msvcrt: Fix vtable alignment on macOS and certain non-x86 architectures.
293 msvcp90: Fix vtable alignment on macOS and certain non-x86 architectures.
294 .editorconfig: Remove the trim_trailing_whitespace setting.
297 krnl386.exe: Add comment explaining what ZeroBits argument of NtMapViewOfSection is for.
300 po: Update Finnish translation.
301 po: Update Finnish translation.
304 explorerframe: Return S_OK in ITaskbarList3 SetThumbnailTooltip method.
305 explorerframe: Return S_OK in ITaskbarList3 ThumbBarAddButtons.
306 explorerframe: Return S_OK in ITaskbarList3 ThumbBarUpdateButtons method.
307 advapi32: Add AuditQuerySystemPolicy stub.
308 uianimation.idl: Add more interfaces.
309 msi: Add MsiSourceListForceResolution{A,W} stub.
312 imagehlp/tests: Add tests for ImageLoad, ImageUnload, GetImageUnusedHeaderBytes.
313 wintrust/tests: Add tests for WinVerifyTrust.
316 d3dx9: Avoid double free on effect initialization failure.
317 d3dx9: Simplify effect cleanup.
318 d3dx9: Simplify effect init.
319 include: Fix D3DXF_FILELOADMEMORY definition.
320 d3dx9/tests: Improve D3DXMatrixInverse() test a tiny bit.
323 imagehlp: Implement ImageLoad and cleanup ImageUnload.
324 d3dx9/tests: Add initial tests for dummy skin info interface.
326 Michael Stefaniuc (46):
327 sti/tests: Remove useless cast to self.
328 d3dx9: Merge the d3dx_effect_GetVertexShader() helper.
329 d3dx9: Pass a struct d3dx_effect to get_valid_parameter().
330 d3dx9: Pass a struct d3dx_effect to get_valid_pass().
331 d3dx9: Pass a struct d3dx_effect to the version helpers.
332 d3dx9: Pass a struct d3dx_effect to add_param_to_tree().
333 d3dx9: Pass a struct d3dx_effect to get_annotation_by_name().
334 d3dx9: Pass a struct d3dx_effect to d3dx9_base_effect_cleanup().
335 xaudio2_7/tests: Remove redundant not-NULL checks (coccinellery).
336 d3dx9: Move param_tree out of struct d3dx9_base_effect.
337 d3dx9: Move full_name_tmp out of struct d3dx9_base_effect.
338 d3dx9: Move full_name_tmp_size out of struct d3dx9_base_effect.
339 d3dx9: Pass a struct d3dx_effect to get_parameter_element_by_name().
340 d3dx9: Don't expose struct d3dx9_base_effect outside effect.c.
341 d3dx9: Don't pass a struct d3dx9_base_effect to d3dx9_base_effect_init().
342 d3dx9: Pass a struct d3dx_effect to d3dx9_create_object().
343 d3dx9: Move technique_count out of struct d3dx9_base_effect.
344 d3dx9: Use get_version_counter_ptr() instead of open coding it.
345 d3dx9: Move parameters out of struct d3dx9_base_effect.
346 d3dx9: Move techniques out of struct d3dx9_base_effect.
347 quartz: Remove useless casts to self.
348 propsys: Remove useless cast to self.
349 comdlg32: Avoid using the comma operator.
350 gdiplus: Avoid using the comma operator.
351 iphlpapi: Drop unneeded continue statements (coccinellery).
352 d3dx9: Avoid using 'This' in d3dx_effect_GetPool().
353 d3dx9: Merge the two pool fields of struct d3dx_effect.
354 d3dx9: Avoid using This in d3dx_effect_Clone().
355 d3dx9: Move flags out of struct d3dx9_base_effect.
356 d3dx9: Get rid of struct d3dx9_base_effect.
357 d3dx9: Secure against unsafe iface to COM object transitions.
358 d3d9/tests: Remove redundant not-NULL checks (coccinellery).
359 dmcompos: Use HIWORD / LOWORD instead of open coding them.
360 dmscript: Use HIWORD / LOWORD instead of open coding them.
361 dmusic: Use HIWORD / LOWORD instead of open coding them.
362 dmusic: Use dump_DMUS_OBJECTDESC() instead of open coding it.
363 dswave: Use HIWORD / LOWORD instead of open coding them.
364 mstask: Avoid using the comma operator.
365 oleacc: Avoid using the comma operator.
366 wineoss.drv: Remove useless cast to self.
367 winealsa.drv: Remove useless cast to self.
368 cmd: Avoid using the comma operator.
369 shell32: Avoid using the comma operator.
370 oleaut32/tests: Remove useless casts to self.
371 d3d8: Actually test two return values.
372 d3d9: Actually test two return values.
375 mferror: Add error messages dll.
376 mfplat: Implement Compare() for attributes.
377 mfplat: Get rid of variant coercion calls.
378 mfplat: Take a shortcut when comparing attribute with mismatching type.
379 mfplat: Add sample timestamp and duration methods.
380 mfplat: Add some sample attributes guids.
381 mfreadwrite: Query presentation descriptor on reader creation.
382 mfplat/tests: Skip more tests on older systems.
383 mfreadwrite: Subscribe to source events on reader creation.
384 mfreadwrite: Shut down source on reader destruction.
385 mfreadwrite: Forward GetPresentationAttribute() to descriptor when appropriate.
386 mfreadwrite: Implement GetServiceForStream() for media source.
387 mfreadwrite: Determine first streams on reader creation.
388 mfreadwrite: Implement stream selection methods for source reader.
389 mfreadwrite: Implement GetNativeMediaType() for source reader.
390 mfplat: Add media source attribute guids.
391 mfreadwrite: Support source configuration with MF_SOURCE_READER_MEDIASOURCE_CONFIG.
392 mfreadwrite: Keep async callback reference for the reader.
393 mfreadwrite: Add support for MF_SOURCE_READER_DISCONNECT_MEDIASOURCE_ON_SHUTDOWN.
394 mfplat: Add event attributes guids.
395 mfreadwrite: Forward remaining indices in GetPresentationAttribute() to stream descriptors.
396 mfreadwrite: Add partial implementation of SetCurrentPosition() for source reader.
397 mfplat/tests: Add stream descriptor tests.
398 mfplat: Implement GetMajorType() for stream descriptor.
399 mfplat: Forward CopyAllItems() for presentation descriptor.
400 mfplat: Implement MFCalculateImageSize().
401 mfplat: Implement MFCompareFullToPartialMediaType().
402 mfplat: Implement attributes serialization.
403 mfplat: Implement attributes deserialization.
404 mfplat: Print warning instead of fixme for unsupported interfaces in attributes object.
405 mfplat: Remove typedef for attributes structure.
406 mfplat: Implement media type wrapping.
407 mfplat: Implement IStream-based bytestream object.
408 mfplat: Set capabilities flags for IStream-based bytestream object.
409 mfplat: Set default attributes for file-based bytestream object.
410 mfplat: Add IMFGetService stub for file-based bytestream.
411 mfplat: Create dummy descriptor using public API.
412 mfplat: Add more attributes guids.
413 mfplat: Add tracing for media formats guids.
414 mfplat: Implement MFCreateMFByteStreamWrapper().
415 mfplat: Use existing helper for BeginWrite() too.
416 mfreadwrite: Use single helper for source reader creation functions.
417 mfreadwrite: Set url hint from stream content.
418 mfplat: Keep file handle open for file stream.
419 mfplat: Return capabilities for file stream.
420 mfplat: Fix return value for IsCompressedFormat().
421 winegstreamer: Use init-once API to initialize library.
422 winegstreamer: Get rid of allocated arguments array.
423 winegstreamer: Print current and build version of GStreamer.
424 winegstreamer: Actually pin module on initialization.
425 mfplat: Use current stream position when async request is made.
426 po: Update Russian translation.
427 include: Add IMFMediaStream definition.
428 mfplat: Fix EndCreateObject*() when events are used.
429 mfplat: Use correct callback for CreateObjectFromURL().
430 mfplat: Add traces for attributes methods of IMFMediaType.
433 po: Fix German translation.
436 ddraw: Deny adding the same light to viewports multiple times.
437 ddraw/tests: Port test for adding the same light to viewports multiple times for ddraw2.
438 ddraw/tests: Port test for adding the same light to viewports multiple times for ddraw1.
439 ddraw: Do not set ambient light component for d3d[1-4].
440 ddraw/tests: Test lighting with ambient light and material in ddraw2.
441 wined3d: Treat zero shininess as no specular lighting in legacy lighting mode.
442 d3d9/tests: Test specular lighting with zero shininess.
443 d3d8/tests: Test specular lighting with zero shininess.
444 ddraw/tests: Test specular lighting with zero shininess in ddraw7.
445 ddraw/tests: Test specular lighting with zero shininess in ddraw4.
446 ddraw/tests: Test specular lighting with zero shininess in ddraw2.
449 msvcrt: Fix long limits in _atol_l.
450 msvcrt: Don't detect overflow in atol implementation.
451 msvcrt: Correctly set _stat64.st_dev fields in _wstat64.
452 msvcrt: Use correct locale when comparing strings in getenv.
453 kernel32: Restore C locale for LC_CTYPE category.
454 ntdll: Fix tolower implementation to not depend on locale.
455 ntdll: Use ANSI code page in toupper.
456 ntdll: Use NTDLL_tolower in _memicmp.
457 ntdll: Use NTDLL_tolower in _strlwr.
458 ntdll: Fix _strnicmp implementation to not depend on locale.
459 ntdll: Use _stricmp instead of strcasecmp.
460 ntdll: Use NTDLL_tolower instead of toupper.
461 ntdll: Don't use toupper in RtlIsNameLegalDOS8Dot3 tests.
462 msvcrt: Use internal tolower implementation.
463 msvcrt: Use internal toupper implementation.
464 msvcrt: Use _stricmp instead of strcasecmp.
465 msvcrt: Use _strnicmp instead of strncasecmp.
466 msvcp90: Add support for more creation flags in _Mtx class.
467 ntdll: Use RtlUpperChar in _strupr implementation.
468 kernel32: Don't use toupper.
469 kernel32: Don't use strcasecmp.
470 winmm: Don't use toupper.
471 Revert "kernel32: Restore C locale for LC_CTYPE category.".
472 oleaut32: Don't use strcasecmp.
473 wldap32: Don't use strcasecmp.
474 winhttp: Don't use strcasecmp.
475 winemapi: Don't use strcasecmp.
476 msvcp140: Don't forward __ExceptionPtrDestroy to msvcr120.
478 Sebastian Lackner (2):
479 winex11: Forward all clipping requests to the right thread.
480 wintrust/tests: Add some additional tests.
483 ddraw: Don't operate on stored invalid clippers.
484 ddraw/tests: Test invalid clipper objects.
485 wined3d: Adjust video memory when resizing swapchain buffers.
488 wined3d: Add GPU information for the NVIDIA RTX series.
491 riched20: Implement MSVC asm wrappers.
493 Vijay Kiran Kamuju (1):
494 imagehlp/tests: Add initial tests for CheckSumMappedFile.
497 appwiz.cpl: Search /opt/wine for addons.
499 Zebediah Figura (19):
500 quartz/systemclock: Avoid using the sink structure pointer as a cookie.
501 quartz/systemclock: Store all the sinks in a single list.
502 quartz/systemclock: Clean up the remaining IUnknown methods.
503 quartz/systemclock: Get rid of the SystemClockImpl typedef.
504 wined3d: Make wined3d_device_set_texture() infallible.
505 wined3d: Get rid of the "src_state" local variable from wined3d_stateblock_capture().
506 msi: Don't fail the BindImage action if the BindImage table is absent.
507 msi: Append the custom action client PID to the endpoint name.
508 wined3d: Clean up lights in wined3d_stateblock_cleanup().
509 msi/tests: Test calling more functions from custom actions.
510 msi: Return MSIDBSTATE_ERROR when MsiGetDatabaseState() is called from a custom action.
511 msi: Return ERROR_INVALID_HANDLE when MsiDatabaseApplyTransform() is called from a custom action.
512 msi: Return ERROR_INVALID_HANDLE when MsiDatabaseExport() is called from a custom action.
513 msi: Return ERROR_INVALID_HANDLE when MsiDatabaseImport() is called from a custom action.
514 msi: Return ERROR_INVALID_HANDLE when MsiEnableUIPreview() is called from a custom action.
515 msi: Return ERROR_INVALID_HANDLE when MsiOpenPackage() is called from a custom action.
516 msi/tests: Separate and expand tests for MsiViewGetError().
517 msi: Perform partial copies in MsiViewGetError().
518 msi: Handle the remote case in MsiViewGetError().
521 setupapi/tests: Test phantom value after device creation.
522 setupapi: Set phantom value after device creation.
523 setupapi: Implement SetupDiOpenDeviceInfoW().
524 setupapi: Implement SetupDiOpenDeviceInfoA().
525 setupapi/tests: Add SetupDiOpenDeviceInfo() tests.
526 setupapi/tests: Add more SetupDiCreateDeviceInfo() tests.
527 setupapi: Check registered device duplicate in SetupDiCreateDeviceInfo().
528 include: Add more SetupAPI property keys.
529 hidclass.sys: Handle create existent device failure.
530 winebus.sys: Handle create existent device failure.
531 include: Avoid type redefinition.
532 kernel32: Add DECLSPEC_HOTPATCH to VirtualAllocEx().