ole32: Get the threading model value for inproc classes and output a fixme if we should create it in an apartment of another type.

Jacek Caban jacek at codeweavers.com
Fri Jul 7 13:43:53 CDT 2006


Robert Shearman wrote:
>
> Jacek,
>
> I have a patch that fixes the crash by validating the conditions on 
> entry to CoGetClassObject (attached). However, this test still fails:
>
> err:ole:CoGetClassObject apartment not initialised
> url.c:768:http test...
> url.c:424: Test failed: unexpexted code 34
> fixme:wininet:CommitUrlCacheEntryInternal entry already in cache - 
> don't know what to do!
> url.c:667: Test failed: istr should be NULL
> url.c:690: Test failed: expected OnProgress_MIMETYPEAVAILABLE
> url.c:773:about test...
> fixme:win:WIN_CreateWindowEx Parent is HWND_MESSAGE
> url.c:779:emulated about test...
> url.c:784:file test...
> err:ole:CoGetClassObject apartment not initialised
> url.c:662: Test failed: IMoniker_BindToStorage failed: 800401f0
> url.c:791:emulated file test...
> url: 253 tests executed, 0 marked as todo, 4 failures.
>
> It looks to me as though CoGetClassObject should be called by urlmon 
> in certain circumstances (hence the CoInitialize calls in some of the 
> tests), but not in this case.  The test fails with the same error when 
> run with native ole32 and rpcrt4.

CoGetClassObject shouldn't be called in a place that causes the crash at 
all. It calls CoGetClassObject to get protocol handler, but it shouldn't 
be needed for urlmon builtin handlers. I've sent patches that should fix 
it (but without your second patch the other test will crash so they have 
to be applied in one shot).

Thanks,
    Jacek



More information about the wine-devel mailing list