summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2020-12-04 09:11:50 +0100
committerFabian Kosmale <fabian.kosmale@qt.io>2020-12-04 11:22:37 +0100
commite236faa75f446aa3378fb013cce6598c9e076ccb (patch)
tree01f08e493948a122c7a1ebdd3f98b94c6b75cc19 /tests/auto/corelib/kernel
parente1440dd7bc1a5da9a536f88b9733d04ec8fa6e61 (diff)
QBindable: Disallow mutation if read-only
If a QBindable is created from a computed property, it is not possible to actually set a value or a binding. If we try to do it anyway, we'd get a crash. Thus we now check whether the function pointer is null before invoking it. Pick-to: 6.0 Task-number: QTBUG-87153 Change-Id: I5bedb9080ccf79d9b8166b80d5733d095ed76f8d Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'tests/auto/corelib/kernel')
-rw-r--r--tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp b/tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp
index 8145b066da..3cc7bd6f9c 100644
--- a/tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp
+++ b/tests/auto/corelib/kernel/qproperty/tst_qproperty.cpp
@@ -1114,6 +1114,11 @@ void tst_QProperty::testNewStuff()
object.readData.setValue(111);
QCOMPARE(object.computed(), 111);
+ object.bindableComputed().setBinding(object.bindableBar().makeBinding());
+ QCOMPARE(object.computed(), 111);
+ object.bindableComputed().setValue(10);
+ QCOMPARE(object.computed(), 111);
+
QCOMPARE(object.bindableFoo().value(), 111);
object.bindableFoo().setValue(24);
QCOMPARE(object.foo(), 24);