diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2010-04-14 07:27:45 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2010-04-14 08:49:19 (GMT) |
commit | 62b264e90a48997e1736d7a335bad99e2c52a50d (patch) | |
tree | 683cd6711510c414566384fba7e1777e703d5390 /src/declarative/qml/qdeclarativecontext.cpp | |
parent | 6ae0b924102384d088c9a7f9b43170cf0d2668bd (diff) | |
download | Qt-62b264e90a48997e1736d7a335bad99e2c52a50d.zip Qt-62b264e90a48997e1736d7a335bad99e2c52a50d.tar.gz Qt-62b264e90a48997e1736d7a335bad99e2c52a50d.tar.bz2 |
Reduce warnings at shutdown
QTBUG-9799
Reviewed-by: Alexis Menard
Diffstat (limited to 'src/declarative/qml/qdeclarativecontext.cpp')
-rw-r--r-- | src/declarative/qml/qdeclarativecontext.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp index 9307bcc..ba4da95 100644 --- a/src/declarative/qml/qdeclarativecontext.cpp +++ b/src/declarative/qml/qdeclarativecontext.cpp @@ -202,6 +202,12 @@ QDeclarativeContext::~QDeclarativeContext() d->data->destroy(); } +bool QDeclarativeContext::isValid() const +{ + Q_D(const QDeclarativeContext); + return d->data && d->data->isValid(); +} + /*! Return the context's QDeclarativeEngine, or 0 if the context has no QDeclarativeEngine or the QDeclarativeEngine was destroyed. @@ -245,6 +251,11 @@ void QDeclarativeContext::setContextObject(QObject *object) return; } + if (!isValid()) { + qWarning("QDeclarativeContext: Cannot set context object on invalid context."); + return; + } + data->contextObject = object; } @@ -264,6 +275,11 @@ void QDeclarativeContext::setContextProperty(const QString &name, const QVariant return; } + if (!isValid()) { + qWarning("QDeclarativeContext: Cannot set property on invalid context."); + return; + } + if (data->engine) { bool ok; QObject *o = QDeclarativeEnginePrivate::get(data->engine)->toQObject(value, &ok); @@ -305,6 +321,11 @@ void QDeclarativeContext::setContextProperty(const QString &name, QObject *value return; } + if (!isValid()) { + qWarning("QDeclarativeContext: Cannot set property on invalid context."); + return; + } + if (!data->propertyNames) data->propertyNames = new QDeclarativeIntegerCache(data->engine); int idx = data->propertyNames->value(name); |