diff options
author | Oliver Eftevaag <[email protected]> | 2023-05-26 16:49:20 +0200 |
---|---|---|
committer | Oliver Eftevaag <[email protected]> | 2023-06-08 12:21:28 +0200 |
commit | 351979e05ad2a861fc3e6f8d1de6197a751316a8 (patch) | |
tree | 5a3c81ff5d547cf0418eebf9f10e325f260d49d8 /src/quick/items/qquicksprite_p.h | |
parent | b80f0383ab99a92e0470800ea1b1382453a7e9aa (diff) |
Make properties in Qt Quick FINAL to prevent shadowing
Without setting the FINAL flag, properties can be shadowed by users.
In the following example:
Image {
property string source: "Shadowing QQuickImage::source"
}
The source property of QQuickImage, will be shadowed by a new property
with the same name.
This can both cause confusion for non-experienced users, and it causes
issues with qmlsc.
Shadowing a property is usually unwanted. But there are some situations
where it might be intended. The QML Object Attributes doc page
demonstrates that you can override the color property in
QQuickRectangle, for instance.
[ChangeLog][Important Behavior Changes][QtQuick] Most properties for
types in the QtQuick module are now FINAL, meaning that they can no
longer be shadowed by declaring new properties with the same names.
With few exceptions. A warning will be printed out to the console, when
a FINAL property is shadowed. We recommend that users rename those
properties to avoid potential unexpected behavior changes.
Task-number: QTBUG-108739
Pick-to: 6.6
Change-Id: I1070926606f4d88ef7edf088ff80fb3ec82305c8
Reviewed-by: Jan Arve Sæther <[email protected]>
Diffstat (limited to 'src/quick/items/qquicksprite_p.h')
-rw-r--r-- | src/quick/items/qquicksprite_p.h | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/quick/items/qquicksprite_p.h b/src/quick/items/qquicksprite_p.h index 3054b8b2a6..015b2e1e4d 100644 --- a/src/quick/items/qquicksprite_p.h +++ b/src/quick/items/qquicksprite_p.h @@ -33,23 +33,23 @@ QT_BEGIN_NAMESPACE class Q_QUICK_EXPORT QQuickSprite : public QQuickStochasticState { Q_OBJECT - Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged) + Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged FINAL) //Renderers have to query this hint when advancing frames - Q_PROPERTY(bool reverse READ reverse WRITE setReverse NOTIFY reverseChanged) - Q_PROPERTY(bool frameSync READ frameSync WRITE setFrameSync NOTIFY frameSyncChanged) - Q_PROPERTY(int frames READ frames WRITE setFrames NOTIFY frameCountChanged) - Q_PROPERTY(int frameCount READ frameCount WRITE setFrameCount NOTIFY frameCountChanged) + Q_PROPERTY(bool reverse READ reverse WRITE setReverse NOTIFY reverseChanged FINAL) + Q_PROPERTY(bool frameSync READ frameSync WRITE setFrameSync NOTIFY frameSyncChanged FINAL) + Q_PROPERTY(int frames READ frames WRITE setFrames NOTIFY frameCountChanged FINAL) + Q_PROPERTY(int frameCount READ frameCount WRITE setFrameCount NOTIFY frameCountChanged FINAL) //If frame height or width is not specified, it is assumed to be a single long row of square frames. //Otherwise, it can be multiple contiguous rows, when one row runs out the next will be used. - Q_PROPERTY(int frameHeight READ frameHeight WRITE setFrameHeight NOTIFY frameHeightChanged) - Q_PROPERTY(int frameWidth READ frameWidth WRITE setFrameWidth NOTIFY frameWidthChanged) - Q_PROPERTY(int frameX READ frameX WRITE setFrameX NOTIFY frameXChanged) - Q_PROPERTY(int frameY READ frameY WRITE setFrameY NOTIFY frameYChanged) + Q_PROPERTY(int frameHeight READ frameHeight WRITE setFrameHeight NOTIFY frameHeightChanged FINAL) + Q_PROPERTY(int frameWidth READ frameWidth WRITE setFrameWidth NOTIFY frameWidthChanged FINAL) + Q_PROPERTY(int frameX READ frameX WRITE setFrameX NOTIFY frameXChanged FINAL) + Q_PROPERTY(int frameY READ frameY WRITE setFrameY NOTIFY frameYChanged FINAL) //Precedence order: frameRate, frameDuration, duration - Q_PROPERTY(qreal frameRate READ frameRate WRITE setFrameRate NOTIFY frameRateChanged RESET resetFrameRate) - Q_PROPERTY(qreal frameRateVariation READ frameRateVariation WRITE setFrameRateVariation NOTIFY frameRateVariationChanged) - Q_PROPERTY(int frameDuration READ frameDuration WRITE setFrameDuration NOTIFY frameDurationChanged RESET resetFrameDuration) - Q_PROPERTY(int frameDurationVariation READ frameDurationVariation WRITE setFrameDurationVariation NOTIFY frameDurationVariationChanged) + Q_PROPERTY(qreal frameRate READ frameRate WRITE setFrameRate NOTIFY frameRateChanged RESET resetFrameRate FINAL) + Q_PROPERTY(qreal frameRateVariation READ frameRateVariation WRITE setFrameRateVariation NOTIFY frameRateVariationChanged FINAL) + Q_PROPERTY(int frameDuration READ frameDuration WRITE setFrameDuration NOTIFY frameDurationChanged RESET resetFrameDuration FINAL) + Q_PROPERTY(int frameDurationVariation READ frameDurationVariation WRITE setFrameDurationVariation NOTIFY frameDurationVariationChanged FINAL) QML_NAMED_ELEMENT(Sprite) QML_ADDED_IN_VERSION(2, 0) |