summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppfindreferences.h
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@nokia.com>2011-12-20 10:44:13 +0100
committerEike Ziller <eike.ziller@nokia.com>2011-12-20 12:21:34 +0100
commit11907bc0725bb7e2c460edcf143a0e416f375289 (patch)
tree3cd4dd6535e92506baf4e15d6f166844fa72cd94 /src/plugins/cpptools/cppfindreferences.h
parent4de9fd8dac02cf8bbfa696bb8ab77d4df192cbba (diff)
downloadqt-creator-11907bc0725bb7e2c460edcf143a0e416f375289.tar.gz
Fix starting a usage search while another one is running.
Theoretically it could now run multiple searches in parallel, but since a single search grabs all available threads from the pool, any search request afterwards is queued for execution when the previous one finished. Task-number: QTCREATORBUG-6101 Change-Id: Ifada0ccdd1ce7cfb4aaaaa4de2db070025f91a3a Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
Diffstat (limited to 'src/plugins/cpptools/cppfindreferences.h')
-rw-r--r--src/plugins/cpptools/cppfindreferences.h10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/plugins/cpptools/cppfindreferences.h b/src/plugins/cpptools/cppfindreferences.h
index 96dfdb307d..5d08406e7c 100644
--- a/src/plugins/cpptools/cppfindreferences.h
+++ b/src/plugins/cpptools/cppfindreferences.h
@@ -68,9 +68,6 @@ public:
QList<int> references(CPlusPlus::Symbol *symbol, const CPlusPlus::LookupContext &context) const;
-Q_SIGNALS:
- void changed();
-
public:
void findUsages(CPlusPlus::Symbol *symbol, const CPlusPlus::LookupContext &context);
void renameUsages(CPlusPlus::Symbol *symbol, const CPlusPlus::LookupContext &context,
@@ -88,14 +85,15 @@ private Q_SLOTS:
void onReplaceButtonClicked(const QString &text, const QList<Find::SearchResultItem> &items);
private:
- void findAll_helper(CPlusPlus::Symbol *symbol, const CPlusPlus::LookupContext &context);
+ void findAll_helper(Find::SearchResult *search,
+ CPlusPlus::Symbol *symbol, const CPlusPlus::LookupContext &context);
CPlusPlus::DependencyTable dependencyTable() const;
void setDependencyTable(const CPlusPlus::DependencyTable &newTable);
+ void createWatcher(const QFuture<CPlusPlus::Usage> &future, Find::SearchResult *search);
private:
QPointer<CPlusPlus::CppModelManagerInterface> _modelManager;
- QPointer<Find::SearchResult> m_currentSearch;
- QFutureWatcher<CPlusPlus::Usage> m_watcher;
+ QMap<QFutureWatcher<CPlusPlus::Usage> *, QPointer<Find::SearchResult> > m_watchers;
mutable QMutex m_depsLock;
CPlusPlus::DependencyTable m_deps;