diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2012-03-23 08:22:02 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-26 07:24:29 +0200 |
commit | 68ac4c57c46f72b4db16cf02ba67953c9cf4bdc4 (patch) | |
tree | 3a22ab063e86ca88004d103fa21c53ff82aae927 /src/qml/qml/qqmlboundsignal_p.h | |
parent | fa3ef5376acc69b147718f49eddb842fdd5d2dd2 (diff) |
Remove QObject parenting from QQmlAbstractBoundSignal.
Change-Id: If549cf57bbac18a986a2a0e63fdc76902d2dae43
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Diffstat (limited to 'src/qml/qml/qqmlboundsignal_p.h')
-rw-r--r-- | src/qml/qml/qqmlboundsignal_p.h | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/qml/qml/qqmlboundsignal_p.h b/src/qml/qml/qqmlboundsignal_p.h index ab14de018d..03b6008e45 100644 --- a/src/qml/qml/qqmlboundsignal_p.h +++ b/src/qml/qml/qqmlboundsignal_p.h @@ -61,31 +61,40 @@ QT_BEGIN_NAMESPACE -class Q_QML_EXPORT QQmlAbstractBoundSignal : public QObject +class Q_QML_EXPORT QQmlAbstractBoundSignal { - Q_OBJECT public: - QQmlAbstractBoundSignal(QObject *parent = 0); - virtual ~QQmlAbstractBoundSignal() = 0; + QQmlAbstractBoundSignal(); + virtual ~QQmlAbstractBoundSignal(); virtual int index() const = 0; virtual QQmlExpression *expression() const = 0; virtual QQmlExpression *setExpression(QQmlExpression *) = 0; + virtual QObject *object() = 0; + + void addToObject(); + +private: + friend class QQmlData; + friend class QQmlPropertyPrivate; + friend class QQmlEngineDebugService; + QQmlAbstractBoundSignal **m_prevSignal; + QQmlAbstractBoundSignal *m_nextSignal; }; class QQmlBoundSignalParameters; -class Q_QML_EXPORT QQmlBoundSignal : public QQmlAbstractBoundSignal +class Q_QML_EXPORT QQmlBoundSignal : public QObject, + public QQmlAbstractBoundSignal { public: - QQmlBoundSignal(QObject *scope, const QMetaMethod &signal, QObject *parent); - QQmlBoundSignal(QQmlContext *ctxt, const QString &val, QObject *scope, - const QMetaMethod &signal, QObject *parent); + QQmlBoundSignal(QObject *scope, const QMetaMethod &signal, QObject *owner); virtual ~QQmlBoundSignal(); int index() const; QQmlExpression *expression() const; QQmlExpression *setExpression(QQmlExpression *); + QObject *object() { return m_owner; } bool isEvaluating() const { return m_isEvaluating; } @@ -98,6 +107,7 @@ private: bool m_paramsValid : 1; bool m_isEvaluating : 1; QQmlBoundSignalParameters *m_params; + QObject *m_owner; }; QT_END_NAMESPACE |