http://bugs.winehq.org/show_bug.cgi?id=4924
------- Additional Comments From focht@gmx.net 2007-26-03 07:21 ------- Hello,
i took a quick glance at it...
That OLE error comes from IWebBrowser2::get_Busy() not implemented. I "cheated" by pretending not busy ... it connected, loaded news. One could take challenges, enter chatrooms and the like. I didnt play at all - that exercise is left to you :)
--- snip dlls/shdocvw.c --- static HRESULT WINAPI WebBrowser_get_Busy(IWebBrowser2 *iface, VARIANT_BOOL *pBool) { WebBrowser *This = WEBBROWSER_THIS(iface);
FIXME("(%p)->(%p)\n", This, pBool);
// this should be a data member from WebBrowser object // e.g. *pBool = This->busy; // for now: pretend being not busy *pBool = VARIANT_FALSE;
return S_OK; } --- snip dlls/shdocvw.c ---
Just a warning: this worked in this case but of course this "hack" is dangerous if lengthy operations are in progress and the clients program flow depends on the "real" status. Ideally this flag should be a data member (add some "VARIANT_BOOL busy;" to WebBrowser object in shdocvw.h, see my code comment) and updated occordingly to async/sync navigate operations. E.g. when entering async operation (before navigate events are fired -> set flag) and upon completion/abort of these (reset flag).
I guess isnt really patch-a-like... Just use this it as quick workaround on this showstopper if you want to play with this app further :)
Regards