diff options
author | hjk <hjk@qt.io> | 2023-04-04 16:43:44 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2023-04-17 11:05:39 +0000 |
commit | d8de6c88e9deea13b7a95e01c6280882afc490ff (patch) | |
tree | 4db0c77bd6811d5c1b850a4ac54ed9bf28e92458 /src/plugins/compilationdatabaseprojectmanager | |
parent | 6b661ef1bed853acaa5a4006f9ba32a53ac465df (diff) |
Avoid creation of temporary lists of ProjectNodes
Change-Id: Iac84f7f95291fb3b12a071a066d358aaab309c52
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/compilationdatabaseprojectmanager')
-rw-r--r-- | src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp index 49712c32061..ad614e7e23a 100644 --- a/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp +++ b/src/plugins/compilationdatabaseprojectmanager/compilationdatabaseproject.cpp @@ -223,13 +223,10 @@ FolderNode *addChildFolderNode(FolderNode *parent, const QString &childName) FolderNode *addOrGetChildFolderNode(FolderNode *parent, const QString &childName) { - for (FolderNode *folder : parent->folderNodes()) { - if (folder->filePath().fileName() == childName) { - return folder; - } - } - - return addChildFolderNode(parent, childName); + FolderNode *fn = parent->findChildFolderNode([&](FolderNode *folder) { + return folder->filePath().fileName() == childName; + }); + return fn ? fn : addChildFolderNode(parent, childName); } // Return the node for folderPath. |