working together on stdole.tlb and a end to dcom9x

Mike Hearn mike at navi.cx
Mon Aug 30 07:05:38 CDT 2004


On Mon, 30 Aug 2004 08:56:38 +0000, Jacek Caban wrote:
> It's not a bug. It's a difference between Wine's and native Windows 
> implementation.

By definition an application that works fine on Windows should work fine
on Wine. If they don't, it's a bug.

> When you run the attached test with the builtin version, you'll get:
> ref = 2
> ref = 3
> ITypeLib has a reference to the linked list of ITypeInfo. Functions 
> GetTypeInfo and
> GetTypeInfoOfGuid search this list, call ITypeInfo::AddRef and returns 
> the reference
> to ITypeInfo. ITypeInfo is destroyed when ITypeLib is destroyed (it 
> means that each
> other ITypeInfos are destroyed too). Running this test with native 
> Windows dll, results are:
> ref = 1
> ref = 2

Sounds like a bug to me. Refcounting differences can cause crashes and
memory leaks.

> I don't thik it Wine's bug. Applications don't depend on this stuff and 
> Wine's ref handling is correct.

I'd be very surprised if there were no apps that depended on it, actually.
Given the number of crashes we've seen caused by refcount problems in
this part of the code, I'd say there definitely are.




More information about the wine-devel mailing list