Zebediah Figura : qcap: Always return S_FALSE from DllCanUnloadNow().

Alexandre Julliard julliard at winehq.org
Thu Aug 26 15:22:29 CDT 2021


Module: wine
Branch: master
Commit: d3cd3ebc3cba2fae5a7fe3a41597db10580bae22
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=d3cd3ebc3cba2fae5a7fe3a41597db10580bae22

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Wed Aug 25 17:10:37 2021 -0500

qcap: Always return S_FALSE from DllCanUnloadNow().

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/qcap/avimux.c       |  2 --
 dlls/qcap/capturegraph.c |  2 --
 dlls/qcap/qcap_main.c    | 24 ------------------------
 dlls/qcap/qcap_private.h |  2 --
 dlls/qcap/vfwcapture.c   |  2 --
 5 files changed, 32 deletions(-)

diff --git a/dlls/qcap/avimux.c b/dlls/qcap/avimux.c
index 5cc7d55bdf1..c3dbf71d2da 100644
--- a/dlls/qcap/avimux.c
+++ b/dlls/qcap/avimux.c
@@ -131,7 +131,6 @@ static void avi_mux_destroy(struct strmbase_filter *iface)
     free(filter->idx1);
     strmbase_filter_cleanup(&filter->filter);
     free(filter);
-    ObjectRefCount(FALSE);
 }
 
 static HRESULT avi_mux_query_interface(struct strmbase_filter *iface, REFIID iid, void **out)
@@ -1851,7 +1850,6 @@ HRESULT avi_mux_create(IUnknown *outer, IUnknown **out)
     avimux->interleave = 10000000;
 
     TRACE("Created AVI mux %p.\n", avimux);
-    ObjectRefCount(TRUE);
     *out = &avimux->filter.IUnknown_inner;
     return S_OK;
 }
diff --git a/dlls/qcap/capturegraph.c b/dlls/qcap/capturegraph.c
index e5c7d9c1120..157cfc6178d 100644
--- a/dlls/qcap/capturegraph.c
+++ b/dlls/qcap/capturegraph.c
@@ -66,7 +66,6 @@ HRESULT capture_graph_create(IUnknown *outer, IUnknown **out)
     object->csFilter.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": CaptureGraphImpl.csFilter");
 
     TRACE("Created capture graph builder %p.\n", object);
-    ObjectRefCount(TRUE);
     *out = (IUnknown *)&object->ICaptureGraphBuilder_iface;
     return S_OK;
 }
@@ -123,7 +122,6 @@ static ULONG WINAPI fnCaptureGraphBuilder2_Release(ICaptureGraphBuilder2 * iface
         if (This->mygraph)
             IGraphBuilder_Release(This->mygraph);
         free(This);
-        ObjectRefCount(FALSE);
     }
     return ref;
 }
diff --git a/dlls/qcap/qcap_main.c b/dlls/qcap/qcap_main.c
index ac7ac6a26aa..3a8c89fe077 100644
--- a/dlls/qcap/qcap_main.c
+++ b/dlls/qcap/qcap_main.c
@@ -29,8 +29,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(quartz);
 
 HINSTANCE qcap_instance;
 
-static LONG objects_ref = 0;
-
 struct class_factory
 {
     IClassFactory IClassFactory_iface;
@@ -91,11 +89,6 @@ static HRESULT WINAPI class_factory_CreateInstance(IClassFactory *iface, IUnknow
 static HRESULT WINAPI class_factory_LockServer(IClassFactory *iface, BOOL lock)
 {
     TRACE("iface %p, lock %d.\n", iface, lock);
-
-    if (lock)
-        InterlockedIncrement(&objects_ref);
-    else
-        InterlockedDecrement(&objects_ref);
     return S_OK;
 }
 
@@ -274,20 +267,3 @@ HRESULT WINAPI DllUnregisterServer(void)
     IFilterMapper2_Release(mapper);
     return S_OK;
 }
-
-/***********************************************************************
- *    DllCanUnloadNow (QCAP.@)
- */
-HRESULT WINAPI DllCanUnloadNow(void)
-{
-    TRACE(".\n");
-
-    return objects_ref ? S_FALSE : S_OK;
-}
-
-DWORD ObjectRefCount(BOOL increment)
-{
-    if (increment)
-        return InterlockedIncrement(&objects_ref);
-    return InterlockedDecrement(&objects_ref);
-}
diff --git a/dlls/qcap/qcap_private.h b/dlls/qcap/qcap_private.h
index 104dba6a649..2db3c509062 100644
--- a/dlls/qcap/qcap_private.h
+++ b/dlls/qcap/qcap_private.h
@@ -30,8 +30,6 @@
 
 extern HINSTANCE qcap_instance DECLSPEC_HIDDEN;
 
-extern DWORD ObjectRefCount(BOOL increment) DECLSPEC_HIDDEN;
-
 HRESULT audio_record_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
 HRESULT avi_compressor_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
 HRESULT avi_mux_create(IUnknown *outer, IUnknown **out) DECLSPEC_HIDDEN;
diff --git a/dlls/qcap/vfwcapture.c b/dlls/qcap/vfwcapture.c
index fd5434434f2..504d41b5814 100644
--- a/dlls/qcap/vfwcapture.c
+++ b/dlls/qcap/vfwcapture.c
@@ -107,7 +107,6 @@ static void vfw_capture_destroy(struct strmbase_filter *iface)
     strmbase_source_cleanup(&filter->source);
     strmbase_filter_cleanup(&filter->filter);
     free(filter);
-    ObjectRefCount(FALSE);
 }
 
 static HRESULT vfw_capture_query_interface(struct strmbase_filter *iface, REFIID iid, void **out)
@@ -861,7 +860,6 @@ HRESULT vfw_capture_create(IUnknown *outer, IUnknown **out)
     object->state_cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": vfw_capture.state_cs");
 
     TRACE("Created VFW capture filter %p.\n", object);
-    ObjectRefCount(TRUE);
     *out = &object->filter.IUnknown_inner;
     return S_OK;
 }




More information about the wine-cvs mailing list