IS6: Problem in ITypeInfo_fnGetContainingTypeLib
Ove Kaaven
ovehk at ping.uio.no
Wed Oct 24 14:12:02 CDT 2001
On Wed, 24 Oct 2001, Uwe Bonnes wrote:
> >>>>> "Ove" == Ove Kaaven <ovehk at ping.uio.no> writes:
>
> Ove> On Wed, 24 Oct 2001, Uwe Bonnes wrote:
>
> >> after clearing up my home brewn problems I tried the IS6 installer
> >> for Analog Devices Visual DSP one more time. No it proceeds much
> >> longer but crashes in ITypeInfo_fnGetContainingTypeLib
>
> Ove> Try Malte's typelib refcounting patch, somewhere on wine-patches.
>
> After correcting pTypeLib into pTLib in Malte's patchh, Setup proceeded
> much further.
>
> Then it reports a "Speicherschutzverletzung" (illegal memory access) and
> freezes:
When debugging InstallShield, it helps to add +seh to the debugmsg command
line and look for recent thrown exceptions before the failure, and in
particular it's fruitful to look for oleaut32 routines returning errors
(retval=8xxxxxxx). But note that I have done several fixes to oleaut32 and
stuff after testing several installers, most of these fixes are only in
WineX CVS right now, I didn't have time to consider submitting them to
Wine yet. As an example, this badness is necessary for two game installers
I've tested:
--- dlls/oleaut32/safearray.c 2001/10/04 13:43:59 1.1.1.8
+++ dlls/oleaut32/safearray.c 2001/10/16 17:33:01 1.3
@@ -356,7 +356,9 @@
*((BSTR*)pv) = pbstrReturnedStr;
}
else if( psa->fFeatures == FADF_VARIANT) {
- HRESULT hr = VariantCopy(pv, elementStorageAddress);
+ HRESULT hr;
+ VariantInit(pv);
+ hr = VariantCopy(pv, elementStorageAddress);
if (FAILED(hr)) {
SafeArrayUnlock(psa);
return hr;
More information about the wine-devel
mailing list