From 1a0470443d12f6fc4c241a93af5bc34aa03b34b3 Mon Sep 17 00:00:00 2001 From: Alex Henrie Date: Wed, 9 Sep 2020 23:40:26 -0600 Subject: [PATCH] comdlg32: Fix error precedence in IFileDialog2_SetFileTypes. Signed-off-by: Alex Henrie Signed-off-by: Alexandre Julliard --- dlls/comdlg32/itemdlg.c | 6 +++--- dlls/comdlg32/tests/itemdlg.c | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/dlls/comdlg32/itemdlg.c b/dlls/comdlg32/itemdlg.c index 1ae20ca7822..f17c2f926d6 100644 --- a/dlls/comdlg32/itemdlg.c +++ b/dlls/comdlg32/itemdlg.c @@ -2402,12 +2402,12 @@ static HRESULT WINAPI IFileDialog2_fnSetFileTypes(IFileDialog2 *iface, UINT cFil UINT i; TRACE("%p (%d, %p)\n", This, cFileTypes, rgFilterSpec); - if(This->filterspecs) - return E_UNEXPECTED; - if(!rgFilterSpec) return E_INVALIDARG; + if(This->filterspecs) + return E_UNEXPECTED; + if(!cFileTypes) return S_OK; diff --git a/dlls/comdlg32/tests/itemdlg.c b/dlls/comdlg32/tests/itemdlg.c index 6ee0d5fc3da..c38457a0a13 100644 --- a/dlls/comdlg32/tests/itemdlg.c +++ b/dlls/comdlg32/tests/itemdlg.c @@ -675,6 +675,8 @@ static void test_basics(void) ok(hr == S_OK, "got 0x%08x.\n", hr); hr = IFileOpenDialog_SetFileTypes(pfod, 0, filterspec); ok(hr == E_UNEXPECTED, "got 0x%08x.\n", hr); + hr = IFileOpenDialog_SetFileTypes(pfod, 0, NULL); + ok(hr == E_INVALIDARG, "got 0x%08x.\n", hr); hr = IFileOpenDialog_SetFileTypeIndex(pfod, 0); ok(hr == S_OK, "got 0x%08x.\n", hr); hr = IFileOpenDialog_GetFileTypeIndex(pfod, &filetype);