QmlJSObserver: Fix crash when adding an element to some .qml files

Make sure that the 'artifical' URL of the item created actually is
absolute (starts with a file:///). Otherwise an Assert will be hit
when the imports include e.g. a .js file, and the Engine tries to
load it.

Task-number: QTCREATORBUG-2644
Reviewed-by: Olivier Goffart
This commit is contained in:
Kai Koehne
2010-10-07 13:13:05 +02:00
parent 6863a848e9
commit d1175f3ea2
2 changed files with 3 additions and 2 deletions

View File

@@ -363,7 +363,8 @@ void Delta::insert(UiObjectMember *member, UiObjectMember *parentMember, const Q
importList << doc->source().mid(importBegin, importEnd - importBegin);
}
QString filename = doc->fileName() + QLatin1Char('_') + QString::number(doc->editorRevision())
// encode editorRevision, lineNumber in URL. See ClientProxy::buildDebugIdHashRecursive
QString filename = QLatin1String("file://") + doc->fileName() + QLatin1Char('_') + QString::number(doc->editorRevision())
+ QLatin1Char(':') + QString::number(uiObjectDef->firstSourceLocation().startLine-importList.count());
foreach(DebugId debugId, debugReferences) {
if (debugId != -1) {