From e7c3d0157ad429dda8f6dafbd43a878d12310da0 Mon Sep 17 00:00:00 2001 From: Jacek Caban <jacek@codeweavers.com> Date: Sun, 5 Nov 2006 17:46:54 +0100 Subject: [PATCH] shdocvw: Added OnAmbientPropertyChange(DISPID_AMBIENT_OFFLINECONNECTED) implementation. --- dlls/shdocvw/oleobject.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/dlls/shdocvw/oleobject.c b/dlls/shdocvw/oleobject.c index ad657b8235b..488b06c0806 100644 --- a/dlls/shdocvw/oleobject.c +++ b/dlls/shdocvw/oleobject.c @@ -212,6 +212,20 @@ static HRESULT get_client_disp_property(IOleClientSite *client, DISPID dispid, V return hres; } +static HRESULT on_offlineconnected_change(WebBrowser *This) +{ + VARIANT offline; + + get_client_disp_property(This->client, DISPID_AMBIENT_OFFLINEIFNOTCONNECTED, &offline); + + if(V_VT(&offline) == VT_BOOL) + IWebBrowser2_put_Offline(WEBBROWSER2(This), V_BOOL(&offline)); + else if(V_VT(&offline) != VT_EMPTY) + WARN("wrong V_VT(silent) %d\n", V_VT(&offline)); + + return S_OK; +} + static HRESULT on_silent_change(WebBrowser *This) { VARIANT silent; @@ -683,6 +697,8 @@ static HRESULT WINAPI OleControl_OnAmbientPropertyChange(IOleControl *iface, DIS TRACE("(%p)->(%d)\n", This, dispID); switch(dispID) { + case DISPID_AMBIENT_OFFLINEIFNOTCONNECTED: + return on_offlineconnected_change(This); case DISPID_AMBIENT_SILENT: return on_silent_change(This); } -- GitLab