[Bug 12582] solidworks crash at startup in mshtml

wine-bugs at winehq.org wine-bugs at winehq.org
Mon May 12 16:39:28 CDT 2008


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


denis bonnenfant <denis.bonnenfant at diderot.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jacek at codeweavers.com
          Component|urlmon                      |-unknown




--- Comment #6 from denis bonnenfant <denis.bonnenfant at diderot.org>  2008-05-12 16:39:27 ---
the problem is mostly in this patch : 

From: Jacek Caban <jacek at codeweavers.com>
Date: Sat, 13 Oct 2007 01:58:55 +0000 (+0200)
Subject: mshtml: Added IHTMLWindow2::get_option implementation.
X-Git-Tag: wine-0.9.48~482
X-Git-Url:
http://source.winehq.org/git/wine.git/?a=commitdiff_plain;h=954d4477b5054498282c039dcdcc7f3b205165e3

setup_nswindow is called after HTMLWindow2_Release with a 0 refcount,


I was able to find a really dirty workaround :  

in htmlwindows.c : 

static ULONG WINAPI HTMLWindow2_Release(IHTMLWindow2 *iface)
{
    HTMLWindow *This = HTMLWINDOW2_THIS(iface);
    LONG ref = InterlockedDecrement(&This->ref);

    TRACE("(%p) ref=%d\n", This, ref);
-    if(!ref) {
-        list_remove(&This->entry);
-        heap_free(This);
-    }
    return ref;
}


then there was another problem here, solved by suppressing the function...

in mshtml/navigate.c : 

static HRESULT WINAPI BindStatusCallback_OnStartBinding(IBindStatusCallback
*iface,
        DWORD dwReserved, IBinding *pbind)
{
    BSCallback *This = STATUSCLB_THIS(iface);
+    FIXME("(%p)->(%d %p)\n", This, dwReserved, pbind);
+    return E_NOTIMPL;
-    TRACE("(%p)->(%d %p)\n", This, dwReserved, pbind);
-
-    IBinding_AddRef(pbind);
-    This->binding = pbind;
-
-    if(This->doc)
-        list_add_head(&This->doc->bindings, &This->entry);
-
-    return This->vtbl->start_binding(This);
}


It's really hacky but at least it doesn't segfault anymore ! 

hope that it may help somebody...


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list