[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [KDevelop] 4add9eb: optimize: remove existing entries from the list an
From: Milian Wolff <mail () milianw ! de>
Date: 2010-12-14 22:43:12
Message-ID: 20101214224312.25D09A60B0 () git ! kde ! org
[Download RAW message or body]
commit 4add9eb41f6510b48a1ef13faf434ec5ce288b00
branch master
Author: Milian Wolff <mail@milianw.de>
Date: Tue Dec 14 23:41:37 2010 +0100
optimize: remove existing entries from the list and don't call potentially slow \
hasFileOrfolder over and over again on them
diff --git a/projectmanagers/cmake/cmakemanager.cpp \
b/projectmanagers/cmake/cmakemanager.cpp index 4de7899..ba95138 100644
--- a/projectmanagers/cmake/cmakemanager.cpp
+++ b/projectmanagers/cmake/cmakemanager.cpp
@@ -847,12 +847,14 @@ void CMakeManager::reloadFiles(ProjectFolderItem* item)
{
qDeleteAll(item->project()->itemsForUrl(fileurl));
}
- else if(it->url()!=fileurl) {
- it->setUrl(fileurl);
- ProjectFolderItem* folder = it->folder();
-
- if(folder)
- reloadFiles(folder);
+ else {
+ if(it->url()!=fileurl) {
+ it->setUrl(fileurl);
+ if(ProjectFolderItem* folder = it->folder())
+ reloadFiles(folder);
+ }
+ // reduce amount of checks done when looking for new items
+ entries.remove(current);
}
}
@@ -861,12 +863,11 @@ void CMakeManager::reloadFiles(ProjectFolderItem* item)
{
KUrl fileurl = folderurl;
fileurl.addPath( entry );
-
- if( item->hasFileOrFolder( entry ) )
- {
- continue;
- }
- else if( QFileInfo( fileurl.toLocalFile() ).isDir() )
+
+ // existing entries should have been removed above already
+ Q_ASSERT( !item->hasFileOrFolder( entry ) );
+
+ if( QFileInfo( fileurl.toLocalFile() ).isDir() )
{
fileurl.adjustPath(KUrl::AddTrailingSlash);
ProjectFolderItem* pendingfolder = m_pending.take(fileurl);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic