[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: Re: IS6: Problem in ITypeInfo_fnGetContainingTypeLib
From: Ove Kaaven <ovehk () ping ! uio ! no>
Date: 2001-10-24 19:12:02
[Download RAW message or body]
On Wed, 24 Oct 2001, Uwe Bonnes wrote:
> >>>>> "Ove" == Ove Kaaven <ovehk@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;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic