The Wine development release 4.4 is now available. What's new in this release (see below for details): - New MSIDB tool for manipulating MSI databases. - Support for custom draw buttons in common controls. - Many more Media Foundation APIs implemented. - Various bug fixes. The source is available from the following locations: https://dl.winehq.org/wine/source/4.x/wine-4.4.tar.xz http://mirrors.ibiblio.org/wine/source/4.x/wine-4.4.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 4.4 (total 50): 10407 StarForce v3 kernel driver service 'sfhlp02' crashes on unimplemented function ntoskrnl.exe.IoCreateSynchronizationEvent 10531 Windows Calculator: Color in buttons missing 13087 Hard Truck Apocalypse fails to load keyboard layout 17005 Chicken Tournament: Rendering issues 23175 Zak McKracken - Between Time and Space fails to play back intro video (ICM_DECOMPRESS_GET_FORMAT problems with Xvid) 25180 Clonk Endeavour's intro video is not rendered correctly (iccvid does not support non-multiple of 4 video width) 28240 Mipony 1.5.x (.NET 2.0 app): Embedded web browser shown in too small window 28847 LabChart Reader 7.x crashes due to missing wmvcore 'IWMProfileManager2', CLSID '{7a924e51-73c1-494d-8019-23d37ed9b89a}' 30548 MediaOne Plus 2.0 PhotoImpact (Ulead PhotoImpact X3) installer runs "regedit" with unsupported "/c" switch 33506 Microsoft Expression Design 4 (Free Version) crashes when quickly populating main menu items (dropdown sub-menu drawing) 35251 Skype 4 MSI installer fails to start Skype.exe when finishing installation in Vista mode (TaskService_Connect is a stub) 35841 R.U.S.E. Demo need wmvcore.dll.WMCreateSyncReader implementation 35986 Multiple DRM-enabled apps and games crash when being relay traced (game overlay renderer enabled Steam games) 37325 Rhapsody 4.0 auto setup for DRM crashes on unimplemented function wmvcore.dll.WMCreateBackupRestorerPrivate 37327 Rhapsody 4.0 crashes on unimplemented function 'wmvcore.dll.WMCreateSyncReaderPriv' when playing a track 37585 64-bit Chromium browser engine with native API sandboxing/hooking scheme fails if 64-bit ntdll.dll.so is not mapped at desired fixed address (Google Chrome 38+ crashes with WinVer <= Vista) 37871 GOG.com downloader (.NET 3.5 app) wants wininet.GetUrlCacheConfigInfoA/W implementation 37972 Multiple application installers fail due to VBScript parser failure in 'Get' method calls (UC Receptionist Console 14 SP6, PostgreSQL 9.3, Symantec VIP Access) 38791 In server/queue.c, clipping cursor to empty rectangle is off by one pixel (affects "The Long Dark") 38943 Warhammer 40k: Dawn of War GOTY (Steam) crashes while loading to the menu with Wine-Mono 4.7.5 or earlier 39606 Infinite loop in StackWalk64 41226 Sound effects play at incorrect volume in Halo PC and Halo Custom Edition 42939 NOX App Player v3.8.x (Android Emulator) fails in post-installation step (VirtualBox COM Server raises assert: failed to set self TLS. lasterr=87 thread 'CGMgr') 42982 Bayonetta can't save settings 43071 Bayonetta can't read its "system_data" config file 43851 Monkey Island Special Edition Collection: Installer crashes on the first run 44423 Office 2007/2010 32bit - links not working 44793 Epic Games Launcher 7.x crashes on startup (relies on native Windows behaviour: 'shcore.dll' loaded by 'shlwapi.dll') 44800 FL Studio: Attempting to minimize FL Studio shows a small label instead 45577 Skyrim tries to install MS VC Redist Package each launch 45925 WPF application (.NET 4.5) printing fail: crash in unimplemented function prntvpt.dll.PTOpenProviderEx 45927 Tom Clancy's TheDivision.exe terminates itself a few seconds after launch 46305 Skyrim, Fallout 3, and Fallout: New Vegas all crash upon clicking 'Play' 46371 FFXI + Ashita random crash ingame 46571 FPS Monitor doesn't work (needs gdi32.D3DKMTCloseAdapter stub) 46579 F.E.A.R. 2: Project Origin screen is completely light grey while playing intro movie 46680 redefinition of typedef ‘fnprintf’ 46706 Eventide H9 Control crashes on unimplemented function bthprops.cpl.BluetoothFindDeviceClose 46712 Atelier Firis config tool crashes with "Unhandled page fault on execute access" 46721 Two quotes together (in outer quotes) not parsed correctly in argv 46731 64-bit dotnet20 installer freezes in 4.2 46754 Multiple application installers fail in VBscripts due to IWshEnvironment::Item property returning BSTR with embedded null terminator (PostgreSQL 9.3) 46761 BigNox VM VirtualBox Support Driver 'YSDrv.sys' (part of NoxPlayer 6.x) crashes on unimplemented function ntoskrnl.exe.MmBuildMdlForNonPagedPool 46762 BigNox VM VirtualBox Support Driver 'YSDrv.sys' (part of NoxPlayer 6.x) crashes on unimplemented function ntoskrnl.exe.ExSetTimerResolution 46772 Creo Elements/Direct Modeling Express 6.0 installer fails with VBScript parser error: parser_lex '_' not followed by newline 46783 Metro Exodus crash on start [DXGI] 46792 Europa Universalis III crashes after start 46798 Multiple Microsoft applications need support for Antimalware Scan Interface (AMSI) 'AMSI.dll' 46811 Inquisitor: black screen after start in fullscreen mode 46835 Wine fails to compile with vkd3d 1.0 ---------------------------------------------------------------- Changes since 4.3: Alexandre Julliard (27): winebuild: Open the output file only when needed. winebuild: Add a helper function to open a temporary file as output. winebuild: Rename BuildSpec32File() for consistency. winebuild: Output the module filename along with the stub data. winebuild: Add a helper for decorating stdcall function names. winebuild: Add a helper for generating RVA pointers. winebuild: Add a helper for generating data directories. winebuild: Don't use underscore prefix on 64-bit Windows. winebuild: Specify the correct linker emulation for Windows platforms. winegcc: Get rid of the Mingw Unicode hack. winegcc: Make get_lddllflags() more generic to return all link flags. winegcc: Also return Windows link flags in get_link_args(). configure: Remove a few no longer used definitions. winebuild: Support generating a .spec.o file for Windows platforms. winegcc: Use a .spec.o files when building for Windows. libport: Get rid of memcpy_unaligned(). libport: Simplify configuration checks in getopt.c. libport: Remove checks for gettimeofday(). libport: Remove checks for memmove(). libport: Remove checks for strerror(). Avoid using Windows includes that are already handled in wine/port.h. libwpp: Use __int64 instead of long long. configure: Hardcode some headers for Windows platforms. configure: Hardcode some types for Windows platforms. configure: Hardcode some functions for Windows platforms. libport: Don't build some functions that aren't needed on Windows. libport: Avoid issues with struct timeval on Windows. Alistair Leslie-Hughes (5): secur32: Stop memory leak (Coverity). oleaut32: Add missing return value checks (Coverity). setupapi: Added CM_Request_Device_EjectA/W stub. setupapi: Add SetupDiInstallDeviceInterfaces. setupapi: Add SetupDiRegisterCoDeviceInstallers stub. Andrew Eikum (2): user32: GetRawInputDeviceInfo uses characters for RIDI_DEVICENAME size. winhttp: Don't crash setting up secure proxy. Andrey Gusev (2): wmvcore: Implement WMCreateSyncReader. wmvcore: Implement WMCreateSyncReaderPriv. Brendan McGrath (3): kernel32: Allow double quote style escape in argv. kernel32/tests: Length of sort keys must be equal with and without dest. libwine: get_sortkey to return consistent length with and without dstlen. Daniel Ansorregui (5): d3d9/tests: Add a basic Fetch4 sampling test. d3d9/tests: Add texldd/texldb/texldl Fetch4 sampling tests. d3d9/tests: Add tests for Fetch4 format support. d3d9/tests: Add tests for Fetch4 with 3D textures. d3d9/tests: Add tests for Fetch4 with depth textures. Dmitry Timoshkov (2): advapi32/tests: Add a test for provider handle returned by CryptAcquireContext(CRYPT_DELETEKEYSET). advapi32: CryptAcquireContext(CRYPT_DELETEKEYSET) should set returned provider handle to 0. Erich Hoover (12): msidb: Add stub tool for manipulating MSI databases. msidb: Add support for importing database tables. msidb: Add support for adding stream/cabinet files to MSI databases. msi: Add support for deleting streams from an MSI database. msi: Add support for exporting the _SummaryInformation table. msi: Break out field exporting into a separate routine. msi: Add support for exporting binary streams (Binary/Icon tables). msidb: Add support for removing stream/cabinet files from MSI databases. msidb: Add support for extracting stream/cabinet files from MSI databases. msidb: Add support for exporting database tables. msidb: Add support for exporting with short (DOS) filenames. msidb: Add support for wildcard (full database) export. Fabian Maurer (1): comctl32/combo: Fix misleading indentation. François Gouget (12): strmbase: A spelling fix in a comment. gdi32: Fix the FreeType case in a comment. mfplat/tests: Fix the trailing '\n's in ok() messages. user32/tests: Remove a space before a '\n'. dbghelp: Spelling fixes in a couple of comments. windowscodecs: Spelling fixes in a comment. vbscript/tests: A spelling fix in a comment. setupapi/tests: Add a trailing '\n' to a couple of ok() calls. vssapi: A spelling fix in a variable name. windowscodecs/tests: Add a trailing '\n' to an ok() call. comsvcs/tests: Fix a typo in an ok() message. widl: A spelling fix in a variable name. Gabriel Ivăncescu (8): include: Add CDRF_DOERASE and CDRF_SKIPPOSTPAINT definitions. comctl32/button: Implement NM_CUSTOMDRAW for Push Buttons. comctl32/button: Implement NM_CUSTOMDRAW for themed Push Buttons. comctl32/button: Implement NM_CUSTOMDRAW for other buttons. comctl32/button: Implement NM_CUSTOMDRAW for other themed buttons. comctl32/button: Implement NM_CUSTOMDRAW for BS_USERBUTTON. comctl32/button: Don't draw the button when losing focus before invalidating it. comctl32/tests: Add tests for NM_CUSTOMDRAW buttons. Gijs Vermeulen (4): d3d8: Improve ValidatePixelShader(). wmvcore: Upgrade to IWMProfileManager2. ntoskrnl.exe: Add MmBuildMdlForNonPagedPool stub. ntoskrnl.exe: Add ExSetTimerResolution stub. Hans Leidekker (5): bcrypt: Implement BCRYPT_HASH_REUSABLE_FLAG. advapi32: Add a stub implementation of SaferIdentifyLevel. amsi: New dll. amsi: Add stub implementations for a couple of functions. msi: Skip the special SummaryInformation stream in msi_commit_streams. Henri Verbeet (1): d3d9/tests: Mark one more test in test_vshader_input() as broken on WARP. Huw D. M. Davies (3): winegcc: Restore the linker option specifier for strip. winebuild: Use the correct section label on macOS. winemaker: Fix --single-target option parsing. Isira Seneviratne (1): kernel32/nls: Fix some values in Sinhala NLS file. Jacek Caban (67): jscript/tests: Allow GetTypeInfo calls. jscript: Use jsstr_t as string argument type in OP_obj_prop. jscript: Support embedded null bytes in unescape. jscript: Return regexp string as jsstr_t from lexer. jscript: Pass string as jsstr_t to push_instr_str. jscript: Add support for string literals with embedded null bytes. mshtml.idl: Add IHTMLDOMImplementation2 and IDOMDocumentType declarations. mshtml: Add IHTMLDOMImplementation2 stub implementation. mshtml: Don't store NSContainer in nsWineURI. rpcrt4/tests: Avoid type redefinition. mshtml: Use load_flags instead of is_doc_uri in nsChannel implementation. mshtml: Get nsIWebProgress from notification callback if load group has no observer. mshtml: Always use get_channel_window to get window in nsIChannel::AsyncOpen. mshtml: Get rid of no longer needed windowref_t. mshtml: Use channel_bsc from URI for child documents as well. mshtml: Move TranslateUrl call to before_async_open. mshtml: Get rid of no longer needed is_doc_uri from nsWineURI. mshtml: Simplify handling origin URI charset. mshtml: Rename NSContainer to GeckoBrowser. mshtml: Detach more document objects in detach_inner_window. mshtml: Move child window list to inner window and detach children when detaching parent. mshtml: Pass GeckoBrowser instead of HTMLDocumentObj to create_document_node. mshtml: Use global security manager. mshtml: Store weak GeckoBrowser reference in HTMLDocumentNode. mshtml: Pass GeckoBrowser instead of HTMLDocumentObj to create_outer_window. mshtml: Store GeckoBrowser weak reference in HTMLOuterWindow. mshtml: Create top content window in init_browser. jscript: Add Object.getPrototypeOf implementation. ntoskrnl.exe: Support NULL type in ObReferenceObjectByHandle. server: Connect pipe servers in order that they enter listening state. server: Wake waiters when new pipe server instance is created. ntdll/tests: Add more event op tests. ntdll: Fix event op functions declarations. ntdll: Add support for returning previous state argument in event functions. mshtml: Move script mode handling to GeckoBrowser. mshtml: Move cycle collection to detach_gecko_browser. mshtml: Move user mode to GeckoBrowser. mshtml: Pass document node to handle_edit_event. mshtml: Move IsDirty implementation to GeckoBrowser. mshtml: Move do_ns_command to HTMLDocumentNode. mshtml: Move cmdtable_t to HTMLDocumentNode. mshtml: Get rid of handle_edit_load. mshtml: Move init_editor to HTMLDocumentNode. mshtml: Move SetDesignMode call to create_document_node. mshtml: Don't Use HTMLDocument type in HTMLDOMNode_unlink. mshtml: Use detach_document_node in detach_gecko_browser. mshtml: Bind events directly to document node for documents with no window associated. mshtml: Add IHTMLDOMImplementation2::createHTMLDocument implementation. mshtml: Correctly handle documents with no window associated in IHTMLDocument2::get_location. mshtml: Use is_main_content_window in a few more places. mshtml: Access document object via browser object in IActiveScriptSiteWindow::GetWindow. mshtml: Access document object via browser object in IOmHistory::get_length. mshtml: Access document object via browser object in refresh_proc. mshtml: Access document object via browser object in nsIChannel::AsyncOpen. mshtml: Access document object via browser object in IHTMLWindow2 implementation. mshtml: Access document object via browser object in IHTMLPrivateWindow implementation. mshtml: Access document object via browser object in window QueryService implementation. mshtml: Access document object via browser object in update_window_doc. mshtml: Access document object via browser object in IBindCallbackRedirect::Redirect. mshtml: Access document object via browser object in nsChannelBSC_init_bindinfo. mshtml: Access document object via browser object in handle_navigation_error and handle_extern_mime_navigation. mshtml: Access document object via browser object in navigate_javascript_proc and navigate_fragment. mshtml: Access document object via browser object in super_navigate. mshtml: Access document object via browser object in navigate_new_window. mshtml: Access document object via browser object in navigate_uri. mshtml: Get rid of no longer needed HTMLOuterWindow doc_obj pointer. jscript: Add Array.prototype.map implementation. Jactry Zeng (20): riched20: Handle REO_IOB_SELECTION in IRichEditOle::GetObject(). propsys: Add VT_EMPTY support for PropVariantToStringAlloc(). propsys: Implement PropVariantToString(). propsys: Add VT_CLSID support for PropVariantToGUID(). propsys: Partially implement PropVariantToBuffer(). mfplat: Unlock section after finishing. mfplat: Initialize attribute array. mfplat: Implement IMFAttributes::{SetItem,GetItem}. mfplat: Implement IMFAttributes::DeleteItem(). mfplat: Implement IMFAttributes::GetItemByIndex(). mfplat: Add support for integer attribute values. mfplat: Implement IMFAttributes::GetCount(). mfplat: Implement IMFAttributes::{SetDouble, GetDouble}. mfplat: Add support for string attributes. mfplat: Implement IMFAttributes::{SetUnknown, GetUnknown}. mfplat: Implement IMFAttributes::DeleteAllItems(). mfplat: Implement IMFAttributes::CopyAllItems(). mfplat: Add support for GUID attributes. mfplat: Add support for blob attribute values. mfplat: Implement CompareItem() for attributes. Józef Kucia (47): d3d11: Add D3D11_FORMAT_SUPPORT_TEXTURE1D to d3d11_device_CheckFormatSupport(). wined3d: Add R8G8_UNORM vertex format. maintainers: Add d3d12 to Direct3D section. dxgi: Introduce d3d12_swapchain_have_user_images(). dxgi: Factor out d3d12_swapchain_recreate_vulkan_swapchain(). dxgi: Handle VK_ERROR_OUT_OF_DATE_KHR returned from vkAcquireNextImageKHR(). d3d12/tests: Use multiple command lists in test_swapchain_backbuffer_index(). d3d12/tests: Use multiple command lists in test_swapchain_size_mismatch(). wined3d: Get rid of valid_rt_mask. wined3d: Store base vertex draw capabilities in struct wined3d_d3d_info. wined3d: Store multisample draw location in struct wined3d_d3d_info. wined3d: Introduce general helper function to get sample count for resource. wined3d: Avoid passing gl_info to prune_invalid_states(). wined3d: Avoid passing gl_info to compile_state_table(). wined3d: Rename StateTable. wined3d: Rename state entry structures. dxgi: Avoid recreating swapchain when we don't have user images. d3d12/tests: Add test for swapchain refcounts. dxgi/tests: Fix potential crashes in test_get_containing_output(). dxgi/tests: Make sure that device is idle before destroying swapchains. dxgi: Implement dxgi_output_FindClosestMatchingMode1(). dxgi: Reject DXGI_FORMAT_UNKNOWN for swapchains. dxgi: Rename d3d12_swapchain_have_user_images() to d3d12_swapchain_has_user_images(). dxgi/tests: Add tests for creating swapchain with DXGI_FORMAT_UNKNOWN. wined3d: Implement eval_sample_index shader instruction. d3d12: Remove export ordinals. d3d12: Add stub for D3D12EnableExperimentalFeatures(). d3d12: Add stub for D3D12SerializeVersionedRootSignature(). dxgi: Implement dxgi_output_GetDisplayModeList1(). dxgi: Trace mode on separate line for FindClosestMatchingMode(). d3d12: Pass IDXGIAdapter and adapter LUID to vkd3d. dxgi: Improve d3d11_swapchain_GetContainingOutput() implementation. dxgi: Implement d3d12_swapchain_GetContainingOutput(). d3d12: Add test for creating device with adapter. d3d12: Set ordinal for D3D12CreateDevice(). wined3d: Add driver and device UUIDs to adapter identifiers. dxgi: Introduce IWineDXGIAdapter::get_adapter_info(). d3d12: Use VkPhysicalDevice corresponding to IDXGIAdapter. dxgi: Factor out d3d11_swapchain_get_hwnd(). ucrtbase: Add more _o forwards. wined3d: Store BGRA vertex capabilities in struct wined3d_d3d_info. dxgi/tests: Use void pointer for get_refcount() parameter. d3d12: Do not pass VkPhysicalDevice to vkd3d if we failed to find matching device. dxgi: Do not forward d3d11_swapchain_Present() to d3d11_swapchain_Present1(). d3dxof: Change "value" size to 512. dxgi: Do not forward d3d12_swapchain_Present() to d3d12_swapchain_Present1(). configure: Require libvkd3d 1.1. Ken Thomases (4): kernel32: Remove some duplicate code. libwine: On Mac, use a more capable Mach function to map memory and avoid calling mmap() in some cases. libwine: On Mac, use Mach APIs to enumerate address space holes instead of using trial and error. libwine: On Mac, don't manually exclude the stack when reserving above the user space limit. Louis Lenders (2): bthprops.cpl: Add BluetoothFindDeviceClose stub. gdi32: Add D3DKMTCloseAdapter() stub. Matteo Bruni (20): d3d9: Don't upload unused system memory vertex buffers. d3d8: Don't upload unused system memory vertex buffers. d3d9: Return failure in CheckDeviceFormat() for unsupported adapter formats. d3d9/tests: Add more tests for D3DUSAGE_AUTOGENMIPMAP expected failures. d3d9/tests: Clarify that D3DFMT_A8R8G8B8 isn't a supported adapter format. d3d8: Return failure in CheckDeviceFormat() for unsupported adapter formats. d3d9/tests: Fix a CheckDeviceFormat() call. d3d9/tests: Fix test_lost_device() D3D9Ex test on Windows 10. d3d9/tests: Fix test_wndproc() D3D9Ex test on Windows 10. d3d8/tests: Add a test for CheckDeviceFormat() with an unsupported adapter format. d3d9/tests: Fix test_frame_latency() D3D9Ex test on Windows 10. d3d8/tests: Set FVF in test_draw_primitive(). d3d8/tests: Skip test_lost_device() on WARP. d3d9: Validate vertex stride in Draw[Indexed]PrimitiveUP(). d3d8: Validate vertex stride in Draw[Indexed]PrimitiveUP(). d3d9/tests: Fix test_window_style() D3D9Ex test on current Windows 10. wined3d: Set display mode to a suitable adapter format. d3d9/tests: Add a test for GetDisplayMode(). d3d8/tests: Add a test for GetDisplayMode(). wined3d: Remove now unused glsl_version parameter from wined3d_guess_card(). Michael Müller (3): iccvid: Fix calculation of stride and size. msvidc32: Add support for converting 16 bit depth to 24 bit. msvidc32: Fix calculation of stride and size. Michael Stefaniuc (77): ieframe/tests: Remove useless cast to self. winedump: Remove useless casts to self. ntdll/tests: Avoid using the comma operator. progman: Avoid using the comma operator. comctl32/tests: Remove redundant not-NULL check (coccinellery). winebus.sys: Remove useless casts to self. dsound: Remove useless casts to self. winmm: Remove useless casts to self. d3dx9/tests: Remove useless cast to self. d3dx9: Pass a struct d3dx_effect to the d3dx_parse helpers. d3dx9: Merge the d3dx_effect_GetParameterByName() helper. d3dx9: Merge the d3dx_effect_GetParameter() helper. d3dx9: Merge the d3dx_effect_GetParameterBySemantic() helper. d3dx9: Merge the d3dx_effect_GetParameterElement() helper. d3dx9: Move parameter_count out of struct d3dx9_base_effect. d3dx9: Remove an unneeded forward declaration. d3dx9: Merge the d3dx_effect_GetAnnotation() helper. d3dx9: Merge the d3dx_effect_GetAnnotationByName() helper. d3dx9: Pass a struct d3dx_effect to get_annotation_from_object(). d3dx9: Merge the d3dx_effect_GetPass() helper. d3dx9: Merge the d3dx_effect_GetPassByName() helper. d3dx9: Merge the d3dx_effect_GetTechniqueDesc() helper. d3dx9: Merge the d3dx_effect_GetTechniqueByName() helper. d3dx9: Merge the d3dx_effect_GetTechnique() helper. msacm32: Remove redundant not-NULL check (coccinellery). d3dx9: Pass a struct d3dx_effect to the get technique helpers. d3dx9: Move object_count out of struct d3dx9_base_effect. d3dx9: Pass a struct d3dx_effect to d3dx9_copy_data(). d3dx9: Merge the d3dx_effect_GetPassDesc() helper. d3dx9: Move objects out of struct d3dx9_base_effect. d3dx9: Merge the d3dx_effect_GetBool() helper. d3dx9: Merge the d3dx_effect_GetBoolArray() helper. d3dx9: Merge the d3dx_effect_SetBool() helper. d3dx9: Merge the d3dx_effect_SetBoolArray() helper. d3dx9: Merge the d3dx_effect_GetFloat() helper. d3dx9: Merge the d3dx_effect_GetFloatArray() helper. d3dx9: Merge the d3dx_effect_SetFloat() helper. d3dx9: Merge the d3dx_effect_SetFloatArray() helper. shell32: Remove redundant not-NULL check (coccinellery). wininet: Remove redundant not-NULL check (coccinellery). winefile: Remove useless cast to self. winemenubuilder: Remove useless cast to self. d3dx9: Merge the d3dx_effect_GetInt() helper. d3dx9: Merge the d3dx_effect_GetIntArray() helper. d3dx9: Merge the d3dx_effect_SetInt() helper. d3dx9: Merge the d3dx_effect_SetIntArray() helper. d3dx9: Merge the d3dx_effect_GetMatrix() helper. d3dx9: Merge the d3dx_effect_GetMatrixArray() helper. d3dx9: Merge the d3dx_effect_GetMatrixPointerArray() helper. d3dx9: Merge the d3dx_effect_SetMatrix() helper. d3dx9: Merge the d3dx_effect_SetMatrixArray() helper. d3dx9: Merge the d3dx_effect_SetMatrixPointerArray() helper. gphoto2.ds: Remove useless casts to self. windowscodecs: Remove redundant not-NULL checks (coccinellery). shell32: Remove unused return variables (coccinelle). quartz: Remove an unused return variable (coccinelle). d3dx9: Merge the d3dx_effect_GetMatrixTranspose() helper. d3dx9: Merge the d3dx_effect_GetMatrixTransposeArray() helper. d3dx9: Merge the d3dx_effect_GetMatrixTransposePointerArray() helper. d3dx9: Merge the d3dx_effect_SetMatrixTranspose() helper. d3dx9: Merge the d3dx_effect_SetMatrixTransposeArray() helper. d3dx9: Merge the d3dx_effect_SetMatrixTransposePointerArray() helper. gdi32: Remove unused return value of init_system_links(). d3dx9: Merge the d3dx_effect_GetParameterDesc() helper. d3dx9: Merge the d3dx_effect_GetPixelShader() helper. d3dx9: Merge the d3dx_effect_GetString() helper. d3dx9: Merge the d3dx_effect_SetString() helper. d3dx9: Merge the d3dx_effect_GetTexture() helper. d3dx9: Merge the d3dx_effect_SetTexture() helper. mfreadwrite: Remove useless cast to self. cmd: Remove useless cast to self. d3dx9: Merge the d3dx_effect_GetValue() helper. d3dx9: Merge the d3dx_effect_SetValue() helper. d3dx9: Merge the d3dx_effect_GetVector() helper. d3dx9: Merge the d3dx_effect_GetVectorArray() helper. d3dx9: Merge the d3dx_effect_SetVector() helper. d3dx9: Merge the d3dx_effect_SetVectorArray() helper. Nikolay Sivov (61): mfplat: Implement periodic callbacks. mf: Implement MFShutdownObject(). mfplat: Implement media event queue. mf/tests: Add some tests for session events support. mfplat: Move media type object code to separate file. mfplat: Move stream descriptor implementation to separate file. mfplat: Return stub interface for stream descriptor type handler. mfplat: Keep stream descriptor identifier. mfplat: Implement media type handler functionality for stream descriptor. wshom.ocx: Fix string length returned from Check returned BSTR length. mf: Add a stub for default presentation clock. mfplat: Implement MFCreatePresentationDescriptor(). mfplat: Move buffer implementation to separate file. mfplat: Move sample implementation together with buffers. mfplat: Implement buffer collection for sample. mfplat: Fix potential invalid memory access (Coverity). mfplat: Fix a leak on error path (Coverity). mfplat: Add a stub for system time source. mfplat: Implement time source state changes. include: Define MFT category GUIDs. d2d1/tests: Add some missing EndDraw() checks (Coverity). mf: Control time source state from presentation clock. mf: Keep a list of clock state sinks. mf: Add support for clock sink notifications. include: Add major media types GUIDs for Media Foundation. mfplat: Forward media type methods to attribute storage. mfplat: Forward CopyAllItems() for media type as well. mfplat: Forward CopyAllItems() for samples. mfplat: Set sample flags. winex11: Fix typo in comments. winemac: Fix typo in comments. mfplat/tests: Remove a test crashing on XP/Vista. include: Add Media Foundation handler interfaces definition. mfplat: Close event handle on async result release. mfplat: Free event value on release. include: Add more Media Foundation error codes. mfuuid: Define Media Platform guids. mfplat: Link to mfuuid. mfplat: Implement CreateObjectFromByteStream(). mfplat: Implement async method of creating objects from bytestreams. imm32: Replace macros with helper functions. imm32: Fix output buffer length handling for no-conversion case of GCS_COMPSTR. imm32: Fix output buffer length handling for A -> W conversion case of GCS_COMPSTR. mfplat: Implement CreateObjectFromURL(). mfplat: Implement async object creation from URL. mfplat: Implement equality test for media types. mfreadwrite: Use source resolver when creating reader from bytestream. mfreadwrite: Implement MFCreateSourceReaderFromURL(). ntdll/threadpool: Add support for callback priority. mfplat: Use newer threadpool environment structure. mfplat: Add support for work item priority. mfreadwrite: Keep source reference in source reader. mfreadwrite: Return source flags through MF_SOURCE_READER_MEDIASOURCE_CHARACTERISTICS. mfplat: Forward CopyAllItems() for events. mfplat: Forward CopyAllItems() for stream descriptor. imm32: Get rid of some casts in attributes helper, document arguments. mfplat: Add a helper to have readable attribute names in traces. propsys: Add support for VT_CLSID in PropVariantCompareEx(). propsys: Add support for VT_R4/VT_R8 to PropVariantCompareEx(). mfplat: Add descriptor attributes GUIDs. mfplat: Implement LockStore()/UnlockStore(). Paul Gofman (7): ntdll/tests: Add test for preserving x87 fpu state when capturing context. ntdll: Avoid resetting x87 FPU state when saving context. ntdll: Mark 'float_status' as input operand in save_fpu(). ntdll/tests: Mark sync NtWriteFile() result for async regular file as broken. ntdll: Return STATUS_PENDING from NtWriteFile() for async write with regular file. ntdll/tests: Mark sync NtReadFile() result for async regular file as broken. ntdll: Return STATUS_PENDING from NtReadFile() for async read with regular file. Piotr Caban (1): kernel32/tests: Show that PAGE_WRITECOPY permission changes only on modified pages. Rob Hughes (1): ws2_32: Handle EISCONN from sendmsg. Stefan Dösinger (2): ddraw: Protect against invalid clipper pointers. ddraw: Clear *clipper on failure in ddraw_surface7_GetClipper(). Vijay Kiran Kamuju (3): include: Add IWMLicenseBackup related interface definitions. wmvcore: Move IWMReader implementation to separate file. wmvcore: Add stub WMCreateBackupRestorer functions. Vincent Povirk (1): mscoree: Implement an override setting for .net libraries. Zebediah Figura (59): quartz/tests: Add some tests for media types. quartz/tests: Add some tests for filter interfaces. quartz/tests: Add a test WAVE file. quartz/waveparser: Ignore unsupported chunks when connecting. quartz/tests: Add some tests for IBaseFilter_EnumPins(). vbscript: Handle carriage return in more places. quartz/waveparser: Fix source pin name. quartz/tests: Add some tests for IBaseFilter_FindPin() on the WAVE parser. quartz/tests: Add some tests for querying WAVE parser pin information. quartz/tests: Add some tests for WAVE parser pin interfaces. quartz/waveparser: Always allocate at least a WAVEFORMATEX for the source media type. quartz/waveparser: Fill out all members of the source media type. quartz/tests: Add some tests for WAVE parser media types. oleaut32: Unify the typelib and dispatch proxy/stub factories. quartz/tests: Add some tests for AVI decompressor filter interfaces. quartz/tests: Add some tests for IBaseFilter_EnumPins() on the AVI decompressor. strmbase/transform: Get rid of superfluous npins field. strmbase/transform: Fix pin IDs. quartz/tests: Add some tests for IBaseFilter_FindPin() on the AVI decompressor. quartz/tests: Add some tests for querying AVI decompressor pin information. msvfw32: Use the global HeapAlloc() wrappers. msvfw32: Use the standard linked list implementation. msvfw32/tests: Set requestedExecutionLevel to asInvoker to prevent registry virtualization. msvfw32/tests: Add more tests for ICInfo(). msvfw32: Reimplement ICLocate() on top of ICInfo(). msvfw32: Get rid of enum_drivers(). msvfw32: Correctly implement ICINSTALL_DRIVER. msvfw32: Enumerate installed functions in ICInfo(). msvfw32: Get rid of the 'reg_driver' typedef. quartz/tests: Add some tests for AVI decompressor pin interfaces. quartz/tests: Add initial tests for AVI decompressor media types. quartz/tests: Add some tests for ACM wrapper filter interfaces. quartz/tests: Add some tests for IBaseFilter_EnumPins() on the ACM wrapper. quartz/tests: Add some tests for IBaseFilter_FindPin() on the ACM wrapper. quartz/tests: Add some tests for querying ACM wrapper pin information. quartz/tests: Add some tests for ACM wrapper pin interfaces. quartz/tests: Clean up tests for IPersistPropertyBag on the DirectSound renderer. quartz/tests: Clean up test_query_interface(). quartz/tests: Add some tests for IBaseFilter_EnumPins() on the DirectSound renderer. strmbase: Correct pin IDs for renderers. quartz/tests: Add some tests for IBaseFilter_FindPin() on the DirectSound renderer. quartz/tests: Add some tests for querying DirectSound renderer pin information. quartz/tests: Add some tests for DirectSound renderer pin interfaces. include: Correct IDL attributes for control.idl. quartz/tests: Add some tests for IBasicAudio on the DirectSound renderer. quartz/tests: Rename referenceclock.c to systemclock.c. quartz/tests: Clean up test_IReferenceClock_query_interface(). quartz/tests: Rewrite test_IReferenceClock_methods(). quartz/systemclock: Simplify SystemClockImpl_GetTime(). hid: Handle overlapped file handles. quartz/tests: Fix static link to GetTickCount64(). quartz/tests: Add a missing call to ITypeInfo_ReleaseTypeAttr(). quartz/tests: Add some tests for advising from system clock. quartz/systemclock: Use the global HeapAlloc() wrappers. quartz/systemclock: Use the standard linked list implementation. quartz/systemclock: Use GetTickCount64() directly. quartz/systemclock: Simplify notifying the advise thread. quartz/systemclock: Also wake the semaphore at the given start time. quartz/systemclock: Clarify some field names. -- Alexandre Julliard julliard@xxxxxxxxxx