diff --git a/src/plugins/genericprojectmanager/genericprojectnodes.cpp b/src/plugins/genericprojectmanager/genericprojectnodes.cpp index 89b5a683a22d3268ec2bdbd0717f0e96d56a07d7..c411de730da36d26af2b073d4a5f3dc53de383f5 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);