// Should return the object for the binding. Should return this object even if the
// binding is not enabled or added to the object.
- virtual QObject *targetObject() const = 0;
+ QObject *targetObject() const { return m_target.data(); }
virtual void setEnabled(bool e, QQmlPropertyPrivate::WriteFlags f = QQmlPropertyPrivate::DontRemoveBinding) = 0;
// This saves a compiler-generated pointer to a compiler-generated vTable, and thus reduces
// the binding object size by sizeof(void*).
qintptr m_nextBindingPtr;
+
+protected:
+ QFlagPointer<QObject> m_target;
};
QQmlAbstractBinding::Pointer
return v->toQStringNoThrow();
}
-QObject *QQmlBinding::targetObject() const
-{
- return *m_target;
-}
-
int QQmlBinding::targetPropertyIndex() const
{
return m_index;
// Inherited from QQmlAbstractBinding
virtual void setEnabled(bool, QQmlPropertyPrivate::WriteFlags flags = QQmlPropertyPrivate::DontRemoveBinding);
virtual QString expression() const;
- virtual QObject *targetObject() const;
virtual int targetPropertyIndex() const;
void update(QQmlPropertyPrivate::WriteFlags flags = QQmlPropertyPrivate::DontRemoveBinding);
inline void setEnabledFlag(bool);
QQmlPropertyData getPropertyData() const;
- QFlagPointer<QObject> m_target;
int m_index;
};
QT_BEGIN_NAMESPACE
QQmlValueTypeProxyBinding::QQmlValueTypeProxyBinding(QObject *o, int index)
-: QQmlAbstractBinding(ValueTypeProxy), m_object(o), m_index(index), m_bindings(0)
+ : QQmlAbstractBinding(ValueTypeProxy),
+ m_targetIndex(index),
+ m_bindings(0)
{
+ m_target = o;
}
QQmlValueTypeProxyBinding::~QQmlValueTypeProxyBinding()
int QQmlValueTypeProxyBinding::targetPropertyIndex() const
{
- return m_index;
-}
-
-QObject *QQmlValueTypeProxyBinding::targetObject() const
-{
- return m_object;
+ return m_targetIndex;
}
QT_END_NAMESPACE
virtual void setEnabled(bool, QQmlPropertyPrivate::WriteFlags);
virtual int targetPropertyIndex() const;
- virtual QObject *targetObject() const;
protected:
~QQmlValueTypeProxyBinding();
private:
friend class QQmlAbstractBinding;
- QObject *m_object;
- int m_index;
+ int m_targetIndex;
QQmlAbstractBinding *m_bindings;
};