forked from qt-creator/qt-creator
LanguageClient: clear running progress when resetting client
Otherwise we will have dangling progress bars after a crashed server was restarted. Change-Id: I889d201d7cf196623978638db67397203a8f4564 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -1019,6 +1019,7 @@ bool Client::reset()
|
|||||||
m_runningAssistProcessors.clear();
|
m_runningAssistProcessors.clear();
|
||||||
qDeleteAll(m_documentHighlightsTimer);
|
qDeleteAll(m_documentHighlightsTimer);
|
||||||
m_documentHighlightsTimer.clear();
|
m_documentHighlightsTimer.clear();
|
||||||
|
m_progressManager.reset();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -38,9 +38,7 @@ ProgressManager::ProgressManager()
|
|||||||
|
|
||||||
ProgressManager::~ProgressManager()
|
ProgressManager::~ProgressManager()
|
||||||
{
|
{
|
||||||
const QList<ProgressToken> &tokens = m_progress.keys();
|
reset();
|
||||||
for (const ProgressToken &token : tokens)
|
|
||||||
endProgress(token);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProgressManager::handleProgress(const LanguageServerProtocol::ProgressParams ¶ms)
|
void ProgressManager::handleProgress(const LanguageServerProtocol::ProgressParams ¶ms)
|
||||||
@@ -61,6 +59,13 @@ void ProgressManager::setTitleForToken(const LanguageServerProtocol::ProgressTok
|
|||||||
m_titles.insert(token, message);
|
m_titles.insert(token, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ProgressManager::reset()
|
||||||
|
{
|
||||||
|
const QList<ProgressToken> &tokens = m_progress.keys();
|
||||||
|
for (const ProgressToken &token : tokens)
|
||||||
|
endProgress(token);
|
||||||
|
}
|
||||||
|
|
||||||
bool ProgressManager::isProgressEndMessage(const LanguageServerProtocol::ProgressParams ¶ms)
|
bool ProgressManager::isProgressEndMessage(const LanguageServerProtocol::ProgressParams ¶ms)
|
||||||
{
|
{
|
||||||
return Utils::holds_alternative<WorkDoneProgressEnd>(params.value());
|
return Utils::holds_alternative<WorkDoneProgressEnd>(params.value());
|
||||||
|
@@ -48,6 +48,7 @@ public:
|
|||||||
void handleProgress(const LanguageServerProtocol::ProgressParams ¶ms);
|
void handleProgress(const LanguageServerProtocol::ProgressParams ¶ms);
|
||||||
void setTitleForToken(const LanguageServerProtocol::ProgressToken &token,
|
void setTitleForToken(const LanguageServerProtocol::ProgressToken &token,
|
||||||
const QString &message);
|
const QString &message);
|
||||||
|
void reset();
|
||||||
|
|
||||||
static bool isProgressEndMessage(const LanguageServerProtocol::ProgressParams ¶ms);
|
static bool isProgressEndMessage(const LanguageServerProtocol::ProgressParams ¶ms);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user