qt5base-lts/tests/auto/corelib/kernel
Fabian Kosmale 5b681bea90 QPropertyBinding: Do not reevaluate if not installed on property
Since we changed binding evaluation to be always eager, we notify and
evaluate all bindings as soon as any dependency changes. This includes
bindings which have been initially installed on a property, but which
were later removed.
With lazy evaluation, we would only notify those bindings and mark them
as dirty, which is unproblematic. With eager evalution, we attempt to
evaluate the binding, though. While that part is still fine, afterwards
we would attempt to write the new value into the property. However,
there is no property at that point, as the binding is not installed.
Instead of adding a check whether the propertydataptr is null, we skip
the reevaluation completely by removing the bindings observers - and
thus the cause for the binding function's reevaluation. As soon as the
binding is set, we reevaluate the function anyway, at which point we
also capture the observers again.

Task-number: QTBUG-89505
Change-Id: Ie1885ccd8be519fb96f6fde658275810b54f445a
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2021-05-12 14:49:46 +02:00
..
qcoreapplication Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
qdeadlinetimer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qelapsedtimer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qeventdispatcher QEventDispatcher(Win): Always honor interrupted status to avoid races 2021-03-11 12:11:18 +01:00
qeventloop Remove the qmake project files 2021-01-07 15:32:28 +01:00
qjnienvironment QJniEnvironment: extend API 2021-05-03 18:09:23 +02:00
qjniobject Fix set*Field JNI template calls 2021-05-05 16:28:27 +03:00
qmath Add qHypot() to qmath.h, exposing and extending std::hypot() 2021-01-27 15:00:57 +01:00
qmetacontainer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmetaenum Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmetamethod QMetaMethod: Store method constness in metaobject system 2021-05-07 21:50:58 +02:00
qmetaobject Introduce QMetaObject::metaType 2021-03-25 17:33:07 +01:00
qmetaobjectbuilder QMetaObjectBuilder: remove unused serialization code 2021-03-20 10:24:27 +01:00
qmetaproperty Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmetatype QTypeInfo: Handle T::value_type being equal to T 2021-03-25 11:22:29 +01:00
qmimedata Remove the qmake project files 2021-01-07 15:32:28 +01:00
qobject QObject: port to new property system 2021-04-21 15:34:28 +02:00
qpointer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qproperty QPropertyBinding: Do not reevaluate if not installed on property 2021-05-12 14:49:46 +02:00
qsharedmemory Remove .prev_CMakeLists.txt files 2021-01-12 20:59:13 +01:00
qsignalblocker Remove the qmake project files 2021-01-07 15:32:28 +01:00
qsignalmapper Remove the qmake project files 2021-01-07 15:32:28 +01:00
qsocketnotifier tst_socketnotifier: Fix timeout of QTcpServer::waitForNewConnection() 2021-01-21 08:53:35 +00:00
qsystemsemaphore Remove the qmake project files 2021-01-07 15:32:28 +01:00
qtimer Fix QTimer::setInterval to remove existing bindings 2021-02-15 13:47:31 +01:00
qtranslator Remove the qmake project files 2021-01-07 15:32:28 +01:00
qvariant Fix some warnings 2021-03-31 10:51:50 +02:00
qwineventnotifier Repair tst_qwineventnotifier 2021-03-29 15:54:05 +02:00
CMakeLists.txt Repair tst_qwineventnotifier 2021-03-29 15:54:05 +02:00