[Bug 4924] world chess network - program wcnchess.exe fails with OLE Error 80004001

Wine Bugs wine-bugs at winehq.org
Mon Mar 26 07:21:21 CDT 2007


http://bugs.winehq.org/show_bug.cgi?id=4924





------- Additional Comments From focht at 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

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the wine-bugs mailing list