summaryrefslogtreecommitdiffstats
path: root/examples/sql/books/CMakeLists.txt
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2021-05-10 15:50:12 +0200
committerFabian Kosmale <fabian.kosmale@qt.io>2021-05-12 14:49:46 +0200
commit5b681bea902c9b9556ea8325df17338e78039d20 (patch)
tree134b21481adc6618d8b680f6212f32f4856efad0 /examples/sql/books/CMakeLists.txt
parente381977b212d7f622771aa9e45565dde7698f776 (diff)
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>
Diffstat (limited to 'examples/sql/books/CMakeLists.txt')
0 files changed, 0 insertions, 0 deletions