ole32 : wrong check in compobj.c
Paul Vriens
Paul.Vriens at xs4all.nl
Mon Jan 10 10:49:32 CST 2005
Hi,
while looking through the code I saw:
if (model & COINIT_MULTITHREADED)
this will never work as COINIT_MULTITHREADED = 0.
The attached patch fixes the 3 occurrences of a check against COINIT_*.
This patch however makes the COM_CreateApartment in compobj.c:
545 if (!(apt = COM_CurrentInfo()->apt))
546 {
547 apt = COM_CreateApartment(dwCoInit);
548 if (!apt) return E_OUTOFMEMORY;
549 }
return E_OUTOFMEMORY, always (?). And that makes sure that we have
a mismatch between CoInitialize and CoUninitialize.
So there's definitely something else wrong as well.
Any idea ?
Cheers,
Paul.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: compobj.diff
Type: text/x-patch
Size: 1407 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20050110/1edfca51/compobj.bin
More information about the wine-devel
mailing list