Module: wine
Branch: master
Commit: bf83d755d987fec552cd1dce30638c31c49ab760
URL:
https://source.winehq.org/git/wine.git/?a=commit;h=bf83d755d987fec552cd1dce…
Author: Jacek Caban <jacek(a)codeweavers.com>
Date: Fri May 29 20:37:03 2020 +0200
ieframe: Return S_FALSE in IWebBrowser2::get_Document when returning NULL.
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/ieframe/tests/webbrowser.c | 6 ++++++
dlls/ieframe/webbrowser.c | 2 +-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/ieframe/tests/webbrowser.c b/dlls/ieframe/tests/webbrowser.c
index 426fe18da0..898d0e6805 100644
--- a/dlls/ieframe/tests/webbrowser.c
+++ b/dlls/ieframe/tests/webbrowser.c
@@ -4056,6 +4056,7 @@ static void test_SetAdvise(void)
IViewObject2 *view;
IAdviseSink *sink;
IOleObject *oleobj;
+ IDispatch *doc;
DWORD aspects, flags;
if (!(browser = create_webbrowser())) return;
@@ -4115,6 +4116,11 @@ static void test_SetAdvise(void)
hr = IViewObject2_SetAdvise(view, 0, 0, NULL);
ok(hr == S_OK, "got %08x\n", hr);
+ doc = (void*)0xdeadbeef;
+ hr = IWebBrowser2_get_Document(browser, &doc);
+ ok(hr == S_FALSE, "get_Document failed: %08x\n", hr);
+ ok(!doc, "doc = %p\n", doc);
+
IOleObject_Release(oleobj);
IViewObject2_Release(view);
IWebBrowser2_Release(browser);
diff --git a/dlls/ieframe/webbrowser.c b/dlls/ieframe/webbrowser.c
index 1e50512e42..356b0a2833 100644
--- a/dlls/ieframe/webbrowser.c
+++ b/dlls/ieframe/webbrowser.c
@@ -404,7 +404,7 @@ static HRESULT WINAPI WebBrowser_get_Document(IWebBrowser2 *iface,
IDispatch **p
}
*ppDisp = disp;
- return S_OK;
+ return disp ? S_OK : S_FALSE;
}
static HRESULT WINAPI WebBrowser_get_TopLevelContainer(IWebBrowser2 *iface, VARIANT_BOOL
*pBool)