[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