diff options
-rw-r--r-- | src/corelib/kernel/qproperty.h | 23 | ||||
-rw-r--r-- | tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp | 20 |
2 files changed, 0 insertions, 43 deletions
diff --git a/src/corelib/kernel/qproperty.h b/src/corelib/kernel/qproperty.h index 5ba4d2eda7..de08a71349 100644 --- a/src/corelib/kernel/qproperty.h +++ b/src/corelib/kernel/qproperty.h @@ -731,28 +731,6 @@ QPropertyChangeHandler<Functor> QNotifiedProperty<T, Callback, ValueGuard>::subs return onValueChanged(f); } -template <auto propertyMember, auto callbackMember> -struct QPropertyMemberChangeHandler; - -template<typename Class, typename PropertyType, PropertyType Class::* PropertyMember, void(Class::*Callback)()> -struct QPropertyMemberChangeHandler<PropertyMember, Callback> : public QPropertyObserver -{ - QPropertyMemberChangeHandler(Class *obj) - : QPropertyObserver(notify) - { - setSource(obj->*PropertyMember); - } - - static void notify(QPropertyObserver *, void *propertyDataPtr) - { - // memberOffset is the offset of the QProperty<> member within the class. We get the absolute address - // of that member and subtracting the relative offset gives us the address of the class instance. - const size_t memberOffset = reinterpret_cast<size_t>(&(static_cast<Class *>(nullptr)->*PropertyMember)); - Class *obj = reinterpret_cast<Class *>(reinterpret_cast<char *>(propertyDataPtr) - memberOffset); - (obj->*Callback)(); - } -}; - template<typename T> class QPropertyAlias : public QPropertyObserver { @@ -892,7 +870,6 @@ public: return aliasedProperty<T>() != nullptr; } }; - QT_END_NAMESPACE #endif // QPROPERTY_H diff --git a/tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp b/tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp index 53d361ca26..cafc193257 100644 --- a/tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp +++ b/tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp @@ -67,7 +67,6 @@ private slots: void settingPropertyValueDoesRemoveBinding(); void genericPropertyBinding(); void genericPropertyBindingBool(); - void staticChangeHandler(); void setBindingFunctor(); void multipleObservers(); void propertyAlias(); @@ -661,25 +660,6 @@ void tst_QProperty::genericPropertyBindingBool() QVERIFY(property.value()); } -struct ItemType -{ - QProperty<int> x; - QVector<int> observedValues; - void xChanged() { - observedValues << x.value(); - } - QPropertyMemberChangeHandler<&ItemType::x, &ItemType::xChanged> test{this}; -}; - -void tst_QProperty::staticChangeHandler() -{ - ItemType t; - t.x = 42; - t.x = 100; - QVector<int> values{42, 100}; - QCOMPARE(t.observedValues, values); -} - void tst_QProperty::setBindingFunctor() { QProperty<int> property; |