diff options
Diffstat (limited to 'src/activeqt/container/qaxobject.cpp')
-rw-r--r-- | src/activeqt/container/qaxobject.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/activeqt/container/qaxobject.cpp b/src/activeqt/container/qaxobject.cpp index 317f83b..4a30803 100644 --- a/src/activeqt/container/qaxobject.cpp +++ b/src/activeqt/container/qaxobject.cpp @@ -49,6 +49,7 @@ ****************************************************************************/ #include "qaxobject.h" +#include "qaxobject_p.h" #include "qaxbase_p.h" #include <quuid.h> @@ -84,6 +85,11 @@ private: QAxBaseObject *m_o; }; +QAxBaseObject::QAxBaseObject(QObjectPrivate &d, QObject *parent) + : QObject(d, parent) +{ +} + /*! \class QAxBaseObject \brief QAxBaseObject provides static properties and signals for QAxObject. @@ -187,7 +193,7 @@ private: QObject constructor. To initialize the object, call setControl(). */ QAxObject::QAxObject(QObject *parent) -: QAxBaseObject(parent) +: QAxBaseObject(*new QAxObjectPrivate, parent) { axBaseInit(new QAxObjectSignalBridge(this)); } @@ -199,7 +205,7 @@ QAxObject::QAxObject(QObject *parent) \sa setControl() */ QAxObject::QAxObject(const QString &c, QObject *parent) -: QAxBaseObject(parent) +: QAxBaseObject(*new QAxObjectPrivate, parent) { axBaseInit(new QAxObjectSignalBridge(this)); setControl(c); @@ -210,7 +216,7 @@ QAxObject::QAxObject(const QString &c, QObject *parent) iface. \a parent is propagated to the QObject constructor. */ QAxObject::QAxObject(IUnknown *iface, QObject *parent) -: QAxBaseObject(parent), QAxBase(iface) +: QAxBaseObject(*new QAxObjectPrivate, parent), QAxBase(iface) { axBaseInit(new QAxObjectSignalBridge(this)); } @@ -221,7 +227,8 @@ QAxObject::QAxObject(IUnknown *iface, QObject *parent) */ QAxObject::~QAxObject() { - clear(); + Q_D(QAxObject); + d->clear(); } unsigned long QAxObject::classContext() const @@ -246,7 +253,14 @@ bool QAxObject::setControl(const QString &c) void QAxObject::clear() { - QAxBase::clear(); + Q_D(QAxObject); + d->clear(); +} + +void QAxObjectPrivate::clear() +{ + Q_Q(QAxObject); + q->QAxBase::clear(); } /*! |