Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
6.2.7, 6.4.2, 6.4, 6.5.0 Beta1
-
6.4.1
-
-
d6961c09de (qt/qtdeclarative/dev) d6961c09de (qt/tqtc-qtdeclarative/dev) 639920a27f (qt/tqtc-qtdeclarative/6.2) a6aeb9df47 (qt/qtdeclarative/6.4) a6aeb9df47 (qt/tqtc-qtdeclarative/6.4) 639920a27f (qt/tqtc-qtdeclarative/6.2.7)
Description
When building Qt in debug mode my application runs into the following assertion:
ASSERT: "idx != m_coreIndex" in file qtbase/include/QtQml/6.4.1/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmlpropertydata_p.h, line 243
The assertion is related to having READ/WRITE accessors of a property also being defined as Q_INVOKABLE.
Of course this does not make much sense and can be solved easily by simply removing the Q_INVOKABLE keyword. However it took me some time to find the reason for the assertion and I thought it is worth to at least report it.
class Gradient
{{{}}
Q_GADGET
Q_PROPERTY( QVector< Stop > stops READ stops WRITE setStops )
public:
Q_INVOKABLE void setStops( const QVector< Stop >& );
Q_INVOKABLE const QVector< Stop >& stops() const;
};
Attachments
For Gerrit Dashboard: QTBUG-108627 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
444194,2 | Remove broken assert in QQmlPropertyData::setOverrideIndex | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
444412,2 | Remove broken assert in QQmlPropertyData::setOverrideIndex | 6.4 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
444461,3 | Remove broken assert in QQmlPropertyData::setOverrideIndex | tqtc/lts-6.2 | qt/tqtc-qtdeclarative | Status: MERGED | +2 | 0 |