[QUARTZ] Forward CLSID_FilterGraphNoThread to CLSID_FilterGraph

Christian Costa titan.costa at wanadoo.fr
Wed May 4 17:54:20 CDT 2005


Hi,

This patch and the previous one prevent Windows Media Player 6.4 to crash.

Changelog:
Forward CLSID_FilterGraphNoThread to CLSID_FilterGraph.

Christian Costa   titan.costa at wanadoo.fr

-------------- next part --------------
Index: dlls/quartz/quartz_private.h
===================================================================
RCS file: /home/wine/wine/dlls/quartz/quartz_private.h,v
retrieving revision 1.22
diff -u -r1.22 quartz_private.h
--- dlls/quartz/quartz_private.h	10 Feb 2005 17:13:18 -0000	1.22
+++ dlls/quartz/quartz_private.h	4 May 2005 21:37:58 -0000
@@ -41,7 +41,8 @@
 
 #define ICOM_THIS_MULTI(impl,field,iface) impl* const This=(impl*)((char*)(iface) - offsetof(impl,field))
 
-HRESULT FILTERGRAPH_create(IUnknown *pUnkOuter, LPVOID *ppObj) ;
+HRESULT FilterGraph_create(IUnknown *pUnkOuter, LPVOID *ppObj);
+HRESULT FilterGraphNoThread_create(IUnknown *pUnkOuter, LPVOID *ppObj);
 HRESULT FilterMapper2_create(IUnknown *pUnkOuter, LPVOID *ppObj);
 HRESULT AsyncReader_create(IUnknown * pUnkOuter, LPVOID * ppv);
 HRESULT StdMemAllocator_create(IUnknown * pUnkOuter, LPVOID * ppv);
Index: dlls/quartz/main.c
===================================================================
RCS file: /home/wine/wine/dlls/quartz/main.c,v
retrieving revision 1.44
diff -u -r1.44 main.c
--- dlls/quartz/main.c	2 Mar 2005 12:23:22 -0000	1.44
+++ dlls/quartz/main.c	4 May 2005 21:38:00 -0000
@@ -60,7 +63,8 @@
 
 static const struct object_creation_info object_creation[] =
 {
-    { &CLSID_FilterGraph, FILTERGRAPH_create },
+    { &CLSID_FilterGraph, FilterGraph_create },
+    { &CLSID_FilterGraphNoThread, FilterGraphNoThread_create },
     { &CLSID_FilterMapper, FilterMapper2_create },
     { &CLSID_FilterMapper2, FilterMapper2_create },
     { &CLSID_AsyncReader, AsyncReader_create },
Index: dlls/quartz/filtergraph.c
===================================================================
RCS file: /home/wine/wine/dlls/quartz/filtergraph.c,v
retrieving revision 1.27
diff -u -r1.27 filtergraph.c
--- dlls/quartz/filtergraph.c	24 Mar 2005 21:01:37 -0000	1.27
+++ dlls/quartz/filtergraph.c	4 May 2005 21:38:06 -0000
@@ -3039,7 +3039,8 @@
 };
 
 /* This is the only function that actually creates a FilterGraph class... */
-HRESULT FILTERGRAPH_create(IUnknown *pUnkOuter, LPVOID *ppObj) {
+HRESULT FilterGraph_create(IUnknown *pUnkOuter, LPVOID *ppObj)
+{
     IFilterGraphImpl *fimpl;
     HRESULT hr;
 
@@ -3083,4 +3084,10 @@
 
     *ppObj = fimpl;
     return S_OK;
+}
+
+HRESULT FilterGraphNoThread_create(IUnknown *pUnkOuter, LPVOID *ppObj)
+{
+    FIXME("CLSID_FilterGraphNoThread partially implemented - Forwarding to CLSID_FilterGraph\n");
+    return FilterGraph_create(pUnkOuter, ppObj);
 }
Index: dlls/quartz/regsvr.c
===================================================================
RCS file: /home/wine/wine/dlls/quartz/regsvr.c,v
retrieving revision 1.19
diff -u -r1.19 regsvr.c
--- dlls/quartz/regsvr.c	10 Feb 2005 17:13:18 -0000	1.19
+++ dlls/quartz/regsvr.c	4 May 2005 21:38:09 -0000
@@ -850,6 +852,12 @@
 	"quartz.dll",
 	"Both"
     },
+    {   &CLSID_FilterGraphNoThread,
+	"Filter Graph",
+	NULL,
+	"quartz.dll",
+	"Both"
+    },
     {   &CLSID_FilterMapper,
 	"Filter Mapper",
 	NULL,


More information about the wine-patches mailing list