OSDN Git Service

manually manage QImageIOHandlerPrivate pointer
authorIvailo Monev <xakepa10@gmail.com>
Sat, 26 Dec 2020 19:27:38 +0000 (19:27 +0000)
committerIvailo Monev <xakepa10@gmail.com>
Sat, 26 Dec 2020 19:27:38 +0000 (19:27 +0000)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
src/gui/image/qimageiohandler.cpp
src/gui/image/qimageiohandler.h

index 6b35afc..24316c9 100644 (file)
@@ -222,18 +222,13 @@ class QImageIOHandlerPrivate
 {
 public:
     QImageIOHandlerPrivate();
-    virtual ~QImageIOHandlerPrivate();
 
     QIODevice *device;
     mutable QByteArray format;
 };
 
 QImageIOHandlerPrivate::QImageIOHandlerPrivate()
-{
-    device = 0;
-}
-
-QImageIOHandlerPrivate::~QImageIOHandlerPrivate()
+    : device(Q_NULLPTR)
 {
 }
 
@@ -245,21 +240,12 @@ QImageIOHandler::QImageIOHandler()
 {
 }
 
-/*! \internal
-
-    Constructs a QImageIOHandler object, using the private member \a
-    dd.
-*/
-QImageIOHandler::QImageIOHandler(QImageIOHandlerPrivate &dd)
-    : d_ptr(&dd)
-{
-}
-
 /*!
     Destructs the QImageIOHandler object.
 */
 QImageIOHandler::~QImageIOHandler()
 {
+    delete d_ptr;
 }
 
 /*!
index be8661c..16b6a50 100644 (file)
@@ -36,7 +36,6 @@
 
 #include <QtCore/qplugin.h>
 #include <QtCore/qfactoryinterface.h>
-#include <QtCore/qscopedpointer.h>
 
 QT_BEGIN_HEADER
 
@@ -98,11 +97,10 @@ public:
     virtual int currentImageNumber() const;
     virtual QRect currentImageRect() const;
 
-protected:
-    QImageIOHandler(QImageIOHandlerPrivate &dd);
-    QScopedPointer<QImageIOHandlerPrivate> d_ptr;
 private:
     Q_DISABLE_COPY(QImageIOHandler)
+
+    QImageIOHandlerPrivate *d_ptr;
 };
 
 struct Q_GUI_EXPORT QImageIOHandlerFactoryInterface : public QFactoryInterface