Jacek Caban wrote: [snip]
I don't thik it Wine's bug. Applications don't depend on this stuff and Wine's ref handling is correct.
Of course that applications depend on this stuff. This is common code: LoadTypeLib("stdole.tlb", &ptlibStdOle); ptlibStdOle->GetTypeInfoOfGuid(IID_IUnknown, &ptinfoIUnknown)); ptlibStdOle->GetTypeInfoOfGuid(IID_IDispatch, &ptinfoIDispatch)); ptlibStdOle->Release(); Now with Wine the last Release will cause the typelib object to be destroyed and resulting that any later typeinfo references to typelib are invalid pointers.
Regards, Filip
Filip Navara wrote:
Jacek Caban wrote: [snip]
I don't thik it Wine's bug. Applications don't depend on this stuff and Wine's ref handling is correct.
Of course that applications depend on this stuff. This is common code: LoadTypeLib("stdole.tlb", &ptlibStdOle); ptlibStdOle->GetTypeInfoOfGuid(IID_IUnknown, &ptinfoIUnknown)); ptlibStdOle->GetTypeInfoOfGuid(IID_IDispatch, &ptinfoIDispatch)); ptlibStdOle->Release(); Now with Wine the last Release will cause the typelib object to be destroyed and resulting that any later typeinfo references to typelib are invalid pointers.
I know that. My patch: http://www.winehq.org/hypermail/wine-patches/2004/08/0167.html fixes this problem (patch is applied).
Jacek Caban wrote:
I know that. My patch: http://www.winehq.org/hypermail/wine-patches/2004/08/0167.html fixes this problem (patch is applied).
Sorry, I was using slightly (well, not so slighly) outdated version of Wine.
- Filip