Signed-off-by: Gijs Vermeulen gijsvrm@gmail.com --- dlls/scrrun/filesystem.c | 5 +++-- dlls/scrrun/tests/filesystem.c | 9 ++------- 2 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/dlls/scrrun/filesystem.c b/dlls/scrrun/filesystem.c index aa1660085e..c736eb4909 100644 --- a/dlls/scrrun/filesystem.c +++ b/dlls/scrrun/filesystem.c @@ -197,6 +197,7 @@ static HRESULT create_folder(const WCHAR*, IFolder**); static HRESULT create_file(BSTR, IFile**); static HRESULT create_foldercoll_enum(struct foldercollection*, IUnknown**); static HRESULT create_filecoll_enum(struct filecollection*, IUnknown**); +static HRESULT create_drivecoll_enum(struct drivecollection*, IUnknown**);
static inline BOOL is_dir_data(const WIN32_FIND_DATAW *data) { @@ -1555,8 +1556,8 @@ static HRESULT WINAPI drivecoll_enumvariant_Reset(IEnumVARIANT *iface) static HRESULT WINAPI drivecoll_enumvariant_Clone(IEnumVARIANT *iface, IEnumVARIANT **pclone) { struct enumvariant *This = impl_from_IEnumVARIANT(iface); - FIXME("(%p)->(%p): stub\n", This, pclone); - return E_NOTIMPL; + TRACE("(%p)->(%p)\n", This, pclone); + return create_drivecoll_enum(This->data.u.drivecoll.coll, (IUnknown**)pclone); }
static const IEnumVARIANTVtbl drivecollenumvariantvtbl = { diff --git a/dlls/scrrun/tests/filesystem.c b/dlls/scrrun/tests/filesystem.c index 54363f08ba..566f6f922b 100644 --- a/dlls/scrrun/tests/filesystem.c +++ b/dlls/scrrun/tests/filesystem.c @@ -1361,7 +1361,7 @@ static void test_FileCollection(void) static void test_DriveCollection(void) { IDriveCollection *drives; - IEnumVARIANT *enumvar, *clone; + IEnumVARIANT *enumvar; ULONG fetched; VARIANT var; HRESULT hr; @@ -1398,12 +1398,7 @@ static void test_DriveCollection(void) hr = IEnumVARIANT_Skip(enumvar, 1); ok(hr == S_FALSE, "got 0x%08x\n", hr);
- hr = IEnumVARIANT_Reset(enumvar); - ok(hr == S_OK, "got 0x%08x\n", hr); - - hr = IEnumVARIANT_Clone(enumvar, &clone); - if(hr == S_OK) - test_clone(enumvar, TRUE); + test_clone(enumvar, TRUE);
while (IEnumVARIANT_Next(enumvar, 1, &var, &fetched) == S_OK) { IDrive *drive = (IDrive*)V_DISPATCH(&var);