[1/2] quartz: Return the proper interface for IFilterMapper

Chris Robinson chris.kcat at gmail.com
Sat Mar 3 03:24:07 CST 2007


-------------- next part --------------
From f251d01f6e655d1f87662aea00eaec348d6b1809 Mon Sep 17 00:00:00 2001
From: Chris Robinson <chris.kcat at gmail.com>
Date: Sat, 3 Mar 2007 00:21:08 -0800
Subject: quartz: Return the proper interface for IFilterMapper

---
 dlls/quartz/filtermapper.c   |   16 ++++++++++++++++
 dlls/quartz/main.c           |    2 +-
 dlls/quartz/quartz_private.h |    1 +
 3 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/dlls/quartz/filtermapper.c b/dlls/quartz/filtermapper.c
index 362de85..c7ac20a 100644
--- a/dlls/quartz/filtermapper.c
+++ b/dlls/quartz/filtermapper.c
@@ -180,6 +180,22 @@ HRESULT FilterMapper2_create(IUnknown *pUnkOuter, LPVOID *ppObj)
     return S_OK;
 }
 
+HRESULT FilterMapper_create(IUnknown *pUnkOuter, LPVOID *ppObj)
+{
+    FilterMapper2Impl *pFM2impl;
+    HRESULT hr;
+
+    TRACE("(%p, %p)\n", pUnkOuter, ppObj);
+
+    hr = FilterMapper2_create(pUnkOuter, (LPVOID*)&pFM2impl);
+    if (FAILED(hr))
+        return hr;
+
+    *ppObj = &pFM2impl->lpVtblFilterMapper;
+
+    return hr;
+}
+
 /*** IUnknown methods ***/
 
 static HRESULT WINAPI FilterMapper2_QueryInterface(IFilterMapper2 * iface, REFIID riid, LPVOID *ppv)
diff --git a/dlls/quartz/main.c b/dlls/quartz/main.c
index b5e4032..559b791 100644
--- a/dlls/quartz/main.c
+++ b/dlls/quartz/main.c
@@ -62,7 +62,7 @@ static const struct object_creation_info object_creation[] =
 {
     { &CLSID_FilterGraph, FilterGraph_create },
     { &CLSID_FilterGraphNoThread, FilterGraphNoThread_create },
-    { &CLSID_FilterMapper, FilterMapper2_create },
+    { &CLSID_FilterMapper, FilterMapper_create },
     { &CLSID_FilterMapper2, FilterMapper2_create },
     { &CLSID_AsyncReader, AsyncReader_create },
     { &CLSID_MemoryAllocator, StdMemAllocator_create },
diff --git a/dlls/quartz/quartz_private.h b/dlls/quartz/quartz_private.h
index 7c67053..5b5094d 100644
--- a/dlls/quartz/quartz_private.h
+++ b/dlls/quartz/quartz_private.h
@@ -44,6 +44,7 @@
 HRESULT FilterGraph_create(IUnknown *pUnkOuter, LPVOID *ppObj);
 HRESULT FilterGraphNoThread_create(IUnknown *pUnkOuter, LPVOID *ppObj);
 HRESULT FilterMapper2_create(IUnknown *pUnkOuter, LPVOID *ppObj);
+HRESULT FilterMapper_create(IUnknown *pUnkOuter, LPVOID *ppObj);
 HRESULT AsyncReader_create(IUnknown * pUnkOuter, LPVOID * ppv);
 HRESULT StdMemAllocator_create(IUnknown * pUnkOuter, LPVOID * ppv);
 HRESULT AVISplitter_create(IUnknown * pUnkOuter, LPVOID * ppv);
-- 
1.4.4.4



More information about the wine-patches mailing list