From 758ebb2121e9461df2b0c2ad10f229c746cad774 Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Tue, 28 Jan 2014 11:35:56 +0900 Subject: [PATCH] scrrun: IEnumVARIANT::Skip shouldn't skip anything if asked number of folder elements is 0. --- dlls/scrrun/filesystem.c | 2 ++ dlls/scrrun/tests/filesystem.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/scrrun/filesystem.c b/dlls/scrrun/filesystem.c index 7d09a82bbb3..0292ab88f92 100644 --- a/dlls/scrrun/filesystem.c +++ b/dlls/scrrun/filesystem.c @@ -557,6 +557,8 @@ static HRESULT WINAPI foldercoll_enumvariant_Skip(IEnumVARIANT *iface, ULONG cel TRACE("(%p)->(%d)\n", This, celt); + if (!celt) return S_OK; + if (!handle) { handle = start_enumeration(This->data.u.foldercoll.coll->path, &data); diff --git a/dlls/scrrun/tests/filesystem.c b/dlls/scrrun/tests/filesystem.c index d6e094ae85a..b1de30961c1 100644 --- a/dlls/scrrun/tests/filesystem.c +++ b/dlls/scrrun/tests/filesystem.c @@ -931,7 +931,6 @@ todo_wine hr = IEnumVARIANT_Skip(enumvar, 2); ok(hr == S_OK, "got 0x%08x\n", hr); hr = IEnumVARIANT_Skip(enumvar, 0); -todo_wine ok(hr == S_OK, "got 0x%08x\n", hr); VariantInit(&var2[0]);