From aca42f01fad8050a1d6eb22c69a7477e5bcb2758 Mon Sep 17 00:00:00 2001 From: Pavel Dubsky Date: Wed, 30 Aug 2023 16:16:31 +0200 Subject: Make COM object destructor private MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Jøger Hansegård (cherry picked from commit 5d601507499b085646564bc984346a6464f15e0f) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/multimedia/ffmpeg/qwindowscamera.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; -- cgit v1.2.3