From e8960b9bd3895bf13a117c833ff3cfcc6655cbf5 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Mon, 5 Dec 2016 15:19:39 +0100 Subject: [PATCH] Clang: Connect alive timer You had to set the no alive timer environment variable. Change-Id: I1994087a68d8293963f9f48fa1632f7c6822b146 Reviewed-by: Tim Jenssen --- .../clangrefactoring/clangrefactoringplugin.cpp | 2 ++ src/plugins/clangrefactoring/refactoringclient.cpp | 10 +++++++++- src/plugins/clangrefactoring/refactoringclient.h | 3 +++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/plugins/clangrefactoring/clangrefactoringplugin.cpp b/src/plugins/clangrefactoring/clangrefactoringplugin.cpp index 1b35afe8948..921cc240053 100644 --- a/src/plugins/clangrefactoring/clangrefactoringplugin.cpp +++ b/src/plugins/clangrefactoring/clangrefactoringplugin.cpp @@ -73,6 +73,7 @@ bool ClangRefactoringPlugin::initialize(const QStringList & /*arguments*/, QStri d.reset(new ClangRefactoringPluginData); d->refactoringClient.setRefactoringEngine(&d->engine); + d->refactoringClient.setRefactoringConnectionClient(&d->connectionClient); ExtensionSystem::PluginManager::addObject(&d->qtCreatorfindFilter); connectBackend(); @@ -89,6 +90,7 @@ void ClangRefactoringPlugin::extensionsInitialized() ExtensionSystem::IPlugin::ShutdownFlag ClangRefactoringPlugin::aboutToShutdown() { ExtensionSystem::PluginManager::removeObject(&d->qtCreatorfindFilter); + d->refactoringClient.setRefactoringConnectionClient(nullptr); d->refactoringClient.setRefactoringEngine(nullptr); d.reset(); diff --git a/src/plugins/clangrefactoring/refactoringclient.cpp b/src/plugins/clangrefactoring/refactoringclient.cpp index 4fabb1759cb..83b058d6263 100644 --- a/src/plugins/clangrefactoring/refactoringclient.cpp +++ b/src/plugins/clangrefactoring/refactoringclient.cpp @@ -25,6 +25,7 @@ #include "refactoringclient.h" +#include #include #include @@ -32,7 +33,8 @@ namespace ClangRefactoring { void RefactoringClient::alive() { - + if (connectionClient) + connectionClient->resetProcessAliveTimer(); } void RefactoringClient::sourceLocationsForRenamingMessage( @@ -96,6 +98,12 @@ uint RefactoringClient::resultCounter() const return resultCounter_; } +void RefactoringClient::setRefactoringConnectionClient( + ClangBackEnd::RefactoringConnectionClient *connectionClient) +{ + this->connectionClient = connectionClient; +} + namespace { Utils::SmallString concatenateFilePath(const ClangBackEnd::FilePath &filePath) diff --git a/src/plugins/clangrefactoring/refactoringclient.h b/src/plugins/clangrefactoring/refactoringclient.h index c1de5fff312..22a13c1a124 100644 --- a/src/plugins/clangrefactoring/refactoringclient.h +++ b/src/plugins/clangrefactoring/refactoringclient.h @@ -35,6 +35,7 @@ namespace ClangBackEnd { class FilePath; +class RefactoringConnectionClient; class SourceRangesContainer; class SourceRangeWithTextContainer; } @@ -65,6 +66,7 @@ public: uint expectedResultCount() const; uint resultCounter() const; + void setRefactoringConnectionClient(ClangBackEnd::RefactoringConnectionClient *connectionClient); UNIT_TEST_PUBLIC: void addSearchResult(const ClangBackEnd::SourceRangeWithTextContainer &sourceRange, @@ -78,6 +80,7 @@ private: private: CppTools::RefactoringEngineInterface::RenameCallback localRenamingCallback; + ClangBackEnd::RefactoringConnectionClient *connectionClient = nullptr; ClangRefactoring::SearchHandle *searchHandle_ = nullptr; ClangRefactoring::RefactoringEngine *refactoringEngine = nullptr; uint expectedResultCount_ = 0;