On Tue, 18 Feb 2020 at 05:33, Zhiyi Zhang <zzhang(a)codeweavers.com> wrote:
diff --git a/dlls/dxgi/adapter.c b/dlls/dxgi/adapter.c index d2fc629c84..7cdf7bd0d6 100644 --- a/dlls/dxgi/adapter.c +++ b/dlls/dxgi/adapter.c @@ -128,6 +128,9 @@ static HRESULT STDMETHODCALLTYPE dxgi_adapter_EnumOutputs(IWineDXGIAdapter *ifac
TRACE("iface %p, output_idx %u, output %p.\n", iface, output_idx, output);
+ if (!output) + return E_INVALIDARG; + if (output_idx > 0) { *output = NULL; diff --git a/dlls/dxgi/factory.c b/dlls/dxgi/factory.c index a0038b4fe7..3f41df9e36 100644 --- a/dlls/dxgi/factory.c +++ b/dlls/dxgi/factory.c @@ -403,6 +403,9 @@ static HRESULT STDMETHODCALLTYPE dxgi_factory_EnumAdapterByLuid(IWineDXGIFactory TRACE("iface %p, luid %08x:%08x, iid %s, adapter %p.\n", iface, luid.HighPart, luid.LowPart, debugstr_guid(iid), adapter);
+ if (!adapter) + return DXGI_ERROR_INVALID_CALL; + adapter_index = 0; while ((hr = dxgi_factory_EnumAdapters1(iface, adapter_index, &adapter1)) == S_OK) { This patch does two different things, please split.