Wine Announcement

The Wine development release 5.2 is now available.

What's new in this release (see below for details):
  - More compatible codepage mapping tables.
  - Support for using the null display driver as a real driver.
  - Better UTF-8 support in the Resource and Message Compilers.
  - Fixes for using ucrtbase as C runtime.
  - Various bug fixes.

The source is available from the following locations:

Binary packages for various distributions will be available from:

You will find documentation on

You can also get the current source directly from the git
repository. Check 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 5.2 (total 22):

  14697  OllyDbg 2.x freezes sometimes during processing of debug events (debug events can block completion of queued user APCs)
  18159  Lotus Approach (MDI app) has extra caption buttons and Control box
  18933  Free PDF to Word Doc converter doesn't work, window empty/hangs on launch (appinstall)
  34848  PDF-XChange Viewer 2.5.213 crashes when switching between document tabs
  36059  Multiple Steam games fail to install DirectX runtime prerequisite, resulting in repeated install attempt on startup ('xinput1_3.dll' locked by client)
  36521  Star Wars rebellion update 1.01 crashes on start (quoted process command line only created with special 'My Documents' folder)
  43934  SumatraPDF 3.1.2 has very narrow buttons in its installer
  45462  PDF X-Change Viewer (all versions) cannot click dialog box in menu
  45481  Spintires: MudRunner crashes at launch
  46619  Lineage 2 crashes ( private server)
  46735  Multiple applications need Direct3DShaderValidatorCreate9() implementation (The Sims 2 demo, Armed Assault)
  47018  Multiple applications show transparent bitmap images on static controls with black background (comctl32 lacking support for painting 32-bit BMPv3 with alpha channel)
  47718  x86_64-w64-mingw32-strip strip dlls make wine failed start
  48122  Arturia MIDI Control Center crashes on unimplemented function ntoskrnl.exe.RtlIsNtDdiVersionAvailable
  48392  Multiple applications crash on unimplemented function WS2_32.dll.WSCSetApplicationCategory (Verbum 8, Lineage 2's SmartGuard 3.0)
  48408  mixthread monopolizes buffer_list_lock if WaitForSingleObject returns quickly, causing livelock and game freeze
  48424  xl-r8r: Crashes right after splash screen (apparently because  vga.dll is missing)
  48480  dlls/krnl386.exe16 - thunk.c argument logic incorrect for CallProcEx32W16
  48489  .Net 4.7+ requires GpFontFamily to be referenced counted instead of cloning.
  48541  Affinity Photo trial (1.7.2) crashes:Call from 0x7b00fa3d to unimplemented function mscms.dll.WcsGetDefaultColorProfileSize
  48561  Cadence Allegro Professional 16.6 crashes at startup
  48571  Firefox 72.0.* crashes on every tab (unless dwrite is disabled)


Changes since 5.1:

Akihiro Sagawa (7):
      user32/tests: Add wsprintfA %S conversion tests.
      user32: Fix wsprintfA %S conversion.
      shlwapi: Fix wnsprintfA/wvnsprintfA %S conversion.
      user32/tests: Add wsprintfW %S conversion tests.
      user32: Fix wsprintfW %S conversion.
      shlwapi: Fix wnsprintfW/wvnsprintfW %S conversion.
      gdi32: Fix function names in comments.

Alex Henrie (10):
      iphlpapi: Consolidate append_*_row functions.
      include: Add remaining MIB_TCP6 types.
      iphlpapi: Remove unnecessary memcpy from build_udp6_table.
      iphlpapi/tests: Build rotating buffers into ntoa and ntoa6.
      ntdll/tests: Add more tests for RtlIpv6StringToAddress.
      iphlpapi: Get rid of dummy arguments to sscanf.
      include: Add GetIcmpStatisticsEx.
      iphlpapi/tests: Print a message when skipping GetUdp6Table tests.
      iphlpapi/tests: Don't allow skipping ParseNetworkString tests on Wine.
      iphlpapi/tests: Drop workarounds for Windows <= 2000.

Alexandre Julliard (51):
      kernelbase: Use RtlNormalizeString() directly in FoldStringW().
      libport: Move Unicode normalization implementation to ntdll.
      kernel32/tests: Add some NormalizeString() tests.
      ntdll: Add parameter checking in RtlNormalizeString().
      ntdll: Fix estimated buffer sizes in RtlNormalizeString().
      kernelbase: Fix NormalizeString() return value and last error.
      unicode: Store variable-length sequences also for the main decomposition table.
      unicode: Store recursive decompositions directly in the tables.
      unicode: Avoid copying the decomposition data when not necessary.
      unicode: Expand surrogates in decomposition tables.
      unicode: Move the combining class table to ntdll.
      kernel32/tests: Optionally test the entire NormalizationTest.txt file.
      wrc: Directly implement UTF-8 conversions.
      wmc: Directly implement UTF-8 conversions.
      libport: Move wine_fold_string implementation back to libwine and make it obsolete.
      libport: Move wine_compare_string implementation back to libwine and make it obsolete.
      libport: Move wine_cpsymbol functions back to libwine and make them obsolete.
      libport: Move wine_utf8 functions back to libwine and make them obsolete.
      libport: Move the digitmap table back to libwine and stop updating it.
      libport: Move the collation table back to libwine and stop updating it.
      wmc: Reimplement input format detection to correctly handle Unicode BOM.
      wmc: Set the output format from the output file name.
      wmc: Add trailing newlines to error messages.
      wmc: Always output resource strings in Unicode format.
      winegcc: Make the WINEBUILD variable take precedence over the bin directory.
      wrc: Add a helper function to terminate the resource data.
      wrc: Simplify the put_string() helper function.
      wrc: Export the convert_string_utf8() helper function.
      wrc: Add an option to set the input codepage to UTF-8.
      wrc: Avoid converting Unicode strings back to Ansi.
      wrc: Set the output format from the output file name.
      unicode: Add JIS-0212 mappings to the 20932 (EUC-JP) codepage table.
      unicode: Support fetching a zip containining the data files.
      unicode: Use codepage files from Microsoft's Open Specification data.
      unicode: Remove some codepages that don't exist on Windows.
      setupapi: Use wide character string literals.
      setupapi: Support a WineSourceDirs section to copy files from the Wine build or data dir.
      makefiles: Move l_intl.nls to a new nls directory.
      unicode: Generate nls files for the codepage tables.
      ntdll: Use external codepage tables for the Unix codepage too.
      wrc: Add --nls-dir option.
      wmc: Add --nls-dir option.
      wrc: Use external NLS files for codepage conversions.
      wmc: Use external NLS files for codepage conversions.
      libport: Move wine_cp_mbstowcs implementation back to libwine and make it obsolete.
      libport: Move wine_cp_wcstombs implementation back to libwine and make it obsolete.
      libport: Move the codepage table functions back to libwine and make them obsolete.
      libport: Move the codepage tables back to libwine and stop updating them.
      ntdll: Don't allow unsupported codepages as Unix codepage.
      ntdll: Add script to generate the error mapping list.
      ntdll: Add more error mappings.

Alistair Leslie-Hughes (7):
      include: Add cdosys.idl.
      oledb32: Add page for ODBC connections to datalink dialog.
      include: Add X3DAUDIO_CALCULATE_* defines.
      include: Add more x3daudio defines.
      oledb32: Add Advanced page to datalink dialog.
      d3dx9: Implement D3DXCreateKeyframedAnimationSet.
      oledb32: Add All page to data Link dialog.

Andrew Eikum (1):
      winealsa.drv: Clean up midiOpenSeq.

Andrew Wesie (3):
      ntdll: Add NtQueryVirtualMemory(MemoryWorkingSetExInformation).
      kernel32: Make QueryWorkingSetEx use MemoryWorkingSetExInformation.
      psapi/tests: Test QueryWorkingSetEx.

Aurimas Fišeras (5):
      po: Update Lithuanian translation.
      po: Update Lithuanian translation.
      po: Update Lithuanian translation.
      po: Update Lithuanian translation.
      po: Update Lithuanian translation.

Biswapriyo Nath (1):
      include: Update winhttp.h.

Brendan Shanks (6):
      wbemuuid: Add library.
      wined3d: Add GPU information for NVIDIA GeForce GTX 1060 3GB.
      include: Fix size of DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY enum.
      include: Fix size of tomConstants enum.
      include: Fix size of RecordCreateOptionsEnum.
      ntoskrnl: Fix emulation of RIP-relative addressing.

Christian Costa (1):
      d3dx9: Support D3DFMT_X8L8V8U8 in DDS files.

Daniel Lehman (6):
      msvcrt/tests: Add some wcstombs_s_l tests.
      msvcrt: Don't set error in wcstombs_s_l if no characters to convert.
      msvcrt: Set return value on all paths in wcstombs_s_l.
      include: Add some E_* defines.
      crypt32: Implement CryptBinaryToStringW(HEXRAW).
      tzres: Add Haiti Time Zone.

Derek Lesho (5):
      mfplat: Make functionality of GetMediaTypeHandler more clear.
      msctf: Always provide a context when from GetBase/Top.
      mfplat: Implement IMFByteStream::GetLength() for file streams.
      mfplat: Implement IMFByteStream::SetCurrentPosition() for file streams.
      mfplat/tests: Add more comprehensive media source tests.

Dirk Niggemann (1):
      krnl386.exe: Make CallProcEx32W16 clear CPEX_DEST_CDECL flag before looping over arguments.

Dmitry Timoshkov (18):
      comctl32/tests: Add a test for notification messages order in the monthcal control.
      comctl32: For multiselect monthcal control send MCN_SELCHANGE notification on WM_LBUTTONDOWN event.
      ntdll: Split logic for MemoryBasicInformation into a separate function.
      user32/tests: Add some tests for Static/SS_BITMAP control.
      comctl32/tests: Add some tests for Static/SS_BITMAP control.
      gdiplus: Make GdipGetNearestColor print FIXME only if indexed bitmap is associated with the graphics object.
      comctl32: Switch to using a structure for extra storage.
      comctl32: Create an internal copy for 32-bpp bitmaps with an alpha channel for Static control.
      comctl32/tests: Add more tests for Static/SS_BITMAP control.
      gdiplus: Print fixme in GdipGetNearestColor only once.
      include: Add adserr.h.
      activeds: Implement ADsOpenObject.
      activeds: Implement AllocADsMem and FreeADsMem.
      kerberos: Add support for SECQOP_WRAP_NO_ENCRYPT to SpSealMessage.
      include/iads.idl: Remove duplicate interface definition.
      adsldp: Add LDAPNamespace stubs.
      adsldp: Add IADsOpenDSObject stubs.
      adsldp/tests: Add some tests for LDAPNamespace.

Donna Whisnant (1):
      mshtml.idl: Fix duplicated dispinterface functions.

Fabian Maurer (1):
      kernel32/tests: Make sure test doesn't depend on previous state.

François Gouget (7):
      tests: Don't initialize static variables to 0.
      configure: Fix a typo in a comment.
      bcrypt: Make format_gnutls_signature() static.
      kernel32: Export kernel32's FlushFileBuffers() implementation.
      tests: Limit spam from todos, skips and traces when winetest_debug==1.
      tests: Restore the colon in the test summary line.
      tests: Restore the colon in the todo, skip and trace lines.

Gabriel Ivăncescu (5):
      vbscript: Return the named item itself from lookup_named_item.
      vbscript: Lookup the named item in compile_script.
      vbscript: Fail if we have no context in InvokeEx.
      vbscript: Use a helper function to lookup the global functions.
      vbscript: Implement the SCRIPTITEM_CODEONLY flag.

Gerald Pfeifer (1):
      wldap32: Define a debug channel only when we are using it.

Giovanni Mascellani (1):
      d2d1: Trim rasterization area when drawing Bézier curves.

Hans Leidekker (2):
      bcrypt: Support BCRYPT_HASH_REUSABLE_FLAG in BCryptOpenAlgorithmProvider.
      winhttp/tests: Use wide character string literals.

Henri Verbeet (1):
      wined3d: Properly validate the stage index in wined3d_stateblock_set_texture_stage_state() (Coverity).

Hermès Bélusca-Maïto (1):
      atl: Fix the ATL_WNDCLASSINFOW::m_szAutoName member definition and construction.

Ilia Mirkin (2):
      crypt32/tests: Additional test for skipping unknown CAs.

Jacek Caban (43):
      jscript: Propagate Invoke error code using jsexcept_t.
      jscript: Store error location in jsexcept_t.
      jscript: Support propagating error message.
      jscript: Delay error object creation for builtin errors with message string until it's needed.
      jscript: Propagate parser error location.
      jscript: Propagate compiler error location.
      jscript: Return error source and description from GetExceptionInfo.
      jscript: Add GetSourcePosition implementation.
      vbscript: Don't convert hex literals ending with '&' to short in parse_hex_literal.
      vbscript: Add SetScriptState(SCRIPTSTATE_CLOSED) implementation.
      vbscript: Silence QueryInterface FIXME.
      wscript/tests: Get rid of strcmp_wa.
      wscript/tests: Get rid of mystrchr.
      ole32: Silence noisy ERRs.
      guiddef.h: Remove GUID_NULL declaration.
      widl: Check dispinterfaces for duplicated methods.
      jscript: Add GetSourceLineText implementation.
      mshtml/tests: Get rid of is_prefix_wa.
      guiddef.h: Improve __uuidof implementation.
      atl: Allow only ASCII digit for registrar binary values.
      crypt32: Allow only ASCII digits in CRYPT_AsnEncodeNumericString.
      propsys: Allow only ASCII digits in PSPropertyKeyFromString.
      quartz: Fix hex digit checks in process_pattern_string.
      setupapi: Fix hex digit check in SetupGetBinaryField.
      wbemprox: Fix checking for digit characters.
      winhttp: Fix digit character check in parse_port.
      webservices: Fix digit character checks.
      quartz: Remove unused functions.
      oleaut32/tests: Use Unicode strings for file names.
      oleaut32/tests: Add test of reference typelib caching.
      oleaut32: Move TKIND_DISPATCH logic to ITypeInfoImpl_GetInternalFuncDesc.
      oleaut32: Return missing function custom data as VT_EMPTY.
      oleaut32: Use ITypeInfoImpl_GetInternalFuncDesc in a few more places.
      makedep: Use -mno-cygwin for linking modules with no sources.
      user32: Allow using null driver as a normal graphics driver.
      tchar.h: Fix some macros.
      corecrt_wstdio.h: Add new file and use it instead of duplicating declarations in stdio.h and wchar.h.
      makedep: Use msvcrt headers for objects inside importlibs.
      user32: Initialize module handle to NULL for null driver.
      stdio.h: Provide sprintf and _snprintf as inline wrappers.
      corecrt_stdio_config.h: Add new header file.
      include: Move NULL define to corecrt.h.
      ucrtbase: Use public headers for _vsnprintf implementation.

Jacek Konieczny (2):
      winealsa.drv: Allow external MIDI port connection changes.
      winealsa.drv: Send MIDI events to port subscribers.

Jeff Smith (2):
      gdiplus: Fix calculation for 32-bit PARGB to ARGB conversion.
      gdiplus: Round up when converting from 32-bit ARGB to PARGB.

Julian Rüger (1):
      po: Update German translation.

Kevin Puetz (14):
      oleaut32: Use GetFinalPathNameByHandle to canonicalize file path.
      atlbase.h: Fix some declarations on win64.
      objbase.h: Add COWAIT_DEFAULT declaration.
      mshtml.idl: Fix IHTMLComputedStyle declaration.
      ntdll: Allow NULL lpAssemblyDirectoryName in find_actctx_dll.
      kernelbase: Allow NULL lpAssemblyDirectoryName in find_actctx_dllpath.
      oleaut32: Search cache for requested typeinfo in GetRefTypeInfo.
      oleaut32: Fix handling resource IDs in paths when registering typelib helpdir.
      oleaut32: Return function description as TLBFuncDesc from ITypeInfoImpl_GetInternalDispatchFuncDesc.
      oleaut32: Use ITypeInfoImpl_GetInternalFuncDesc in ITypeInfo2_fnGetFuncCustData.
      include: Introduce WINE_UNICODE_CHAR16 that allows using char16_t as Windows WCHAR.
      basetyps.h: Don't typedef wchar_t for C++.
      tchar.h: Allow using header without msvcrt.
      wtypes.idl: Support OLESTR macro with non-native wchar_t.

Lauri Kenttä (1):
      po: Update Finnish translation.

Liam Middlebrook (1):
      winevulkan: Handle bitmask pointers for spec generation.

Louis Lenders (1):
      vga: Add stub dll.

Marcus Meissner (2):
      mshtml: Use ARRAY_SIZE instead of sizeof in MultiByteToWideChar.
      ieframe: Use ARRAY_SIZE for GetLongPathNameW.

Matteo Bruni (2):
      d3dcompiler: Free variable definitions data on allocation errors.
      d3dcompiler/tests: Make test_reflection_constant_buffer() work on d3d10.

Michael Müller (1):
      setupapi: Implement SP_COPY_IN_USE_NEEDS_REBOOT.

Michael Stefaniuc (29):
      bcrypt/tests: Get rid of strcmp_wa().
      itss/tests: Get rid of a2w() and strcmp_wa().
      propsys/tests: Get rid of strcmp_wa().
      oleaut32/tests: Get rid of strcmp_wa().
      shlwapi/tests: Get rid of strcmp_wa().
      winhttp/tests: Get rid of strcmp_wa().
      winmm/tests: Get rid of strcmp_wa().
      inetcomm/tests: Get rid of strcmp_wa().
      inetcomm/tests: Get rid of a2w().
      ieframe/tests: Get rid of a2bstr() in ie.c.
      mshtml/tests: Get rid of strcmp_wa() in script.c.
      ieframe/tests: Get rid of a2bstr() and strcmp_wa().
      msscript.ocx/tests: Get rid of a2bstr().
      mshtml/tests: Get rid of a2bstr() in script.c.
      mshtml/tests: Get rid of strcmp_wa() in htmldoc.c.
      mshtml/tests: Get rid of a2bstr() in htmldoc.c.
      mshtml/tests: Get rid of wstr_contains().
      mshtml/tests: Get rid of strcmp_wa() in activex.c.
      mshtml/tests: Get rid of a2bstr() in activex.c.
      mshtml/tests: Avoid a2bstr() on string literals in dom.c.
      mshtml/tests: Get rid of a2bstr() in dom.c.
      mshtml/tests: Get rid of a2bstr() in events.c.
      mshtml/tests: Get rid of strcmp_wa() in events.c.
      mshtml/tests: Get rid of strcmp_wa() in xmlhttprequest.c.
      mshtml/tests: Get rid of a2bstr() in xmlhttprequest.c.
      dmime/tests: Move some ok() calls to make it clear what is being tested.
      dmime: Split out the perf default port creation.
      dmime: Create a port in the perf CreateStandardAudioPath().
      dmime: Implement IDirectMusicPerformance8_PChannelInfo().

Nikolay Sivov (49):
      shdocvw: Forward WhichPlatform() to shlwapi.
      shlwapi: Use public definitions for WhichPlatform().
      shlwapi: Fix SHGetViewStatePropertyBag() prototype.
      shlwapi: Fix spec entries for SHFormatDateTime().
      shlwapi: Add header entries for SHIsLowMemoryMachine().
      include: Add some newer Edit messages.
      ole32/tests: Add some tests for MonikerCommonPrefixWith().
      ole32/tests: Use helper to test display names.
      dwrite: Fix potential strings object leak (Coverity).
      dwrite: Do not create intermediate object to return face reference from family.
      dwrite: Implement GetFontFaceReference() for fontfaces.
      dwrite: Return static axis values for weight/width/italic properties.
      rtworkq: Add a stub dll.
      rtworkq: Add RtwqCreateAsyncResult().
      rtworkq: Add RtwqStartup()/RtwqShutdown().
      rtworkq: Add RtwqPutWaitingWorkItem().
      rtworkq: Add RtwqCancelWorkItem().
      rtworkq: Add RtwqScheduleWorkItem().
      rtworkq: Add periodic callbacks.
      rtworkq: Add RtwqAllocateWorkQueue().
      mfplat: Forward async queue functionality to rtworkq.
      gdi32: Retry with hinting disabled if glyph load failed in hinted mode.
      rtworkq: Add RtwqSetLongRunning().
      rtworkq: Add partial implementation of RtwqLockSharedWorkQueue().
      rtworkq: Add deadline management stubs.
      xmllite/tests: Get rid of strcmp_wa().
      shell32/tests: Get rid of strcmp_wa().
      shell32/tests: Fix some compiler warnings on sprintf() buffer sizes.
      include: Add the rest of async callback flags.
      rtworkq: Use IUnknown wrapper for work item management.
      rtworkq: Store item priority and callback flags.
      rtworkq: Add a structure for queue initialization parameters.
      rtworkq: Initialize queue with specific set of functionality.
      rtworkq: Add support for serial work queues.
      mfplat: Add MFAllocateSerialWorkQueue() export.
      dwrite: Add partial implementation for IDWriteFontFaceReference1::CreateFontFace().
      crypt32/tests: Detect missing HEXRAW support by output.
      crypt32: Fix CryptBinaryToStringW() to return required length properly.
      api-ms: Update EnumDisplayDevicesW() entries.
      ntdll: Add threadpool stack information exports.
      kernel32: Add threadpool stack information exports.
      kernel32: Add StartThreadpoolIo() stub.
      ole32: Implement MTA pinning with CoIncrementMTAUsage()/CoDecrementMTAUsage().
      dwrite/tests: Use wide string literals for some tests.
      ole32: Fix CoGetApartmentType() return value for implicit MTA case.
      rtworkq: Initialize MTA on startup.
      mfplat/tests: Add some tests for COM initialization in work queues threads.
      wincodecs: Return WINCODEC_ERR_PALETTEUNAVAILABLE for jpeg decoder frame.
      ntdll: Add missing spec file entry for TpStartAsyncIoOperation().

Paul Gofman (1):
      kernel32: Add semi-stub for LoadPackagedLibrary().

Piotr Caban (2):
      msvcp90: Don't pass NULL as reference in runtime_error and logic_error constructors.
      ucrtbase: Added stub for _get_FMA3_enable.

Rémi Bernon (26):
      server: Improve APC error handling when alloc_handle fails.
      server: Use STATUS_KERNEL_APC to indicate system APCs.
      ntdll: Reorder code to make the select logic clearer.
      ntdll: Use the status to tell user APC from system APC.
      ntdll: Handle system APCs in a separate inner loop.
      ntdll: Process system APCs while the signals are blocked.
      wpp: Do not pass NULL %s to fprintf.
      advapi32/tests: Fix some format-overflow warnings.
      advpack/tests: Fix some format-overflow warnings.
      fusion/tests: Fix some format-overflow warnings.
      kernel32/tests: Fix some format-overflow warnings.
      setupapi/tests: Fix some format-overflow warnings.
      shell32/tests: Fix some format-overflow warnings.
      user32/tests: Fix some format-overflow warnings.
      version/tests: Fix some format-overflow warnings.
      services/tests: Fix some format-overflow warnings.
      msvcrt/tests: Fix some format-overflow warnings.
      ntdll/tests: Fix some format-overflow warnings.
      hid/tests: Call CancelIo before closing device.
      hid: Add HidP_GetLinkCollectionNodes stub.
      hid/tests: Add tests for HidP_GetLinkCollectionNodes.
      hid: Implement HidP_GetLinkCollectionNodes.
      mscoree/tests: Fix some format-overflow warnings.
      configure: Re-enable warnings disabled with Wno-format.
      server: Validate status in continue_debug_event.
      msi/tests: Fix some format-overflow warnings.

Stefan Dösinger (1):
      ddraw/test: Completely disable the refcount stealing GetClipper call.

Sven Baars (2):
      wined3d: Avoid accessing freed memory in wined3d_view_gl_destroy() (Valgrind).
      ddraw/tests: Reverse cleanup order in test_coop_level_threaded().

Vijay Kiran Kamuju (1):
      ws2_32: Add stub for WSCSetApplicationCategory.

Zebediah Figura (81):
      dsound: Use an SRW lock for buffer_list_lock.
      dsound: Use an SRW lock for the buffer lock.
      quartz/tests: Add tests for IFilterGraph::Reconnect().
      quartz/filtergraph: Implement IFilterGraph2::ReconnectEx().
      quartz/tests: Use BaseOutputPinImpl_AttemptConnection().
      quartz/tests: Add some tests for file source pin connection.
      quartz/filesource: Accept any non-null subtype.
      quartz/tests: Add tests for AVI splitter pin connection.
      quartz/tests: Improve tests for AVI splitter filter state.
      quartz/tests: Add tests for MPEG splitter pin connection.
      qedit/tests: Add some tests for sample grabber pin connection.
      qcap/tests: Add some more tests for smart tee pin connection.
      strmbase: Rename the "pFuncsTable" member of struct strmbase_pin to "ops".
      strmbase: Clean up source_Connect().
      strmbase: Access our own media types directly in source_Connect().
      strmbase: Simplify CompareMediaTypes().
      strmbase: Check if the pin is already connected in source_Connect().
      ddraw: Apply the device state before executing a draw call.
      ddraw: Stop setting the device state in d3d_device7_SetRenderState().
      ddraw: Stop setting the device state when setting some default render states.
      wined3d: Fix the spelling of a comment.
      d3d9: Set the primary stateblock when executing draw calls.
      d3d9: Stop setting the device state in d3d9_device_SetStreamSource().
      d3d9: Stop setting the device state in d3d9_device_SetIndices().
      d3d9: Retrieve stream frequency state from the primary stateblock.
      d3d9: Stop setting the device state in d3d9_device_SetStreamSourceFreq().
      wined3d: Implement casting int to uint.
      strmbase: Always return VFW_E_TYPE_NOT_ACCEPTED if the pin_query_accept() callback fails.
      qedit/samplegrabber: Use BaseOutputPinImpl_AttemptConnection().
      qedit/samplegrabber: Initialize the media type filter to use wild cards instead of "None" types.
      qedit/samplegrabber: Rename the "mtype" field to "filter_mt".
      qedit/samplegrabber: Use strmbase media type helpers.
      d3d9: Reset the viewport and scissor rect for extended devices in d3d9_device_reset().
      d3d9: Stop setting the device state in d3d9_device_SetViewport().
      d3d9: Stop setting the device state in d3d9_device_SetScissorRect().
      d3d9: Retrieve the vertex declaration from the primary stateblock.
      d3d9: Stop setting the device state in d3d9_device_SetVertexDeclaration().
      d3d9: Stop setting the device state in d3d9_device_SetFVF().
      qedit/samplegrabber: Don't overwrite the filter media type in sample_grabber_sink_connect().
      qedit/samplegrabber: Implement sample_grabber_source_query_accept().
      qedit/samplegrabber: Correctly implement sample_grabber_source_get_media_type().
      qedit/samplegrabber: Don't verify the format block in sample_grabber_sink_connect().
      qedit/samplegrabber: Reconnect the sink pin if necessary.
      d3d9: Retrieve the vertex shader from the primary stateblock.
      d3d9: Stop setting the device state in d3d9_device_SetVertexShader().
      d3d9: Retrieve the pixel shader from the primary stateblock.
      d3d9: Return a stub interface from Direct3DShaderValidatorCreate9().
      setupapi/tests: Add some tests for COM self-registration.
      setupapi: Initialize COM if necessary when registering DLLs.
      devenum: Remove no longer necessary call to CoInitialize().
      quartz: Remove no longer necessary call to CoInitialize().
      strmbase: Remove no longer necessary call to CoInitialize().
      winecrt0: Make __wine_(un)register_resources() cdecl.
      quartz/tests: Add some tests for IBasicVideo::GetCurrentImage().
      quartz/vmr9: Reimplement VMR9_GetStaticImage().
      quartz/videorenderer: Clean up VideoRenderer_GetStaticImage().
      quartz/videorenderer: Track the current sample locally.
      strmbase: Get rid of current sample tracking.
      d3dcompiler: Store the swizzle unshifted.
      d3dcompiler: Dump flattened IR more accurately.
      d3dcompiler: Use wine_dbg_printf() to dump HLSL IR.
      d3dcompiler: Dump loops.
      d3d9: Retrieve vertex shader constants from the primary stateblock.
      d3d9: Stop setting the device state when setting vertex shader constants.
      d3d9: Stop setting the device state in d3d9_device_SetPixelShader().
      d3d9: Retrieve pixel shader constants from the primary stateblock.
      d3d9: Stop setting the device state when setting pixel shader constants.
      quartz/vmr9: Fix copying from the d3d9 surface if the pitch doesn't match the width.
      d3d9: Retrieve textures from the primary stateblock.
      d3d9: Stop setting the device state in d3d9_device_SetTexture().
      d3d9: Retrieve sampler states from the primary stateblock.
      d3d9: Stop setting the device state in d3d9_device_SetSamplerState().
      d3d9: Retrieve texture states from the primary stateblock.
      d3d9: Stop setting the device state in d3d9_device_SetTextureStageState().
      d3dcompiler: Return an instruction list instead of a single instruction from nodes representing expressions.
      d3dcompiler: Handle loops in free_instr().
      d3dcompiler: Parse the comma operator.
      d3dcompiler: Get rid of the unused "subexpressions" field of struct hlsl_ir_expr.
      quartz/filesource: Zero-initialize the file source filter.
      winegstreamer: Read samples synchronously in push_data().
      winegstreamer: Negotiate allocators per source pin.

Zhiyi Zhang (13):
      setupapi: Implement SetupDiOpenDeviceInterfaceRegKey().
      user32/tests: Add more ChangeDisplaySettings tests.
      user32/tests: Add more EnumDisplaySettings tests.
      wined3d: Add GPU information for NVIDIA GeForce GTX 1650 SUPER.
      d3d8/tests: Add multiple adapters tests.
      d3d9/tests: Add multiple adapters tests.
      dxgi/tests: Add multiple adapters tests.
      user32: Move ChangeDisplaySettingsExW() common code to user32.
      user32: Trace more ChangeDisplaySettingsExW() flags.
      user32: Fix ChangeDisplaySettingsExW() minimum size check.
      winex11.drv: Calculate mask in X11DRV_resize_desktop().
      user32: Handle NULL device parameter in EnumDisplaySettingsExW().
      user32: Handle NULL device and not NULL mode parameters in ChangeDisplaySettingsExW().

Alexandre Julliard
[email protected]