From 35457f6f2e13ae4807d607bc6e7b304b7577d511 Mon Sep 17 00:00:00 2001 From: Daniel Teske <daniel.teske@digia.com> Date: Mon, 28 Jan 2013 15:12:06 +0100 Subject: [PATCH] Fix crash on renaming files in generic project manager Task-number: QTCREATORBUG-8638 Change-Id: Ie5b9c237459f4e6d503121331a51821cd812bee8 Reviewed-by: Matthias Blaicher <matthias@blaicher.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> --- .../genericprojectmanager/genericprojectnodes.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/plugins/genericprojectmanager/genericprojectnodes.cpp b/src/plugins/genericprojectmanager/genericprojectnodes.cpp index 89b5a683a22..c411de730da 100644 --- a/src/plugins/genericprojectmanager/genericprojectnodes.cpp +++ b/src/plugins/genericprojectmanager/genericprojectnodes.cpp @@ -119,7 +119,9 @@ void GenericProjectNode::refresh(QSet<QString> oldFileList) QString baseDir = QFileInfo(path()).absolutePath(); QHash<QString, QStringList> filesInPaths = sortFilesIntoPaths(baseDir, added); foreach (const QString &filePath, filesInPaths.keys()) { - QStringList components = filePath.split(QLatin1Char('/')); + QStringList components; + if (!filePath.isEmpty()) + components = filePath.split(QLatin1Char('/')); FolderNode *folder = findFolderByName(components, components.size()); if (!folder) folder = createFolderByName(components, components.size()); @@ -136,7 +138,9 @@ void GenericProjectNode::refresh(QSet<QString> oldFileList) filesInPaths = sortFilesIntoPaths(baseDir, removed); foreach (const QString &filePath, filesInPaths.keys()) { - QStringList components = filePath.split(QLatin1Char('/')); + QStringList components; + if (!filePath.isEmpty()) + components = filePath.split(QLatin1Char('/')); FolderNode *folder = findFolderByName(components, components.size()); QList<FileNode *> fileNodes; @@ -176,9 +180,6 @@ FolderNode *GenericProjectNode::createFolderByName(const QStringList &components const QString component = components.at(end - 1); - if (component.isEmpty()) - return this; - const QString baseDir = QFileInfo(path()).path(); FolderNode *folder = new FolderNode(baseDir + QLatin1Char('/') + folderName); folder->setDisplayName(component); -- GitLab