Quartz: Improve a stub

Robert Shearman rob at codeweavers.com
Fri Jun 16 06:04:31 CDT 2006

ivanleo at gmail.com wrote:

> It looks like someone was implementing some stuff and left it half way
> through,

That was me. I didn't have any documentation on how the extensions 
processing was meant to work.

> so the result is GetClassMediaFile was hard coded to fail
> because process_extensions always fails.

Err, no. Did you read the code? The fallback is the more common method 
of recognising a byte sequence at the start of the file.

> This patch is needed by the
> IAMMultiMediaStreamImpl_OpenFile which will follow. The two together
> allow Crimson Skies to start and get to the menu instead of crashing.

>--- winenew/dlls/quartz/filesource.c	2006-05-23 13:48:29.000000000 +0100
>+++ wine/dlls/quartz/filesource.c	2006-06-15 22:50:40.000000000 +0100
>@@ -65,7 +65,10 @@
> static HRESULT process_extensions(HKEY hkeyExtensions, LPCOLESTR pszFileName, GUID * majorType, GUID * minorType)
> {
>     /* FIXME: implement */
>-    return E_NOTIMPL;
>+    FIXME("(%p, %s, %p, %p), stub!\n", hkeyExtensions, debugstr_w(pszFileName), majorType, minorType);
>+    return S_OK;
> }

Great. Now majorType and minorType will be left uninitialised, causing 
weird and hard-to-debug problems later on.

Rob Shearman

More information about the wine-devel mailing list