summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Dubsky <pavel.dubsky@qt.io>2023-08-30 16:16:31 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-08-30 17:35:02 +0000
commitaca42f01fad8050a1d6eb22c69a7477e5bcb2758 (patch)
treefee9f029ce0880dfad3c9f00c841098e416e7800
parent0f7461de68d38d7525dc6f370bee3df213d50ab2 (diff)
Make COM object destructor private
COM objects should be freed by calling Release method. Making destructor private will prevent from accidentally calling it. Change-Id: I16ebd09597f8e95fc3f63fdb62d2068544caa636 Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io> (cherry picked from commit 5d601507499b085646564bc984346a6464f15e0f) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/plugins/multimedia/ffmpeg/qwindowscamera.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/multimedia/ffmpeg/qwindowscamera.cpp b/src/plugins/multimedia/ffmpeg/qwindowscamera.cpp
index d9131dc03..57a9ef202 100644
--- a/src/plugins/multimedia/ffmpeg/qwindowscamera.cpp
+++ b/src/plugins/multimedia/ffmpeg/qwindowscamera.cpp
@@ -24,7 +24,6 @@ class CameraReaderCallback : public IMFSourceReaderCallback
{
public:
CameraReaderCallback() : m_cRef(1) {}
- virtual ~CameraReaderCallback() {}
//from IUnknown
STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppvObject) override
@@ -68,6 +67,9 @@ public:
m_activeCamera = activeCamera;
}
private:
+ // Destructor is private. Caller should call Release.
+ virtual ~CameraReaderCallback() {}
+
LONG m_cRef;
ActiveCamera *m_activeCamera = nullptr;
QMutex m_mutex;