diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2014-05-27 17:05:38 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-06-02 11:46:44 +0200 |
commit | d79628572eb4f89f243742394622007e2a27d0a8 (patch) | |
tree | 84a314345524a5a39bf5a4b07e82d8f4cea131f3 /src/lib/corelib/api | |
parent | 5c388a1e76e03e5afe30c7b5aa18ad272cba2e49 (diff) |
Fix "Add Files" functionality.
This was broken for the case of a product with no existing binding, even
accessing a null pointer. This is also covered by the autotest now.
Change-Id: I088dbac08627b08f903dbe77bd824997592adb09
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/lib/corelib/api')
-rw-r--r-- | src/lib/corelib/api/projectfileupdater.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/corelib/api/projectfileupdater.cpp b/src/lib/corelib/api/projectfileupdater.cpp index e7d879b28..c792dc806 100644 --- a/src/lib/corelib/api/projectfileupdater.cpp +++ b/src/lib/corelib/api/projectfileupdater.cpp @@ -323,9 +323,10 @@ void ProjectFileFilesAdder::doApply(QString &fileContent, UiProgram *ast) Rewriter::ScriptBinding); } - setLineOffset(getLineOffsetForChangedBinding(changeSet, getNodeRepresentation(fileContent, - filesBinding->statement))); - const int insertionLine = getBindingLine(changeSet, fileContent) + 1; + setLineOffset(getLineOffsetForChangedBinding(changeSet, + filesBinding ? getNodeRepresentation(fileContent, filesBinding->statement) + : QString())); + const int insertionLine = getBindingLine(changeSet, fileContent); const int insertionColumn = (filesBinding ? arrayElemIndentation : bindingIndentation) + 1; setItemPosition(CodeLocation(projectFile(), insertionLine, insertionColumn)); changeSet.apply(&fileContent); |