1 The Wine development release 4.0-rc1 is now available.
3 This is the first release candidate for the upcoming Wine 4.0. It
4 marks the beginning of the code freeze period. There have been many
5 last minute changes, so please give this release a good testing to
6 help us make 4.0 as good as possible.
8 What's new in this release (see below for details):
9 - Preloader implemented on mac OS.
10 - Mouse cursor support on Android.
11 - Updates to the timezone database.
12 - Vulkan support updated to the latest spec.
13 - Stream I/O support in WebServices.
14 - Better palette support in WindowsCodecs.
15 - Synchronization objects support for kernel drivers.
18 The source is available from the following locations:
20 https://dl.winehq.org/wine/source/4.0/wine-4.0-rc1.tar.xz
21 http://mirrors.ibiblio.org/wine/source/4.0/wine-4.0-rc1.tar.xz
23 Binary packages for various distributions will be available from:
25 https://www.winehq.org/download
27 You will find documentation on https://www.winehq.org/documentation
29 You can also get the current source directly from the git
30 repository. Check https://www.winehq.org/git for details.
32 Wine is available thanks to the work of many people. See the file
33 AUTHORS in the distribution for the complete list.
35 ----------------------------------------------------------------
37 Bugs fixed in 4.0-rc1 (total 43):
39 5402 Multiple MFC-based apps crash during non-modal child dialog control creation with active window being zero (Canon PhotoStitch 3.1.13, Flexible Renamer v8.4)
40 16845 Radio buttons not being checked on focus
41 23750 SpongeBob SquarePants: Diner Dash 2 - mouse has pink background
42 28810 d3dx9_36/tests/mesh.ok: D3DXLoadMeshTest fails under valgrind
43 29183 Heavy corruption when rendering edit control with WM_PRINTCLIENT and possibly invalid HDC
44 33117 Can't load Bach41.ttf with CreateFontIndirect
45 35367 Multiple applications crash due to Wine ole32 code not taking implicit MTA into account (Cyberlink Powerdirector 8, PDFXChange Editor 5.5)
46 37863 Halo only works using Nvidia graphics
47 38228 Wildstar game failed to download : `winhttp:session_set_option 0` and `wine client error:41b: pipe: Too many open files`
48 40031 Singularity: In Steam the game is still running after quit
49 40880 Commandos 3: Destination Berlin demo has sound issues
50 40971 Zombie Army Trilogy crashes before the menu
51 41404 WPS Office 10.1.0.5775 unhandled exception on installation
52 41488 ProfitChart RT crashes at startup
53 42010 ReactOS Calc does not show dots in radio buttons.
54 42255 Xenia emulator needs ntdll.dll.RtlAddGrowableFunctionTable implementation
55 42474 Multiple applications crash on unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCombineEx (Python 3.6, AutoFlashGUI, RenderDoc)
56 42582 Murdered: Soul Suspect has messed up rendering
57 43584 Hitman: Absolution needs dxgi_output_GetGammaControlCapabilities
58 43745 Graywalkers Purgatory demo has wrong models rendering
59 43889 Gradient is inverted when using gdiplus
60 44015 Steam - fails to load UI since Wine 2.20 (due to dwrite commit)
61 44177 Guitar Pro 5: Long freezes during draw process of dashed lines (P.M. or let ring markers)
62 44588 Many kernel drivers need support for kernel synchronization objects (event, semaphore, mutex) (BattleEye's 'bedaisy.sys', Franson VSerial service 'bizvserialnt.sys')
63 44897 Multiple applications using Crashpad/Chromium/CEF in Win7+ mode crash on unimplemented function ntdll.RtlGetUnloadEventTraceEx (Steam client)
64 44999 Python 3.6.5 crashes due to unimplemented function api-ms-win-core-path-l1-1-0.dll.PathCchCanonicalizeEx.
65 45431 Multiple D3D11 games deadlock in IDXGISwapChain::ResizeTarget while trying to resize window (Crash Bandicoot N. Sane Trilogy, Dragon Age: Inquisition)
66 45453 Guild Wars 2: Launcher crashes with assertion "jobThreads && (jobThreads <= hardwareThreads)"
67 45627 mdac28 fails to install (SetupDefaultQueueCallbackW copy error 32 L"C:\\users\\austin\\Temp\\IXP000.TMP\\msdaorar.dll")
68 46093 GRLevel3 2.52 fails to start, hangs indefinitely
69 46099 Star Citizen not loading after implementation of WaitOnAddress() in wine
70 46140 .NET applications using 'WebRequest' API with MS .NET Framework crash when IPv4/6 is disabled in Linux kernel
71 46142 Games launched through Windows Steam no longer launch.
72 46161 Wine: Wrong GnuTLS usage?
73 46168 dotnet35sp1 installer has an error under wow64
74 46172 Multiple applications from Windows 7-10 crash on unimplemented function slc.dll.SLGetLicensingStatusInformation
75 46173 Used e-Sword successfully a few months ago, but when I try now I get a Program Error.
76 46179 Multiple Windows 10 ARM{32,64} apps need 'kernel32.dll.GetCurrentThreadStackLimits' to get stack start address
77 46180 wineserver does not release atom on unregistering window classes
78 46186 LoadImageA searches images in the wrong directory
79 46210 explorer /desktop leaks atoms from DDE interface
80 46229 server/ptrace: NetBSD debug register storage
81 46235 Opening ADODB.Connection results in: Method '~' of object '~' failed
83 ----------------------------------------------------------------
88 gdi32: Try Fontconfig substitutions when the font face is missing.
89 loader/wine.inf: Remove obsolete time zone entries.
90 loader/wine.inf: Remove non-standard Chile Standard Time.
91 loader/wine.inf: Update display names as seen in mapping tables.
92 ntdll: Use an MUI time zone name if available.
93 kernel32: Resolve an MUI time zone name.
94 tzres: Add time zone name resource DLL.
95 wine.inf: Add MUI time zone name settings.
98 advapi32: Turn several string variables into static constants.
99 advpack: Turn variable 'prefix' into a static constant.
100 amstream: Make constants 'filternameW' and 'sourceW' static.
101 atl: Make constants 'AtlAxWinW' and 'AtlAxWinLicW' static.
102 hhctrl.ocx: Make constant 'szHTMext' static.
103 midimap: Turn variable 'throughportW' into a static constant.
104 mscms: Turn variables 'slash' and 'spec' into static constants.
105 msi: Turn several variables and constants into static constants.
106 netapi32: Make constant 'admins' static.
107 ntoskrnl.exe: Make several string constants static.
108 oleaut32: Make constant 'szAccept' static.
109 oledb32: Turn variable 'format' into a static constant.
110 secur32: Turn variables 'bs' and 'ds' into static constants.
111 setupapi: Turn several constants and variables into static constants.
112 ieframe: Turn several variables into static constants.
113 jscript: Make several constants static.
114 mshtml: Turn several constants and variables into static constants.
115 mscoree: Make several string constants static.
116 dmusic: Make constant 'emulated' static.
117 dwrite: Make constant 'globaldefaultW' static.
118 gdi32: Turn variable 'fake_nameW' into a static constant.
119 riched20: Turn several constants and variables into static constants.
120 shlwapi: Turn several constants and variables into static constants.
121 winspool.drv: Make constant 'fmtW' static.
122 wsdapi: Turn a constant and several variables into static constants.
123 shdocvw: Make constants 'wszCLSID' and 'wszInitPropertyBag' static.
124 vbscript: Make constant 'html_delimiterW' static.
125 winex11.drv: Make several constants static.
126 winex11.drv: Correct spelling of "plug-n-play".
127 ntdll: Add RtlGrowFunctionTable stub.
128 comctl32: Make constant 'mdays' static.
129 comdlg32: Turn several variables into static constants.
130 cryptui: Turn static variable 'import_filters' into a constant.
131 dinput: Turn two variables into static constants.
132 inetcomm: Make several constants static.
133 oledb32: Make constant 'hexchars' static.
134 qcap: Make constants 'msg' and 'VFWIndex' static.
135 uxtheme: Turn a variable and a constant into static constants.
136 wineandroid.drv: Turn variable 'options' into a static constant.
137 browseui: Have a single empty wide string at the top of progressdlg.c.
138 cryptui: Have a single empty wide string at the top of main.c.
139 d3dcompiler: Turn variable 'components' into a static constant.
140 ole32: Turn several variables into static constants.
141 windowscodecs: Make constant 'valuename_format' static.
143 Alexandre Julliard (20):
144 makefiles: Create 64-bit wine loader symlinks in the WoW64 build tree.
145 makefiles: Create 64-bit winewrapper symlink in the WoW64 build tree.
146 wineandroid: Avoid using deprecated Build.CPU_ABI.
147 wineandroid: Wrap Java calls to preserve %gs on x86_64.
148 wineandroid: Support for setting the cursor on Android >= N.
149 wineandroid: Enable some Java compiler warnings.
150 user32: Fix wraparound check to avoid gcc optimization.
151 makefiles: Support specifying installed files in the top-level makefile.
152 libwine: Add a helper function to read a symlink.
153 libwine: Look for the 64-bit wineserver using the 64-bit loader symlink.
154 configure: Don't create fonts and server symlinks in the WoW64 build tree.
155 configure: Allow building a WoW64 tree inside the source directory.
156 makefiles: Output rules for building generated .rc files.
157 makefiles: Look in the extra targets for dependencies.
158 makefiles: Expand more variables into the generated makefiles.
159 wineandroid: Generate assets checksum from the gradle build file.
160 wineandroid: Specify the window scale directly in the constructor.
161 wineandroid: Add a helper function to update a window surface.
162 makefiles: Remove some unused variables.
163 loader: Duplicate some preloader code instead of trying to share it.
165 Alistair Leslie-Hughes (5):
166 comsvcs: Implement IDispenserManager RegisterDispenser.
167 comsvcs: Implement IHolder Alloc/Free Resource.
168 comsvcs: Add initial tests.
169 comctl32/edit: Don't set caret position when we don't have focus.
170 ext-ms-win-ntuser-misc-l1-2-0: Add dll.
173 dbghelp: Use correct record in codeview_snarf_public.
174 dbghelp: Add SYMFLAG_- and SYMTYPE_-defines.
175 dbghelp: Set correct values in symt_fill_sym_info (SYMBOL_INFO).
176 dbghelp: Set last error for SymGetModuleBase-calls to ERROR_MOD_NOT_FOUND.
177 dbghelp: SymFromAddr: Handle 2 or more symbols at the same address correct.
180 winegcc: Pass -static-libstdc++ to the linker.
183 slc: Add SLGetLicensingStatusInformation stub.
184 ntdll/tests: Fix a typo in comment.
185 shell32: Fix a typo in comment.
186 kernel32/tests: Fix typos in ok() messages.
187 oleaut32: Fix a typo in FIXME() message.
188 riched20/tests: Fix typos in ok() messages.
189 usp10/tests: Fix a typo in ok() message.
192 kernel32: Implement GetCurrentThreadStackLimits.
195 hid: Implement HidP_SetUsageValue.
198 ntdll: Add RtlAddGrowableFunctionTable stub.
201 msi: Set stale function pointers to NULL.
202 ntdll: Use 32bit when COM header marks it required.
204 Daniel Ansorregui (1):
205 wined3d: Simplify "glsl_generate_ffp" texture projection.
208 wininet: Always check if context can be deleted when freeing netconn.
211 libwine: Fix missing semi-colon.
213 Dmitry Timoshkov (33):
214 user32: Don't force a combobox repaint on WM_SIZE.
215 user32: Move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler.
216 user32/tests: Add a message test for group of radio buttons.
217 user32/tests: Simplify the test for BM_CLICK on autoradio button by using a dialog.
218 user32/tests: Add a test for navigating a group of buttons using keyboard events.
219 user32: Add support for navigating a group of radio buttons using a keyboard.
220 user32/tests: Add a focus test for an empty dialog that returns TRUE in WM_INITDIALOG.
221 user32: If there is no dialog controls to set focus to then set focus to dialog itself.
222 gdi32: Improve detection of symbol charset for old truetype fonts.
223 gdi32/tests: Add some additional tests for ExtExtOut on a path for an EMF DC.
224 gdi32: ExtTextOut on a path with bitmap font selected shouldn't fail.
225 gdi32/tests: Explicitly test BeginPath() return value in the metafile path tests.
226 oleaut32: Accept DISP_E_PARAMNOTFOUND for missing optional parameters in ITypeInfo::Invoke implementation.
227 crypt32: Use sizeof(WCHAR) instead of 2.
228 crypt32: Pass type and flags in correct order to the find() helper.
229 windowscodecs: Use V_UI1() instead of V_UNION() to assign a VT_UI1 variant member.
230 windowscodecs: Limit number of colors in a palette in BMP decoder.
231 windowscodecs: find_decoder() should return an error it received from the decoder.
232 windowscodecs: PNG decoder should return WINCODEC_ERR_UNKNOWNIMAGEFORMAT when image loading fails.
233 windowscodecs/tests: Add tests for encoding 2bpp/4bpp images with a palette.
234 windowscodecs: Add support for palette image formats to TIFF encoder.
235 windowscodecs: Add support for palette image formats to BMP encoder.
236 windowscodecs: Implement IWICBitmapEncoderInfo::GetFileExtensions.
237 windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in BMP encoder.
238 windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in JPEG encoder.
239 windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in TIFF encoder.
240 windowscodecs: Implement IWICBitmapEncoder::GetEncoderInfo in PNG encoder.
241 windowscodecs: Add registration for GUID_WICPixelFormat32bppGrayFloat pixel format.
242 windowscodecs: Implement IWICBitmapDecoder::GetMetadataQueryReader in the TIFF decoder.
243 windowscodecs: Implement IWICBitmapDecoder::GetMetadataQueryReader in the PNG decoder.
244 windowscodecs: Implement IWICBitmapDecoder::GetMetadataQueryReader in the JPEG encoder.
245 windowscodecs/tests: Add some tests for IWICPalette::InitializeFromBitmap.
246 crypt32: If there is no optional parameters set rgProvParam to NULL in CRYPT_KEY_PROV_INFO.
249 winealsa.drv: Don't crash when getting NULL event from midi.
250 user32: LoadImage should not only search in the working directory.
252 Frédéric Fauberteau (1):
253 wineserver: Support debug registers on NetBSD.
255 Gabriel Ivăncescu (11):
256 comctl32/tests: Also include LBS_NODATA cases when testing ownerdraw.
257 user32/tests: Also include LBS_NODATA cases when testing ownerdraw.
258 comctl32/listbox: Store the items array size instead of using HeapSize().
259 shell32/autocomplete: Sort the enumerated strings using a helper function.
260 shell32/autocomplete: Implement ACO_FILTERPREFIXES.
261 shell32/tests: Add tests for ACO_FILTERPREFIXES.
262 shell32/autocomplete: Check the edit control in ResetEnumerator instead of whether the object is initialized.
263 shell32/iconcache: Prevent the imagelists from going out of sync when loading an icon.
264 user32/listbox: Use a helper function to check the selection state of an item.
265 user32/listbox: Account for NULL item when painting ownerdrawn list.
266 user32/listbox: Store the items array size instead of using HeapSize().
269 winhttp: Use the thread pool for the connection collector.
270 winhttp: Make sure the COM request object is properly initialized.
271 winhttp: Use the thread pool for COM object requests.
272 winhttp: Store Accept headers like the other headers.
273 webservices: Use set_blocking in more places.
274 webservices: Call WsReadEndElement just once in WsReadEnvelopeEnd.
275 webservices: Return HRESULT from read_cmp.
276 webservices: Get rid of read_rewind.
277 webservices: Return HRESULT from read_utf8_char.
278 webservices: Add support for stream input.
279 bcrypt: Support retrieving properties from key handles.
280 webservices: Implement WsFillBody.
281 webservices: Properly check the input buffer type in WsMoveReader.
282 webservices: Add support for stream output.
283 webservices: Use stream I/O for UDP and session-less TCP channel bindings.
284 webservices: Allow calling WsAcceptChannel again with the same channel handle.
285 webservices: Implement WsFlushBody.
286 webservices: Maximize the amount of data read with each recv call.
289 wined3d: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE on the logo texture.
290 wined3d: Do not set WINED3D_TEXTURE_CREATE_MAPPABLE on the cursor texture.
291 dxgi: Introduce the IWineDXGISwapChainFactory interface.
292 wined3d: Get rid of the "colRGBA" variable in light().
294 Huw D. M. Davies (1):
295 dbghelp: Fix build failure on macOS.
298 dsound: Close sleepev handle after releasing audio client.
299 dsound: Wait on thread handle instead of dedicated event in DirectSoundDevice_Release.
300 jscript: Support undefined separator in String.split implementation.
301 jscript: Rename prop_val_t to property_definition_t.
302 jscript: Use separated parser rule for property definition.
303 jscript: Add parser support for getters and setters in object initializer.
304 jscript: Add interpreter support for getters and setters in object initializer.
305 jscript: Add Array.prototype.forEach implementation.
306 include: Add DTLS defines.
307 secur32: Use -VERS-ALL gnutls priority string to disable not enabled protocols.
308 secur32: Check for supported protocols when loading gnutls.
309 secur32: Use VERS-ALL priority string only on recent gnutls versions.
312 mshtml: Load xul with LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR.
315 winevulkan: Update vk.xml to 1.1.94.
316 dxgi/tests: Add test for ResizeTarget() with window procedure.
317 wined3d: Lock wined3d mutex in wined3d_swapchain_resize_target().
318 dxgi/tests: Add separate window thread for test_resize_target_wndproc().
319 d3d8: Avoid locking wined3d mutex around wined3d_swapchain_incref().
320 d3d9: Avoid locking wined3d mutex around wined3d_swapchain_incref().
321 dxgi: Avoid locking wined3d mutex around wined3d_swapchain_incref().
322 wined3d: Lock wined3d mutex in wined3d_swapchain_decref().
323 wined3d: Lock wined3d mutex in wined3d_swapchain_create().
324 wined3d: Introduce wined3d_cs_finish() helper.
325 mfplat: Fix memory allocation in mfsourceresolver_CreateObjectFromByteStream() (Coverity).
326 d3d9: Remove dead code from indexbuffer_init() (Coverity).
327 d3d8: Remove dead code from indexbuffer_init() (Coverity).
328 dxgi: Return S_OK from dxgi_output_SetGammaControl() stub.
329 dxgi/tests: Add basic test for gamma control.
330 wined3d: Introduce wined3d_cs_submit() helper.
331 wined3d: Introduce wined3d_cs_require_space() helper.
332 wined3d: Use wined3d_cs_finish() in swapchain_cleanup().
333 wined3d: Lock wined3d mutex in wined3d_swapchain_present().
334 wined3d: Lock wined3d mutex in wined3d_get_adapter_identifier().
335 d3d8: Do not touch output parameters when d3d8_GetAdapterIdentifier() fails.
336 d3d9: Do not touch output parameter when d3d9_GetAdapterLUID() fails.
337 d3d9: Do not touch output parameter when d3d9_GetAdapterIdentifier() fails.
338 include: Add ntddvdeo.h.
341 avrt: Add AVRT_PRIORITY_VERYLOW to avrt.h.
344 loader: Move some code in preparation for adding the Mac preloader.
345 loader: Check if the preloader overlaps the reserved range on the Mac.
348 setupapi: Fix size passed to MultiByteToWideChar.
351 d3dcompiler: Add an assert checking for writemask sanity in debug_writemask().
354 libwine: Do not restrict base address of main thread on 64 bit mac os.
355 dxgi: Implement dxgi_output_GetGammaControlCapabilities().
356 ntdll: Add stub for RtlGetUnloadEventTraceEx.
357 setupapi: Always return device info from SetupDiGetDeviceInterfaceDetail() if requested.
359 Michael Stefaniuc (7):
360 cmd: Avoid naming conflicts with the global HeapAlloc wrappers.
361 shell32/tests: Remove redundant NULL check before CoTaskMemFree().
362 ddraw: Drop redundant memset() before memcpy().
363 comctl32/tests: Use SetRect() instead of open coding it.
364 shcore: Print the debugstr instead of the pointer to it.
365 ntoskrnl.exe: Drop the WINE_ prefix from debug functions.
366 d3dx9/tests: Use SetRectEmpty() instead of open coding it.
369 dwrite/tests: Add some tests for GetUnicodeRanges().
370 shcore: Turn COM exports to stubs.
371 shcore: Add AppUserModelID stubs.
372 shcore: Add CommandLineToArgvW().
373 shell32: Forward some functions to shcore.dll.
374 shcore: Implement SHCreateMemStream().
375 shcore: Add file-based stream.
376 shcore: Add ThreadRef functions.
377 shcore: Add process reference API.
378 shell32: Forward process reference calls to shcore.
379 shcore: Add SHCreateThread().
380 shcore: Add StrDupA()/StrDupW().
381 gdiplus/tests: Add more tests for gradient brush rectangles.
382 gdiplus: Add a helper to create gradient brush from rectangle.
383 gdiplus: Fix brush transform created with GdipCreateLineBrushFromRect().
384 gdiplus: Remove unused brush fields.
385 wincodecs: Grab TIFF decoder reference when creating frames.
386 shcore: Implement a bunch of string conversion functions.
387 shcore: Add registry value stream functions.
388 shcore: Add SHRegDuplicateHKey().
389 shcore: Add some registry key delete helpers.
390 shcore: Add registry access helpers.
392 shcore: Fix return value for file-based Commit().
393 shlwapi: Forward file-base stream calls to shcore.
394 shlwapi: Forward IUnknown_* helpers to shcore.
395 gdi32: Fix function prototype when building without freetype.
396 shlwapi: Forward SHCreateMemStream() to shcore.
397 shlwapi: Forward SHOpenRegStream() to shcore.
398 shlwapi: Forward SHOpenRegStream2() to shcore.
399 shlwapi: Forward IStream helpers to shcore.
400 shlwapi: Forward ThreadRef functions to shcore.
401 user32/listbox: Use helper to test for selected state on painting.
402 user32/listbox: Remove duplicated condition.
403 shlwapi: Forward SHDeleteEmptyKey() to shcore.
404 shlwapi: Forward SHDeleteKey() to shcore.
405 shlwapi: Forward SHEnumValue() to shcore.
406 shlwapi: Forward SHEnumKeyEx() to shcore.
407 shlwapi: Forward SHRegGetIntW() to shcore.
408 windowscodecs: Fix return values for scaler's CopyPalette().
409 windowscodecs: Implement GetContainerFormat() for encoders.
410 windowscodecs/tests: Add more stream tests.
411 windowscodecs: Trace stream methods arguments.
412 windowscodecs: Fix InitializeFromIStream() to simply wrap target stream.
413 shlwapi: Forward SHUnicodeToUnicode() to shcore.
414 shlwapi: Forward SHAnsiToAnsi() to shcore.
415 shlwapi: Forward SHCopyKey() to shcore.
416 shlwapi: Forward IsOS() to shcore.
417 comctl32/listview: Fix NM_CLICK notification when clicking on checkboxes.
418 shlwapi: Remove unused fields.
420 Pierre Schweitzer (3):
421 mpr: Implement remembered connection enumeration.
422 mpr: Implement support for making connections persistent.
423 mpr: Implement support for deleting persistent connections.
426 msvcp90: Add missing break in time_get::do_get (coverity).
429 server: Release atoms when destroying a window class.
430 explorer: Fix atom leaks caused by not releasing DDE interface.
432 Roberto Pungartnik (1):
433 po: Portuguese (Brazil) translation fixes.
435 Roderick Colenbrander (3):
436 ntdll: Parse sysfs cpu_shared_map using helper function.
437 ntdll: Fix parsing thread_siblings bitmaps on high core count systems.
438 ntdll: Print FIXME on systems supporting more CPU cores than supported.
440 Sebastian Lackner (1):
441 loader: Implement preloader for macOS.
444 rpcrt4: Fix 'Routeines' typos.
446 Sergio Gómez Del Real (8):
447 riched20: Add destroy_para() helper.
448 riched20: Add get_total_width() to get widest paragraph number.
449 riched20: Move y-adjust to its own function.
450 riched20: Add helper function to mark paragraphs for rewrapping.
451 riched20: Guard paragraph wrapping against special case where type is diTextStart.
452 riched20: Implement list of marked paragraphs.
453 riched20: Cache number of rows in editor.
454 riched20: ME_CheckCharOffsets() calls should only be done when tracing.
457 mf: Return S_OK from IMFMediaSession::Close.
458 mfplat: Improve CreatePresentationDescriptor stub in IMFMediaSource.
460 Zebediah Figura (46):
461 setupapi/devinst: Factor out get_device().
462 setupapi/devinst: Factor out get_device_iface().
463 setupapi/devinst: Factor out get_device_set().
464 setupapi/tests: Remove workarounds in testSetupDiGetINFClassA().
465 setupapi/tests: Remove workarounds in test_SetupDiCreateDeviceInfoListEx().
466 setupapi/tests: Remove workarounds in test_SetupDiOpenClassRegKeyExA().
467 ntoskrnl.exe: Implement KeWaitForMultipleObjects().
468 ntoskrnl.exe: Implement KeInitializeEvent().
469 ntoskrnl.exe: Implement KeSetEvent().
470 ntoskrnl.exe: Implement KeResetEvent().
471 ntoskrnl.exe: Implement KeWaitForSingleObject().
472 ntoskrnl.exe/tests: Add some tests for synchronization functions.
473 ntoskrnl.exe: Implement KeInitializeSemaphore().
474 ntoskrnl.exe: Implement KeReleaseSemaphore() and waiting on semaphores.
475 ntoskrnl.exe: Implement KeInitializeMutex().
476 ntoskrnl.exe: Implement KeReleaseMutex() and waiting on mutexes.
477 ntoskrnl.exe: Implement KeWaitForMutexObject().
478 ntoskrnl.exe: Implement KeClearEvent().
479 setupapi: Store the class and reference string keys in the device_iface structure.
480 ntdll: Avoid inline assembly in do_cpuid().
481 ntdll: Avoid inline assembly in have_cpuid().
482 ntoskrnl.exe: Implement KeInitializeTimerEx().
483 include: Add KeInitializeTimer().
484 ntoskrnl.exe: Implement KeSetTimerEx() and waiting on timers.
485 ntoskrnl.exe: Implement KeCancelTimer().
486 ntoskrnl.exe/tests: Add tests for waiting on timers.
487 ntoskrnl.exe: Implement KeDelayExecutionThread().
488 setupapi: Enforce a maximum device instance ID length.
489 setupapi: Avoid unnecessary buffer allocation in SetupDiCreateDeviceInfoA().
490 setupapi: Avoid unnecessary buffer allocation in SetupDiGetDeviceInstanceIdA().
491 setupapi: Avoid unnecessary buffer allocation in SetupDiCreateDeviceInfoW().
492 setupapi: Avoid unnecessary buffer allocation in SETUPDI_EnumerateMatchingDeviceInstances().
493 dbghelp: Avoid using inline assembly in do_x86cpuid().
494 dbghelp: Avoid using inline assembly in have_x86cpuid().
495 ddraw: Get rid of redundant call to wined3d_stateblock_capture().
496 setupapi: Implement SetupDiRemoveDeviceInterface().
497 setupapi: Completely remove unregistered device interfaces.
498 setupapi: Implement SetupDiRemoveDevice().
499 setupapi: Delete all empty parent keys of a removed device key.
500 wined3d: Use wined3d_state_get_light() in wined3d_state_record_lights().
501 setupapi: Implement SetupDiDeleteDeviceInterfaceData().
502 setupapi: Get rid of the redundant cDevices parameter to struct device.
503 setupapi: Implement SetupDiDeleteDeviceInfo().
504 ntdll: Call the select request directly in RtlWaitOnAddress().
505 ntdll: Use a critical section to ensure that RtlWaitOnAddress compares and queues atomically.
506 setupapi: Use strtoulW().
509 kernelbase: Implement PathAllocCombine.
510 kernelbase: Implement PathCchCombineEx.
511 kernelbase: Implement PathCchCombine.
512 kernelbase: Implement PathCchAppendEx.
513 kernelbase: Implement PathCchAppend.