diff options
author | Eike Ziller <eike.ziller@nokia.com> | 2011-12-20 10:44:13 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@nokia.com> | 2011-12-20 12:21:34 +0100 |
commit | 11907bc0725bb7e2c460edcf143a0e416f375289 (patch) | |
tree | 3cd4dd6535e92506baf4e15d6f166844fa72cd94 /src/plugins/cpptools/cppfindreferences.h | |
parent | 4de9fd8dac02cf8bbfa696bb8ab77d4df192cbba (diff) | |
download | qt-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.h | 10 |
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; |