[EMAIL PROTECTED] 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



Reply via email to