shdocvw: Implement refresh in webbbrowser.c

Jacek Caban jacek at codeweavers.com
Wed Dec 9 06:36:01 CST 2009


Hi David,

David Anderson wrote:
>
> Implements WebBrowser_Refresh in shdocvw/webbrowser.c  .
>
> Now a VB app with a 'refresh' button works, refreshing a web page
> displayed by gecko with the current web page (it used to crash the app
> because refresh returned an E_NOTIMPL).
>
> Tested with linux winetest.exe.so on Ubuntu 9.10
> with ATI graphics card.   No new fails (retests are not 100% stable, but
> close to stable), I tested several times before and after the change.
> Fails are  like other linux-wine results shown on test.winehq.org.

This is obviously not the right implementation. It's just a hack. Also 
we don't have any test for this function, so testing with existing tests 
doesn't make much sense.

     WebBrowser *This = WEBBROWSER_THIS(iface);
-    FIXME("(%p)\n", This);
-    return E_NOTIMPL;
+    BSTR url;
+    HRESULT res;
+
+    TRACE("(%p)\n", This);
+    res = WebBrowser_get_LocationURL(iface, &url);

You don't need this call, you can access WebBrowser object here.

+    if( res != S_OK) {
+       FIXME("(%p)-> ERROR calling WebBrowser_get_LocationURL\n", This);
+       return res;
+    }
+    TRACE("(%p)->(%s )\n", This, debugstr_w(url));
+    return navigate_url(&This->doc_host, url, NULL,NULL,NULL,NULL);

You leak url here.


Thanks,
	Jacek




More information about the wine-devel mailing list