qt5base-lts/tests/auto
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
..
bic/data Add binary compatibility files for Qt 6.0.0 2021-04-08 06:34:13 +00:00
cmake CMake: Resurrect test_import_plugins cmake build tests 2021-05-11 14:35:30 +02:00
concurrent Fix gcc warnings from having only one of assignment/copy 2021-04-11 19:53:51 +02:00
corelib QPropertyBinding: Do not reevaluate if not installed on property 2021-05-12 14:49:46 +02:00
dbus Port QDBusServiceWatcher::watchedServices to bindable properties 2021-04-28 16:59:53 +02:00
gui Fix QStandardItemModel signals on takeChild 2021-05-11 18:55:09 +01:00
guiapplauncher Move QStateMachine from QtCore to QtScxml 2020-08-24 20:10:25 +02:00
network Blacklist tst_qnetworkreply::ioHttpRedirectMultipartPost on Linux 2021-05-12 14:49:45 +02:00
opengl Remove the qmake project files 2021-01-07 15:32:28 +01:00
other QObject: port to new property system 2021-04-21 15:34:28 +02:00
printsupport Remove the qmake project files 2021-01-07 15:32:28 +01:00
shared Remove false Q_UNREACHABLE from shaping code 2021-02-03 09:44:44 +01:00
sql QSqlTableModel::orderByClause(): Quote the table name 2021-05-03 14:10:36 +00:00
testlib Fix compiler warnings from int/size_t mismatches 2021-04-28 06:48:43 +02:00
tools tst_moc: Use qtpaths instead of qmake 2021-05-05 23:43:45 +02:00
widgets Do not remove non-widget items when removeWidget() called with nullptr 2021-05-11 16:57:17 +00:00
xml tst_qdom: clean-up the code enabled only before Qt 6 2021-01-15 15:22:08 +01:00
CMakeLists.txt CMake: Build minimal subset of tests in desktop static builds 2021-04-06 09:15:37 +01:00
network-settings.h Replace QtTest headers with QTest 2020-12-22 15:20:30 +01:00