From d1b0862ad4d1dc64d8707464fb891ec397dc4b4a Mon Sep 17 00:00:00 2001 From: Michael Goddard Date: Tue, 12 Jun 2012 14:54:22 +1000 Subject: [PATCH] Reduce the usage of QAbstractVideoBufferPrivate. Move the handle type to the base class (since it's always needed) and don't allocate the private class in the default paths. Change-Id: I870a315310ce740f07b1d43cedecfce21feae505 Reviewed-by: Dmytro Poplavskiy --- src/multimedia/video/qabstractvideobuffer.cpp | 12 ++++-------- src/multimedia/video/qabstractvideobuffer.h | 3 ++- src/multimedia/video/qabstractvideobuffer_p.h | 4 ---- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/multimedia/video/qabstractvideobuffer.cpp b/src/multimedia/video/qabstractvideobuffer.cpp index 127cd5e..92cdfca 100644 --- a/src/multimedia/video/qabstractvideobuffer.cpp +++ b/src/multimedia/video/qabstractvideobuffer.cpp @@ -122,11 +122,9 @@ namespace Constructs an abstract video buffer of the given \a type. */ QAbstractVideoBuffer::QAbstractVideoBuffer(HandleType type) - : d_ptr(new QAbstractVideoBufferPrivate) + : d_ptr(0) + , m_type(type) { - Q_D(QAbstractVideoBuffer); - - d->handleType = type; } /*! @@ -134,10 +132,8 @@ QAbstractVideoBuffer::QAbstractVideoBuffer(HandleType type) */ QAbstractVideoBuffer::QAbstractVideoBuffer(QAbstractVideoBufferPrivate &dd, HandleType type) : d_ptr(&dd) + , m_type(type) { - Q_D(QAbstractVideoBuffer); - - d->handleType = type; } /*! @@ -168,7 +164,7 @@ void QAbstractVideoBuffer::release() */ QAbstractVideoBuffer::HandleType QAbstractVideoBuffer::handleType() const { - return d_func()->handleType; + return m_type; } /*! diff --git a/src/multimedia/video/qabstractvideobuffer.h b/src/multimedia/video/qabstractvideobuffer.h index 6bd7f8a..8cd0800 100644 --- a/src/multimedia/video/qabstractvideobuffer.h +++ b/src/multimedia/video/qabstractvideobuffer.h @@ -96,7 +96,8 @@ public: protected: QAbstractVideoBuffer(QAbstractVideoBufferPrivate &dd, HandleType type); - QAbstractVideoBufferPrivate *d_ptr; + QAbstractVideoBufferPrivate *d_ptr; // For expansion, not used currently + HandleType m_type; private: Q_DECLARE_PRIVATE(QAbstractVideoBuffer) diff --git a/src/multimedia/video/qabstractvideobuffer_p.h b/src/multimedia/video/qabstractvideobuffer_p.h index 82c9762..0410279 100644 --- a/src/multimedia/video/qabstractvideobuffer_p.h +++ b/src/multimedia/video/qabstractvideobuffer_p.h @@ -66,18 +66,14 @@ QT_BEGIN_NAMESPACE QT_MODULE(Multimedia) - class QAbstractVideoBufferPrivate { public: QAbstractVideoBufferPrivate() - : handleType(QAbstractVideoBuffer::NoHandle) {} virtual ~QAbstractVideoBufferPrivate() {} - - QAbstractVideoBuffer::HandleType handleType; }; QT_END_NAMESPACE -- 2.7.4