diff --git a/src/libs/qmljs/qmljspropertyreader.cpp b/src/libs/qmljs/qmljspropertyreader.cpp index 47dd633f782b771caf1b3c7cb6f4e0d7b3a2b90a..ac82009381165cabaa628d8c407925ec6695b230 100644 --- a/src/libs/qmljs/qmljspropertyreader.cpp +++ b/src/libs/qmljs/qmljspropertyreader.cpp @@ -239,11 +239,13 @@ PropertyReader::PropertyReader(Document::Ptr doc, AST::UiObjectInitializer *ast) } } -QLinearGradient PropertyReader::parseGradient(const QString &propertyName) const +QLinearGradient PropertyReader::parseGradient(const QString &propertyName, bool *isBound) const { if (!m_doc) return QLinearGradient(); + *isBound = false; + for (UiObjectMemberList *members = m_ast->members; members; members = members->next) { UiObjectMember *member = members->member; @@ -265,6 +267,8 @@ QLinearGradient PropertyReader::parseGradient(const QString &propertyName) const if (localParser.hasProperty("color") && localParser.hasProperty("position")) { QColor color = localParser.readProperty("color").value<QColor>(); qreal position = localParser.readProperty("position").toReal(); + if (localParser.isBindingOrEnum("color") || localParser.isBindingOrEnum("position")) + *isBound = true; stops.append( QPair<qreal, QColor>(position, color)); } } diff --git a/src/libs/qmljs/qmljspropertyreader.h b/src/libs/qmljs/qmljspropertyreader.h index be7fa4937f7007d53b11251f56c126ca4b40aeff..39ff52c6fb576d791b2a183a6b98f07e2f328bc9 100644 --- a/src/libs/qmljs/qmljspropertyreader.h +++ b/src/libs/qmljs/qmljspropertyreader.h @@ -62,7 +62,7 @@ public: return QVariant(); } - QLinearGradient parseGradient(const QString &propertyName) const; + QLinearGradient parseGradient(const QString &propertyName, bool *isBound) const; QStringList properties() const { return m_properties.keys(); }