forked from qt-creator/qt-creator
Fix crash when renaming file in file system view
Do not actually rename while iterating through the folders, first test,
rename later.
Fix-up of 0c9c747d92
which looks like it
actually tried to do that, but confused the two method calls.
Fixes: QTCREATORBUG-21741
Change-Id: I779e526e76651b61ffc75be6b4dfce1765bb758b
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
This commit is contained in:
committed by
Robert Loehning
parent
838919e483
commit
8eac37ae76
@@ -203,7 +203,7 @@ static QVector<FolderNode *> renamableFolderNodes(const Utils::FileName &before,
|
|||||||
ProjectTree::forEachNode([&](Node *node) {
|
ProjectTree::forEachNode([&](Node *node) {
|
||||||
if (node->nodeType() == NodeType::File && node->filePath() == before
|
if (node->nodeType() == NodeType::File && node->filePath() == before
|
||||||
&& node->parentFolderNode()
|
&& node->parentFolderNode()
|
||||||
&& node->parentFolderNode()->renameFile(before.toString(), after.toString())) {
|
&& node->parentFolderNode()->canRenameFile(before.toString(), after.toString())) {
|
||||||
folderNodes.append(node->parentFolderNode());
|
folderNodes.append(node->parentFolderNode());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -239,7 +239,7 @@ bool FolderNavigationModel::setData(const QModelIndex &index, const QVariant &va
|
|||||||
Utils::FileName::fromString(afterFilePath));
|
Utils::FileName::fromString(afterFilePath));
|
||||||
QVector<FolderNode *> failedNodes;
|
QVector<FolderNode *> failedNodes;
|
||||||
for (FolderNode *folder : folderNodes) {
|
for (FolderNode *folder : folderNodes) {
|
||||||
if (!folder->canRenameFile(beforeFilePath, afterFilePath))
|
if (!folder->renameFile(beforeFilePath, afterFilePath))
|
||||||
failedNodes.append(folder);
|
failedNodes.append(folder);
|
||||||
}
|
}
|
||||||
if (!failedNodes.isEmpty()) {
|
if (!failedNodes.isEmpty()) {
|
||||||
|
Reference in New Issue
Block a user