diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2009-11-05 22:49:00 (GMT) |
---|---|---|
committer | Michael Brasser <michael.brasser@nokia.com> | 2009-11-05 22:49:00 (GMT) |
commit | ec543f79c7d036961eb6cdcd956b3e8ca28b8e54 (patch) | |
tree | 8af5b0ddb2176ea68085fb12614149e4f884797c /src/declarative/util/qmlpropertychanges.cpp | |
parent | 656870157932a0b44de69927faa003c71eeb2a47 (diff) | |
download | Qt-ec543f79c7d036961eb6cdcd956b3e8ca28b8e54.zip Qt-ec543f79c7d036961eb6cdcd956b3e8ca28b8e54.tar.gz Qt-ec543f79c7d036961eb6cdcd956b3e8ca28b8e54.tar.bz2 |
Fix possible crash when overriding a signal handler.
Diffstat (limited to 'src/declarative/util/qmlpropertychanges.cpp')
-rw-r--r-- | src/declarative/util/qmlpropertychanges.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/declarative/util/qmlpropertychanges.cpp b/src/declarative/util/qmlpropertychanges.cpp index 3cc6ca9..3aa3678 100644 --- a/src/declarative/util/qmlpropertychanges.cpp +++ b/src/declarative/util/qmlpropertychanges.cpp @@ -232,7 +232,7 @@ void QmlPropertyChangesPrivate::decode() ds >> data; QmlMetaProperty prop = property(name); //### better way to check for signal property? - if (prop.type() == QmlMetaProperty::SignalProperty) { + if (prop.type() & QmlMetaProperty::SignalProperty) { QmlExpression *expression = new QmlExpression(qmlContext(q), data.toString(), object); expression->setTrackChange(false); QmlReplaceSignalHandler *handler = new QmlReplaceSignalHandler; @@ -307,7 +307,7 @@ QmlPropertyChangesPrivate::property(const QByteArray &property) if (!prop.isValid()) { qmlInfo(QmlPropertyChanges::tr("Cannot assign to non-existant property \"%1\"").arg(QString::fromUtf8(property)), q); return QmlMetaProperty(); - } else if (prop.type() != QmlMetaProperty::SignalProperty && !prop.isWritable()) { + } else if (!(prop.type() & QmlMetaProperty::SignalProperty) && !prop.isWritable()) { qmlInfo(QmlPropertyChanges::tr("Cannot assign to read-only property \"%1\"").arg(QString::fromUtf8(property)), q); return QmlMetaProperty(); } |