Unseal overridden methods on QComObject

There are cases where overriding AddRef, Release, and/or QueryInterface
and adding additional functionality besides commonly required might be
beneficial.

Change-Id: I4407960164edf0441d1d054356f74abba6becbe7
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
bb10
Pavel Dubsky 2024-04-11 18:48:07 +02:00
parent 30ac79464c
commit a204417600
1 changed files with 3 additions and 3 deletions

View File

@ -65,7 +65,7 @@ template <typename TFirstInterface, typename... TAdditionalInterfaces>
class QComObject : public TFirstInterface, public TAdditionalInterfaces...
{
public:
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject) final
STDMETHODIMP QueryInterface(REFIID riid, void **ppvObject) override
{
if (!ppvObject)
return E_POINTER;
@ -80,9 +80,9 @@ public:
return tryQueryInterface<TFirstInterface, TAdditionalInterfaces...>(riid, ppvObject);
}
STDMETHODIMP_(ULONG) AddRef() final { return ++m_referenceCount; }
STDMETHODIMP_(ULONG) AddRef() override { return ++m_referenceCount; }
STDMETHODIMP_(ULONG) Release() final
STDMETHODIMP_(ULONG) Release() override
{
const LONG referenceCount = --m_referenceCount;
if (referenceCount == 0)