From: Zebediah Figura Subject: [PATCH resend 2/2] msvfw32: Set fccType in ICInfo(). Message-Id: <1518192972-6497-2-git-send-email-z.figura12@gmail.com> Date: Fri, 9 Feb 2018 10:16:11 -0600 In-Reply-To: <1518192972-6497-1-git-send-email-z.figura12@gmail.com> References: <1518192972-6497-1-git-send-email-z.figura12@gmail.com> Fixes https://bugs.winehq.org/show_bug.cgi?id=44489 Signed-off-by: Zebediah Figura --- dlls/msvfw32/msvideo_main.c | 2 ++ dlls/msvfw32/tests/msvfw.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/dlls/msvfw32/msvideo_main.c b/dlls/msvfw32/msvideo_main.c index d49ea74..7a3573c 100644 --- a/dlls/msvfw32/msvideo_main.c +++ b/dlls/msvfw32/msvideo_main.c @@ -297,11 +297,13 @@ DWORD WINAPI VideoForWindowsVersion(void) static BOOL ICInfo_enum_handler(const char *drv, unsigned int nr, void *param) { ICINFO *lpicinfo = param; + DWORD fccType = mmioStringToFOURCCA(drv, 0); DWORD fccHandler = mmioStringToFOURCCA(drv + 5, 0); if (lpicinfo->fccHandler != nr && compare_fourcc(lpicinfo->fccHandler, fccHandler)) return FALSE; + lpicinfo->fccType = fccType; lpicinfo->fccHandler = fccHandler; lpicinfo->dwFlags = 0; lpicinfo->dwVersion = 0; diff --git a/dlls/msvfw32/tests/msvfw.c b/dlls/msvfw32/tests/msvfw.c index c6fe0f2..beeca9f 100644 --- a/dlls/msvfw32/tests/msvfw.c +++ b/dlls/msvfw32/tests/msvfw.c @@ -294,6 +294,7 @@ static void test_ICInfo(void) for (i = found = 0; ICInfo(0, i, &info); i++) { trace("Codec name: %s, fccHandler: 0x%08x\n", wine_dbgstr_w(info.szName), info.fccHandler); + ok(info.fccType, "expected nonzero fccType\n"); ok(ICInfo(info.fccType, info.fccHandler, &info2), "ICInfo failed on fcc 0x%08x\n", info.fccHandler); @@ -308,6 +309,11 @@ static void test_ICInfo(void) "ICInfo failed on fcc 0x%08x\n", info.fccHandler); } ok(found != 0, "expected at least one codec\n"); + + memset(&info, 0, sizeof(info)); + ok(!ICInfo(ICTYPE_VIDEO, mmioFOURCC('f','a','k','e'), &info), "expected failure\n"); + ok(info.fccType == ICTYPE_VIDEO, "got 0x%08x\n", info.fccType); + ok(info.fccHandler == mmioFOURCC('f','a','k','e'), "got 0x%08x\n", info.fccHandler); } START_TEST(msvfw) -- 2.7.4