From 36fc392147ea79bb665058ea165c86f6cd6680d7 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Tue, 24 Mar 2020 21:03:05 +0100 Subject: Implement support for property observers Syntactically we call them signal handler expressions :-), now also working when the underlying property doesn't emit an old-style signal but is just a QProperty. Change-Id: I719a3e428f44af0fd48036434aefa682a02f7de1 Reviewed-by: Fabian Kosmale --- src/qml/common/qv4compileddata_p.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/qml/common/qv4compileddata_p.h') diff --git a/src/qml/common/qv4compileddata_p.h b/src/qml/common/qv4compileddata_p.h index 7d6ef14854..f0c4c2aa3e 100644 --- a/src/qml/common/qv4compileddata_p.h +++ b/src/qml/common/qv4compileddata_p.h @@ -449,7 +449,8 @@ struct Binding IsBindingToAlias = 0x40, IsDeferredBinding = 0x80, IsCustomParserBinding = 0x100, - IsFunctionExpression = 0x200 + IsFunctionExpression = 0x200, + IsPropertyObserver = 0x400 }; union { @@ -475,7 +476,8 @@ struct Binding || type == Type_GroupProperty) return false; if (flags & IsSignalHandlerExpression - || flags & IsSignalHandlerObject) + || flags & IsSignalHandlerObject + || flags & IsPropertyObserver) return false; return true; } @@ -485,7 +487,7 @@ struct Binding bool isSignalHandler() const { - if (flags & IsSignalHandlerExpression || flags & IsSignalHandlerObject) { + if (flags & IsSignalHandlerExpression || flags & IsSignalHandlerObject || flags & IsPropertyObserver) { Q_ASSERT(!isValueBinding()); Q_ASSERT(!isAttachedProperty()); Q_ASSERT(!isGroupProperty()); -- cgit v1.2.3