diff options
author | Martin Jones <martin.jones@nokia.com> | 2009-05-12 02:08:25 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2009-05-12 02:08:25 (GMT) |
commit | 8d90fe1e4a3d50b64cff84ac10bfa2e6a17a35b9 (patch) | |
tree | 97a1a6a46338dbe0241ae08901969eb75172c101 /src/declarative | |
parent | bfccf0ab1190031de3e2bc5c47df3520fb15e90c (diff) | |
parent | 7c0960a479a250d4c6b46d6fe094ab93564e515b (diff) | |
download | Qt-8d90fe1e4a3d50b64cff84ac10bfa2e6a17a35b9.zip Qt-8d90fe1e4a3d50b64cff84ac10bfa2e6a17a35b9.tar.gz Qt-8d90fe1e4a3d50b64cff84ac10bfa2e6a17a35b9.tar.bz2 |
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'src/declarative')
-rw-r--r-- | src/declarative/qml/qmlcompiler.cpp | 2 | ||||
-rw-r--r-- | src/declarative/qml/qmlcompositetypemanager.cpp | 14 | ||||
-rw-r--r-- | src/declarative/qml/qmlcompositetypemanager_p.h | 6 | ||||
-rw-r--r-- | src/declarative/qml/qmlvme.cpp | 7 |
4 files changed, 26 insertions, 3 deletions
diff --git a/src/declarative/qml/qmlcompiler.cpp b/src/declarative/qml/qmlcompiler.cpp index 8e279a5..f17b50d 100644 --- a/src/declarative/qml/qmlcompiler.cpp +++ b/src/declarative/qml/qmlcompiler.cpp @@ -445,6 +445,7 @@ void QmlCompiler::reset(QmlCompiledComponent *cc, bool deleteMemory) exceptionColumn = token->location.start.column; \ QDebug d(&exceptionDescription); \ d << desc; \ + exceptionDescription = exceptionDescription.trimmed(); \ return false; \ } @@ -454,6 +455,7 @@ void QmlCompiler::reset(QmlCompiledComponent *cc, bool deleteMemory) exceptionColumn = obj->location.start.column; \ QDebug d(&exceptionDescription); \ d << desc; \ + exceptionDescription = exceptionDescription.trimmed(); \ return false; \ } diff --git a/src/declarative/qml/qmlcompositetypemanager.cpp b/src/declarative/qml/qmlcompositetypemanager.cpp index fbe40bf..f646ca9 100644 --- a/src/declarative/qml/qmlcompositetypemanager.cpp +++ b/src/declarative/qml/qmlcompositetypemanager.cpp @@ -51,7 +51,7 @@ #include <private/qmlcomponent_p.h> QmlCompositeTypeData::QmlCompositeTypeData() -: status(Invalid), component(0), compiledComponent(0) +: status(Invalid), errorType(NoError), component(0), compiledComponent(0) { } @@ -190,6 +190,7 @@ void QmlCompositeTypeManager::replyFinished() // ### FIXME QmlError error; error.setDescription(errorDescription); + unit->errorType = QmlCompositeTypeData::AccessError; unit->errors << error; doComplete(unit); @@ -220,6 +221,7 @@ void QmlCompositeTypeManager::loadSource(QmlCompositeTypeData *unit) // ### FIXME QmlError error; error.setDescription(errorDescription); + unit->errorType = QmlCompositeTypeData::AccessError; unit->errors << error; doComplete(unit); } @@ -239,6 +241,7 @@ void QmlCompositeTypeManager::setData(QmlCompositeTypeData *unit, if (!unit->data.parse(data, url)) { unit->status = QmlCompositeTypeData::Error; + unit->errorType = QmlCompositeTypeData::GeneralError; unit->errors << unit->data.errors(); doComplete(unit); @@ -339,7 +342,14 @@ void QmlCompositeTypeManager::compile(QmlCompositeTypeData *unit) case QmlCompositeTypeData::Invalid: case QmlCompositeTypeData::Error: unit->status = QmlCompositeTypeData::Error; - unit->errors = urlUnit->errors; + { + QmlError error; + error.setUrl(unit->url); + error.setDescription("Type " + type + " unavailable"); + unit->errors << error; + } + if (urlUnit->errorType != QmlCompositeTypeData::AccessError) + unit->errors << urlUnit->errors; doComplete(unit); return; diff --git a/src/declarative/qml/qmlcompositetypemanager_p.h b/src/declarative/qml/qmlcompositetypemanager_p.h index e4028d5..c12dedc 100644 --- a/src/declarative/qml/qmlcompositetypemanager_p.h +++ b/src/declarative/qml/qmlcompositetypemanager_p.h @@ -66,6 +66,12 @@ struct QmlCompositeTypeData : public QmlRefCount Waiting }; Status status; + enum ErrorType { + NoError, + AccessError, + GeneralError + }; + ErrorType errorType; QList<QmlError> errors; diff --git a/src/declarative/qml/qmlvme.cpp b/src/declarative/qml/qmlvme.cpp index 5e0f257..794c836 100644 --- a/src/declarative/qml/qmlvme.cpp +++ b/src/declarative/qml/qmlvme.cpp @@ -181,6 +181,7 @@ QmlVME::QmlVME() QString str; \ QDebug d(&str); \ d << desc; \ + str = str.trimmed(); \ QmlError error; \ error.setDescription(str); \ error.setLine(instr.line); \ @@ -860,7 +861,11 @@ QObject *QmlVME::run(QmlContext *ctxt, QmlCompiledComponent *comp, int start, in } else { - VME_EXCEPTION("Cannot assign to non-existant property" << property); + if (instr.assignObject.property == -1) { + VME_EXCEPTION("Cannot assign to default property"); + } else { + VME_EXCEPTION("Cannot assign to non-existant property" << property); + } } } |