Jacek Caban : shdocvw: Added WebBrowser::get_Application implementation.
Alexandre Julliard
julliard at winehq.org
Tue Nov 20 10:54:53 CST 2007
Module: wine
Branch: master
Commit: a8a1a2da5a22753c295f6bd5616f230fa42f77c4
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a8a1a2da5a22753c295f6bd5616f230fa42f77c4
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Nov 20 01:49:05 2007 +0100
shdocvw: Added WebBrowser::get_Application implementation.
---
dlls/shdocvw/tests/webbrowser.c | 13 +++++++++++++
dlls/shdocvw/webbrowser.c | 11 +++++++++--
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/dlls/shdocvw/tests/webbrowser.c b/dlls/shdocvw/tests/webbrowser.c
index 796c47c..bd56fe4 100644
--- a/dlls/shdocvw/tests/webbrowser.c
+++ b/dlls/shdocvw/tests/webbrowser.c
@@ -984,6 +984,7 @@ static void test_ClassInfo(IUnknown *unk)
static void test_ie_funcs(IUnknown *unk)
{
IWebBrowser2 *wb;
+ IDispatch *disp;
VARIANT_BOOL b;
int i;
long hwnd;
@@ -1134,6 +1135,18 @@ static void test_ie_funcs(IUnknown *unk)
ok(hres == E_NOTIMPL, "get_Resizable failed: %08x\n", hres);
ok(b == 0x100, "b=%x\n", b);
+ /* Application */
+
+ disp = NULL;
+ hres = IWebBrowser2_get_Application(wb, &disp);
+ ok(hres == S_OK, "get_Application failed: %08x\n", hres);
+ ok(disp == (void*)wb, "disp=%p, expected %p\n", disp, wb);
+ if(disp)
+ IDispatch_Release(disp);
+
+ hres = IWebBrowser2_get_Application(wb, NULL);
+ ok(hres == E_POINTER, "get_Application failed: %08x, expected E_POINTER\n", hres);
+
IWebBrowser2_Release(wb);
}
diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c
index 49914f7..3e80f0f 100644
--- a/dlls/shdocvw/webbrowser.c
+++ b/dlls/shdocvw/webbrowser.c
@@ -260,8 +260,15 @@ static HRESULT WINAPI WebBrowser_Stop(IWebBrowser2 *iface)
static HRESULT WINAPI WebBrowser_get_Application(IWebBrowser2 *iface, IDispatch **ppDisp)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
- FIXME("(%p)->(%p)\n", This, ppDisp);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%p)\n", This, ppDisp);
+
+ if(!ppDisp)
+ return E_POINTER;
+
+ *ppDisp = (IDispatch*)WEBBROWSER2(This);
+ IDispatch_AddRef(*ppDisp);
+ return S_OK;
}
static HRESULT WINAPI WebBrowser_get_Parent(IWebBrowser2 *iface, IDispatch **ppDisp)
More information about the wine-cvs
mailing list