On upgrading to Wine 20030618 I found that kazaa lite will no longer work and gave me the following error:
No debug information in 32bit DLL 'C:\WINDOWS\SYSTEM\SHDOCVW.DLL' (0x71000000) Unhandled exception: page fault on read access to 0x00000004 in 32-bit code (0x411ed9c9). In 32-bit mode. 0x411ed9c9 (ITypeInfo_fnGetContainingTypeLib+0x49 [typelib.c:4801] in oleaut32.dll.so): call *0x4(%edx) 4802 TRACE("returning ppTLib=%p", *ppTLib); Wine-dbg>WineDbg terminated on pid a
using in wine.config:
[AppDefaults\KazaaLite.kpp\DllOverrides] "*" = "builtin, native, so" ;"shdoclc" = "native" "shdocvw" = "native" "shlwapi" = "native" "commctrl" = "native" ;"comdlg32" = "native"
I looked though the CVS logs and mail archives and I found the following:
http://www.winehq.org/hypermail/wine-devel/2003/06/0414.html
and the patch below which was applied to dlls/oleaut32/typelib.c
This caused the crash, reversing it fixes the error.
please fix / apply, or I will cry!!!
anyway, how do you use winedbg, I am not thick but it refuses to do normal gdb stuff like the run command or a backtrace! Is there a URL I missed?
Stefan
revision 1.95 date: 2003/05/13 22:15:26; author: julliard; state: Exp; lines: +0 -2 Dmitry Timoshkov dmitry@codeweavers.com Remove redundant ITypeLib2_AddRef's. Makes LoadTypeLib/ITypeLib2_Release work. Index: typelib.c =================================================================== RCS file: /home/wine/wine/dlls/oleaut32/typelib.c,v retrieving revision 1.94 retrieving revision 1.95 diff -u -r1.94 -r1.95 --- typelib.c 13 May 2003 00:41:58 -0000 1.94 +++ typelib.c 13 May 2003 22:15:26 -0000 1.95 @@ -1844,7 +1844,6 @@ pcx->pTblDir->pTypeInfoTab.offset+count*sizeof(tiBase)); /* this is where we are coming from */ ptiRet->pTypeLib = pLibInfo; - ITypeLib2_AddRef((ITypeLib2 *)pLibInfo); ptiRet->index=count; /* fill in the typeattr fields */ FIXME("Assign constructor/destructor memid\n"); @@ -3055,7 +3054,6 @@ } *ppTypeInfoImpl = (ITypeInfoImpl*)ITypeInfo_Constructor(); (*ppTypeInfoImpl)->pTypeLib = pTypeLibImpl; - ITypeLib2_AddRef((ITypeLib2 *)pTypeLibImpl); (*ppTypeInfoImpl)->index = i; (*ppTypeInfoImpl)->Name = TLB_MultiByteToBSTR( pOtherTypeInfoBlks[i].name_offs +