The Wine development release 6.20 is now available. What's new in this release (see below for details): - MSXml, XAudio, DInput and a few other modules converted to PE. - A few system libraries are bundled with the source to support PE builds. - HID joystick is now the only supported joystick backend in DirectInput. - Better support for MSVCRT builds in Winelib. - Various bug fixes. The source is available from the following locations: https://dl.winehq.org/wine/source/6.x/wine-6.20.tar.xz http://mirrors.ibiblio.org/wine/source/6.x/wine-6.20.tar.xz Binary packages for various distributions will be available from: https://www.winehq.org/download You will find documentation on https://www.winehq.org/documentation You can also get the current source directly from the git repository. Check https://www.winehq.org/git for details. Wine is available thanks to the work of many people. See the file AUTHORS in the distribution for the complete list. ---------------------------------------------------------------- Bugs fixed in 6.20 (total 29): 30600 Emergency 3 crashes on start 34297 Allow reconnecting to disconnected joysticks 36796 Mozilla Firefox 13.0 crashes on startup if run in Windows Vista+ mode (D3D10CreateEffectFromMemory needs more complete Direct3D 10 DXBC parser) 38696 Messy screen in DxTex.exe 41080 Need For Speed Most Wanted 2005 not working after upgrade from Ubuntu 14.04 to 16.04 41317 WOLF RPG Editor: Gamepad axis value not recalculated after deadzone change results in ghost input events 41700 "Install Now" and "Customize installation" buttons are invisible in Python 3.5.2 installer 42137 DirectInput needs to join both Xbox shoulder triggers into a single axis (aka half-axis problem) 42434 Gamepad listed twice 42695 Path of Exile fails to start when launching with dx11 enabled with message "Failed to create WIC factory" (CoCreateInstance() called in uninitialized apartment) 47387 Victor Vran has no sound 49296 ZWCAD 2020: the program doesn't start (using mono) 49887 "EA Desktop" installer fails. 50758 Vbscript does not handle recursive calls 51105 Diablo 2: Resurrected (D2R) stays black 51385 DTS Encoder Suite won't start in Wine 6.0.1 51564 Can't run 16bit programs when built without mingw 51574 swscanf_s with %zu fails for valid value 51583 Tetris crashes due to "visual styles" 51707 Rise of the Tomb Raider stops the process before entering the main menu 51749 Wine 6.17 fails to build under Slackware64 Current with multilib 51797 Input lag with controller in Wine 6.18 51802 Theming on 16-bit application breaks their UI 51846 Standard library call fopen(..., "wx") not recognized - causes destruction of data 51863 QuantumClient.exe from Raymarine SDK needs dhcpcsvc6.dll 51871 PSScript fails with 0x80041002 (WBEM_E_NOT_FOUND) ( system property L"__Derivation" not implemented) 51892 Program DSP-408.exe returns Assertion Failed error in afxwin1.ini line 418 51894 ucrtbase:misc fails on some Windows 10 1607 and 1709 51902 Project CARS 2 keyboard keys aren't responsive ---------------------------------------------------------------- Changes since 6.19: Alex Henrie (6): winemenubuilder: Return pointer from freedesktop_mime_type_for_extension. dhcpcsvc6: Add stub DLL. winemenubuilder: Introduce a reg_enum_keyW helper function. ws2_32: Clear last error in WSASocketW. ws2_32: Set WSAEFAULT if the bind address is null. ws2_32/tests: Correct name of IPV6_V6ONLY socket option in messages. Alexandre Julliard (92): configure: Define _GNU_SOURCE in config.h. configure: Assume that dlfcn.h is available on Unix. include: Don't define math functions or constants in wine/port.h. server: Add sys/types.h include in a few more files. adsiid: Move to the libs directory. dmoguids: Move to the libs directory. dxerr8: Move to the libs directory. dxerr9: Move to the libs directory. dxguid: Move to the libs directory. mfuuid: Move to the libs directory. strmiids: Move to the libs directory. uuid: Move to the libs directory. wbemuuid: Move to the libs directory. wmcodecdspuuid: Move to the libs directory. explorer: Use the correct buffer size for the full path name. winemenubuilder: Remove dead code. kernelbase: Remove dead code. include: Define DECLSPEC_HIDDEN in guiddef.h if necessary. include: Add more sal.h macros. include: Import specstrings.h and related headers from Mingw. include: Use compatible header guard in basetsd.h. include: Add prototypes for the byteswap functions. include: Add a define to enable fastcall wrappers, similar to the thiscall one. configure: Add a __WINE_PE_BUILD define for files that are built as PE. configure: Don't define _WIN32 for Cygwin builds. configure: Always define _WIN32 for msvcrt builds. include: Always add defines for the Interlocked* functions. include: Define all the __int* types also for msvcrt. msvcrt: Move _fdclass/_dclass to avoid forward references. include: Define fpclassify(). include: Use the standard va_list instead of __ms_va_list when building with msvcrt. makefiles: Add support for building libraries imported from external sources. makefiles: Don't pass warning flags to external libraries. libs: Import upstream code from zlib 1.2.11. cabinet: Use the bundled zlib. dbghelp: Use the bundled zlib. opcservices: Use the bundled zlib. wininet: Use the bundled zlib. libs: Import upstream code from libpng 1.6.37. user32: Use the bundled libpng. windowscodecs: Use the bundled libpng. winecfg: Store the logo image in PNG format. comdlg32: Return INT_PTR instead of LRESULT in dialog procedures. cryptui: Return INT_PTR instead of LRESULT in dialog procedures. oledb32: Return INT_PTR instead of LRESULT in dialog procedures. user32: Return INT_PTR instead of LRESULT in dialog procedures. libs: Import upstream code from libjpeg 9d. windowscodecs: Use the bundled libjpeg. libs: Import upstream code from libtiff 4.3.0. windowscodecs: Use the bundled libtiff. libs: Import code from upstream lcms2 2.12. mscms: Use the bundled lcms2. ntdll: Avoid including wine/port.h. loader: Avoid including wine/port.h. libwine: Avoid including wine/port.h. msxml3: Always set output length in encoding conversion. libs: Import code from upstream libxml2 2.9.12. libs: Import code from upstream libxslt 1.1.34. mxsml3: Use the bundled libxml2 and libxslt and build with msvcrt. libs: Import upstream code from gsm 1.0.19. msgsm32.acm: Use the bundled gsm codec and build with msvcrt. wow64win: Add missing syscall entry for NtUserGetObjectInformation(). libs: Import upstream code from jxrlib 1.1. wmphoto: Use the bundled jxrlib. libs: Import upstream code from mpg123 1.29.1. mp3dmod: Use the bundled mpg123 and build with msvcrt. l3codeca.acm: Use the bundled mpg123 and build with msvcrt. libs: Import code from upstream FAudio 21.10. xaudio: Use the bundled FAudio and build with msvcrt. winebuild: Add a more generic way to create directories and sections in fake dlls. winebuild: Wrap 16-bit fake dlls in a PE module. setupapi: Try to extract 16-bit image also from .fake files. aclui: Use the standard va_list instead of __ms_va_list. advpack/tests: Use the standard va_list instead of __ms_va_list. avifil32: Use the standard va_list instead of __ms_va_list. d3dcompiler: Use the standard va_list instead of __ms_va_list. dbgeng: Use the standard va_list instead of __ms_va_list. dinput8/tests: Use the standard va_list instead of __ms_va_list. kernel32/tests: Use the standard va_list instead of __ms_va_list. kernelbase: Use the standard va_list instead of __ms_va_list. krnl386: Use the standard va_list instead of __ms_va_list. msi: Use the standard va_list instead of __ms_va_list. msvcrt: Use the standard va_list instead of __ms_va_list. ntdll: Use the standard va_list instead of __ms_va_list. ntoskrnl/tests: Use the standard va_list instead of __ms_va_list. riched20: Use the standard va_list instead of __ms_va_list. rpcrt4: Use the standard va_list instead of __ms_va_list. shell32: Use the standard va_list instead of __ms_va_list. shlwapi: Use the standard va_list instead of __ms_va_list. user32: Use the standard va_list instead of __ms_va_list. vcomp: Use the standard va_list instead of __ms_va_list. wldap32: Use the standard va_list instead of __ms_va_list. Alistair Leslie-Hughes (5): wininet: Support option INTERNET_OPTION_SERVER_CERT_CHAIN_CONTEXT for http requests. dbghelp: Support UWOP_EPILOG in unwind. include: Use known variables names in SYSTEM_INTERRUPT_INFORMATION. wbemprox: Add WMI namespace. powrprof: Add PowerRegisterSuspendResumeNotification stub. Bernhard Kölbl (2): oleaut32: Allow the registration of 64bit typelibs from a 32bit context. oleaut32: Register a typelib's name if a documentation is not available. Daniel Lehman (5): msxml3/tests: Add some processing instruction tests. msxml3: Parse XML declaration when creating processing instruction. msxml3: Handle single quotes in xml declaration. msxml3: Update error for missing closing quote. msxml3: Handle NULL XML declaration. David Kahurani (1): winedump: Remove a FIXME. Dmitry Timoshkov (2): user32: Don't check active window state when handling SC_MINIMIZE/SC_MAXIMIZE/SC_RESTORE. winex11.drv: Add GPU hardware information values to the registry. Eduard Permyakov (1): wbemprox: Add 'Manufacturer' and 'Name' properties to Win32_PnPEntity class. Eric Pouech (23): winedbg: Properly print 64bit integers. winedbg: Fix result type in expression's computation. winedbg: Use proper modifier when using sscanf for a DWORD_PTR. winedbg: Simplify some printing of addresses. winedbg: Use proper width when printing addresses with leading 0. mscoree/tests: Remove unused parameter in sprintf. winedump: Fix incorrect alignment. winedump: Dump MSC's S_UNAMESPACE entries. dbghelp: Use proper macros for VARIANT. dbghelp: Report a couple more VARIANT types in symbol info for constants. dbghelp: Add helper to initialize a module_pair. dbghelp: Use wide string literals. dbghelp: Handle some more error conditions in SymGetTypeInfo(). include/dbghelp.h: Update inline-related APIs and structures. dbghelp: Add stubs for inline-related APIs. dbghelp: Start implementing StackWalkEx. dbghelp: Add stub implementation of SymFromInlineContext(W). dbghelp: Add stub implementations of SymGetLineFromInlineContext(W). dbghelp: Add stub implementations for the SymSetScope* functions. dbghelp: Improve error handling in SymSetContext(). dbghelp: Factorize SymUnloadModule and SymUnloadModule64. dbghelp/dwarf: Properly handle error cases while computing frame_cfa. msvcrt: Support I width modifier in *scanf* family. Esme Povirk (2): localspl: Add ARM print environments. localspl: Choose print environment based on architecture. Florian Eder (1): robocopy: Add stub. François Gouget (3): ctype.h: Add _isctype_l() declaration. wrc: Add a trailing linefeed to a couple of error() messages. winebus.sys: Add a trailing linefeed to a couple of FIXME()s. Gabriel Ivăncescu (2): mshtml: Implement HTMLDocument's toString using dispex_to_string. mshtml/tests: Add tests for mimeTypes and plugins objects' names. Georg Lehmann (1): winevulkan: Update to VK spec version 1.2.196. Gijs Vermeulen (1): windows.devices.enumeration: Add stub dll. Hans Leidekker (4): wpcap: Accept interfaces without associated IPv4 or IPv6 address. wbemprox: Return an empty array for __DERIVATION. wbemprox: Add __DERIVATION to the list of system properties. wbemprox: Implement Win32_OperatingSystem.Status. Huw D. M. Davies (3): maintainers: Update GDI files. wineps: Avoid using typeof(). gdiplus: Switch to STRETCH_HALFTONE mode before playing a blit record. Ivo Ivanov (1): dinput: Ignore input caps from the PID usage page. Jacek Caban (33): win32u: Use syscall interface for bitmap functions. win32u: Use syscall interface for region functions. win32u: Use syscall interface for some DC functions. win32u: Use syscall interface for some font functions. win32u: Use syscall interface for some GDI objects functions. win32u: Use syscall interface for some mapping functions. win32u: Use syscall interface for some palette functions. win32u: Use syscall interface for some path functions. win32u: Use syscall interface for pen constructors. win32u: Use syscall interface for spooler functions. ntdll: Move error mapping to a header file. ntdll: Export RtlNtStatusToDosError from Unix lib. win32u: Move NtUserCloseWindowStation from user32. win32u/tests: Add NtUserCloseWindowStation test. win32u: Move NtUserGetProcessWindowStation implementation from user32. win32u: Move NtUserSetProcessWindowStation implementation from user32. win32u: Move NtUserCloseDesktop implementation from user32. win32u: Move NtUserGetThreadDesktop implementation from user32. win32u: Move NtUserSetThreadDesktop implementation from user32. win32u: Move NtUserOpenInputDesktop implementation from user32. win32u: Move NtUserGetObjectInformation implementation from user32. win32u: Move NtUserSetObjectInformation implementation from user32. make_unicode: Update vertical.c path. win32u: Move NtUserCreateWindowStation implementation from user32. win32u: Move NtUserOpenWindowStation implementation from user32. win32u: Move NtUserCreateDesktopEx implementation from user32. win32u: Move NtUserOpenDesktop implementation from user32. win32u: Factor out reg_open_hkcu_key. win32u: Move winstation initialization from user32. win32u: Use syscall interface for some D3DKMT functions. win32u: Don't use CDECL for font backend functions. win32u: Don't use CDECL for OSMesa functions. win32u: Don't call abort proc in NtGdiStartDoc. Jan Sikorski (34): wined3d: Make wined3d_device_context procedures thread safe. wined3d: Do not call wined3d_device_destroy_default_samplers() in the CS thread. wined3d: Use atomic instructions for resource view bind counts. wined3d: Count all bo's towards retired bo size. wined3d: Make reference count decrementing functions thread safe. wined3d: Set render targets and UAVs atomically in wined3d. d3d11: Use wined3d_device_context_set_render_targets_and_unordered_access_views() in OMSetRenderTargets. d3d11: Don't grab wined3d lock for reference incrementing functions. d3d11: Don't grab wined3d lock for wined3d_texture_incref(). d3d11: Don't grab wined3d lock for reference decrementing functions. d3d11: Don't grab wined3d lock for wined3d_texture_decref(). d3d11: Don't grab wined3d lock for query issue functions. d3d11: Don't grab wined3d lock for resource mapping and unmapping. d3d11: Don't grab wined3d lock for wined3d state setters. d3d11: Don't grab wined3d lock for wined3d draw functions. d3d11: Don't grab wined3d lock for wined3d dispatch functions. d3d11: Don't grab wined3d lock for wined3d copy (sub)resource functions. d3d11: Don't grab wined3d lock for wined3d_device_context_update_sub_resource(). d3d11: Don't grab wined3d lock for view clears. d3d11: Don't grab wined3d lock for wined3d_device_context_resolve_sub_resource(). d3d11: Don't grab wined3d lock for generating mipmaps. d3d11: Don't grab wined3d lock for wined3d_device_context_reset_state(). d3d11: Don't grab wined3d lock for wined3d_device_context_flush(). d3d11: Don't grab wined3d lock for wined3d_device_context_copy_uav_counter(). d3d11: Don't grab wined3d lock for wined3d_device_context_execute_command_list(). d3d11: Don't grab wined3d lock for wined3d deferred context functions. ddraw: Don't grab wined3d lock for wined3d_resource_unmap(). dxgi: Don't grab wined3d lock for wined3d_resource_map/unmap(). dxgi: Don't grab wined3d lock for wined3d_decref(). d3d8: Don't grab wined3d lock for wined3d_resource_map/unmap(). d3d8: Don't grab wined3d lock in vertex/indexbuffer AddRef/Release(). d3d8: Don't grab wined3d lock in surface AddRef/Release(). d3d9: Don't grab wined3d lock for wined3d_resource_map/unmap(). d3d8: Don't grab wined3d lock for wined3d_vertex_declaration_decref(). Jefferson Carpenter (1): msxml3/saxreader: Handle null url in parseURL(). Julian Rüger (1): po: Update German translation. Martin Storsjö (1): xslt: Build with LIBXSLT_STATIC, fix building with clang in MSVC mode. Matteo Bruni (1): wined3d: End transform feedback on SO buffer destruction even if the D3D buffer isn't bound. Michael Stefaniuc (1): dinput: Avoid negating FAILED(). Nikolay Sivov (23): d3d10/effect: Use shader variable directly from pass structure on Apply(). d3d10/tests: Add some tests for annotations. d3d10/effect: Use separate structure for annotations array. d3d10/effect: Handle static variable assignments for object fields in state objects. d3d10/effect: Add support for constant index and anonymous shader values in assignment parsing helper. d3d10/effect: Consolidate state objects and passes property information. d3d10/effect: Get rid of linear search for property information. d3dx9: Implement ID3DXTextureShader::GetFunction(). d3d10/effect: Do not use internal value types. d3d10/effect: Remove unused arguments from shader resources helper. d3d10/effect: Add a helper to return array element. d3d10/effect: Pick up resources from elements when shader variable arrays are used. d3d10/effect: Use destination index when setting array property element. d3d10/effect: Use SamplerState.Texture when setting shader resources. d3d10/effect: Remove buffer type argument from object creation helper. d3d10/effect: Use correct vertex shader element when returning input signature. d3d10/tests: Use IsValid() instead of null checks. dwrite: Add properties for new Unicode 13 scripts. d3d11: Correctly handle optional arguments in OMGetDepthStencilState(). mfplay: Do not clear media item when playback ends. mfplay: Handle NULL item in SetMediaItem(). mfplat: Consider MF_BYTESTREAM_ORIGIN_NAME when looking for bytestream handler. mfplat: Use wide strings for registry paths. Paul Gofman (9): winhttp: Don't send notifications when connection is closed on read finish. winhttp: Process end of read data before sending callback in read_data(). server: Use SO_BINDTODEVICE in bind_to_index() if possible. winex11.drv: Detach vulkan surfaces during thread detach. ntdll: Fix size comparison in NtQuerySystemInformation(SystemCodeIntegrityInformation). ntdll: Store module check sum in WINE_MODREF. include: Update LDR_DATA_TABLE_ENTRY definition. include: Update struct _LDR_DDAG_NODE definition. kernel32/tests: Add test for DDAG node dependencies structure. Piotr Caban (16): ucrtbase: Add __std_terminate export. msvcrt: Don't crash on NULL in fclose. imm32: Add ImmSetActiveContext implementation. imm32: Exit on invalid window in ImmAssociateContext. imm32: Use ImmSetActiveContext in ImmAssociateContext. imm32: Only call ImmSetActiveContext for active window in ImmAssociateContext. imm32: Initialize COM in ImmSetActiveContext. imm32: Destroy default IME windows in ImmDisableIME. winemac.drv: Silence ImeSetActiveContext fixme. winex11.drv: Silence ImeSetActiveContext fixme. ucrtbase: Fix fopen x mode test failures. ucrtbase: Change _isblank_l return value for '\t'. ucrtbase: Avoid bool optimization in __std_exception_copy. imm32: Delay import ole32.dll. user32: Set IMM active context on focus change. imm32: Only call ImmSetActiveContext for focused window in ImmAssociateContext. Robert Wilhelm (2): vbscript: Emit catch after enumnext in for each loops. oleaut32: Rescale result after overflow in VarDecAdd. Rémi Bernon (64): dinput: Move device_instance_is_disabled to device.c. dinput: Move PIDVID internal guid to device.c. dinput: Remove legacy joystick backends. dinput: Build with msvcrt. dinput: Use wide char string literals. dinput: Use msvcrt memory allocation functions. maintainers: Add hidparse.sys under HID support. maintainers: Replace DirectInput with a Joystick input section. maintainers: Assume maintainership of the Joystick input section. dinput: Only dump the HID report data that has been read. winebus.sys: Do not parse bluetooth "PRODUCT=" uevent field. dinput8/tests: Add some more polled read tests. hidclass.sys: Re-read the poll timeout on every iteration. hidclass.sys: Don't queue reports in polled mode. dinput: Fix invalid use of post-incremented device_count value. dinput: Factor all GetDeviceInfo implementations together. dinput: Factor all GetCapabilities implementations together. dinput: Factor all BuildActionMap wrappers together. dinput: Factor all SetActionMap wrappers together. dinput: Move mouse (Un)Acquire functions around. dinput: Factor all (Un)Acquire implementations together. dinput: Introduce new dinput_device_internal_unacquire helper. dinput: Wait for the internal thread to complete unacquiring. dinput: Correctly parse instance numbers for joystick semantics. hidparse.sys: Ignore unknown item types, rather than failing. dinput8/tests: Remove old packet report id checks in HID driver. joy.cpl: Consistently use the 32 buttons limit from DIJOYSTATE. joy.cpl: Better handle effect creation errors. winebus.sys: Fix inverted SDL joystick hat switch y axis. dinput: Add support for more HID axes usages. dinput8/tests: Add mouse and keyboard object enumeration tests. dinput: Introduce new direct_input_device_init helper. dinput: Implement EnumObjects through the internal vtable. dinput: Implement internal enum_objects for the mouse device. dinput: Implement internal enum_objects for the keyboard device. dinput: Factor all GetObjectInfo implementations together. winebus.sys: Define BUS_BLUETOOTH if it is missing. winebus.sys: Only use SDL_JoystickRumble as a fallback. winebus.sys: Process quirky DS4 bluetooth reports. dinput: Use object instance offset to access extra value caps. dinput: Factor all GetProperty implementations together. dinput: Implement GetProperty with DIPROP_FFGAIN stub. dinput: Use the base device state in the mouse device. dinput: Use the base device state in the keyboard device. dinput: Factor all SetProperty implementations together. dinput: Factor object enumeration checks and offset mapping. dinput: Factor all Poll implementations together. dinput: Check for mouse warping in the poll callback. dinput: Factor all GetDeviceState implementations together. dinput: Add a release callback for internal refcount handling. dinput: Replace stub EnumEffects with generic implementation. dinput: Use the internal vtable for GetEffectInfo. dinput: Move GetForceFeedbackState stub to device.c. dinput: Move CreateEffect generic implementation to device.c. dinput: Move SendForceFeedbackCommand generic code to device.c. dinput: Move EnumCreatedEffectObjects checks to device.c. winebus.sys: Prefer USAGE_AND_PAGE over BYTE arrays. winebus.sys: Count all absolute axes. winebus.sys: Map REL_HWEEL to HID_USAGE_GENERIC_SLIDER. winebus.sys: Map SDL joystick axes the same way as UDEV evdev. dinput: Set high DIK bit for extended scancodes. dinput: Cleanup mouse device enumeration and creation. dinput: Cleanup keyboard device enumeration and creation. dinput: Factor all IDirectInputDevice8W vtables together. Simon McVittie (2): winebus.sys: Treat udev actions other than "remove" as "add". winebus.sys: Add code path to bypass udevd and use inotify. Ted Lyngmo (1): ucrtbase: Add support for x mode in fopen. Tim Clem (5): winemac.drv: Simplify cursor clipping code paths. winemac.drv: Stop cursor clipping when the app deactivates. winemac.drv: Stop cursor clipping when a window is resized by dragging. winemac.drv: Stop cursor clipping when all windows are minimized. winemac.drv: Remove extraneous CGEventTapIsEnabled check. Zebediah Figura (30): server: Zero-initialize rawinput_message structures before passing them to queue_rawinput_message() (Valgrind). server: Avoid touching the poll_req structure after calling async_request_complete() (Valgrind). wined3d: Return the map pitch from wined3d_device_context_emit_map(). wined3d: Return the map pitch from the map_upload_bo() callbacks. wined3d: Move the "users" field to a common wined3d_bo structure. wined3d: Move the "memory_offset" field from struct wined3d_bo_vk to struct wined3d_bo. wined3d: Omit GL_MAP_FLUSH_EXPLICIT_BIT for incoherent maps when ARB_MAP_BUFFER_RANGE is used. wined3d: Move the "coherent" field from struct wined3d_bo_gl to struct wined3d_bo. wined3d: Move the "map_ptr" field from struct wined3d_bo_vk to struct wined3d_bo. wined3d: Handle NOOVERWRITE maps on persistently mapped Vulkan buffers from the client thread. kernel32/tests: Add a couple of tests for error handling when reading past EOF. include: Fix the type of the "output" parameter of IWMReaderAllocatorEx::AllocateForOutputEx(). include: Add IWMGetSecureChannel. include: Add IWMIStreamProps. include: Add IWMReaderCallbackAdvanced. include: Add IWMCredentialCallback. include: Add INSSBuffer3. wined3d: Fully initialize the allocator structure in wined3d_allocator_init(). d3d10core/tests: Test deleting a stream output buffer immediately after drawing into it. d3d11/tests: Test deleting a stream output buffer immediately after drawing into it. winegstreamer: Move the IWMProfile3 implementation to a separate object. winegstreamer: Use the wm_reader object for the synchronous reader as well. wmvcore/tests: Sort interface tests. winegstreamer: Move the IWMHeaderInfo3 implementation to the wm_reader object. winegstreamer: Move the IWMLanguageList implementation to the wm_reader object. winegstreamer: Move the IWMPacketSize2 implementation to the wm_reader object. winegstreamer: Move the IWMReaderPlaylistBurn implementation to the wm_reader object. winegstreamer: Move the IWMReaderTimecode implementation to the wm_reader object. quartz: Use the performance counter for the system clock. quartz: Avoid accessing the advise_sink structure after it is queued. Zhiyi Zhang (19): Revert "winevdm: Enable visual styles.". appwiz.cpl: Pass size in bytes to RegQueryValueExW(). msctf: Set size before calling RegQueryValueExW(). msi: Pass size in bytes to RegQueryValueExW(). mshtml: Pass size in bytes to RegQueryValueExW(). shell32: Pass size in bytes to RegLoadMUIStringW() and RegQueryValueExW(). winemac.drv: Add GPU hardware information values to the registry. winex11.drv: Set hkey to NULL after RegCloseKey() in X11DRV_InitGpu(). winemac.drv: Set hkey to NULL after RegCloseKey() in macdrv_init_gpu(). comctl32/combo: Invalidate child edit control after painting themed background. uxtheme: Pass size in bytes to RegQueryValueExW(). winemac.drv: Pass size in bytes to RegQueryValueExW(). winex11.drv: Pass size in bytes to RegQueryValueExW(). cmd: Pass size in bytes to RegQueryValueExW(). winecfg: Pass size in bytes to RegQueryValueExW(). winefile: Set size before calling RegQueryValueExW(). user32: Change the position and size of layered windows before flushing their surfaces. uxtheme: Save temporary system metrics to a struct in memory. uxtheme: Check LoadedBefore registry key before loading theme. -- Alexandre Julliard julliard@xxxxxxxxxx