From 16ceadd2f4677e6e295b22f14025c6849410b88b Mon Sep 17 00:00:00 2001 From: Daniel Lehman Date: Wed, 18 Nov 2020 00:10:11 -0800 Subject: [PATCH] shcore: Return ISequentialStream interface for memory stream. Signed-off-by: Daniel Lehman Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- dlls/shcore/main.c | 4 +++- dlls/shlwapi/tests/istream.c | 2 -- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/shcore/main.c b/dlls/shcore/main.c index 32649cccd9c..dc782e8be08 100644 --- a/dlls/shcore/main.c +++ b/dlls/shcore/main.c @@ -555,7 +555,9 @@ static HRESULT WINAPI shstream_QueryInterface(IStream *iface, REFIID riid, void TRACE("(%p)->(%s, %p)\n", stream, debugstr_guid(riid), out); - if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IStream)) + if (IsEqualIID(riid, &IID_IUnknown) || + IsEqualIID(riid, &IID_IStream) || + IsEqualIID(riid, &IID_ISequentialStream)) { *out = iface; IStream_AddRef(iface); diff --git a/dlls/shlwapi/tests/istream.c b/dlls/shlwapi/tests/istream.c index 560a822e2c2..d3e7dbb8810 100644 --- a/dlls/shlwapi/tests/istream.c +++ b/dlls/shlwapi/tests/istream.c @@ -270,7 +270,6 @@ static void test_stream_qi(IStream *stream) unk = NULL; hr = IStream_QueryInterface(stream, &IID_ISequentialStream, (void **)&unk); -todo_wine ok(SUCCEEDED(hr) || broken(hr == E_NOINTERFACE) /* XP */, "Failed to get ISequentialStream interface, hr %#x.\n", hr); if (unk) IUnknown_Release(unk); @@ -753,7 +752,6 @@ static void test_SHCreateMemStream(void) ok(stream != NULL, "Failed to create a stream.\n"); hr = IStream_QueryInterface(stream, &IID_ISequentialStream, (void **)&unk); -todo_wine ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* WinXP */, "Failed to QI, hr %#x.\n", hr); if (unk) IUnknown_Release(unk);