forked from qt-creator/qt-creator
CMake: Make future-handling in ServerModeReader more robust
Change-Id: Id2fc5487fdfb7619db2eee2439e5636afdc39add Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -148,7 +148,7 @@ void ServerModeReader::parse(bool force)
|
|||||||
return i.toArgument(m_parameters.expander);
|
return i.toArgument(m_parameters.expander);
|
||||||
})));
|
})));
|
||||||
|
|
||||||
m_future = new QFutureInterface<void>();
|
m_future.reset(new QFutureInterface<void>());
|
||||||
m_future->setProgressRange(0, MAX_PROGRESS);
|
m_future->setProgressRange(0, MAX_PROGRESS);
|
||||||
m_progressStepMinimum = 0;
|
m_progressStepMinimum = 0;
|
||||||
m_progressStepMaximum = 1000;
|
m_progressStepMaximum = 1000;
|
||||||
@@ -164,8 +164,7 @@ void ServerModeReader::stop()
|
|||||||
if (m_future) {
|
if (m_future) {
|
||||||
m_future->reportCanceled();
|
m_future->reportCanceled();
|
||||||
m_future->reportFinished();
|
m_future->reportFinished();
|
||||||
delete m_future;
|
m_future.reset();
|
||||||
m_future = nullptr;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -176,7 +175,7 @@ bool ServerModeReader::isReady() const
|
|||||||
|
|
||||||
bool ServerModeReader::isParsing() const
|
bool ServerModeReader::isParsing() const
|
||||||
{
|
{
|
||||||
return false;
|
return static_cast<bool>(m_future);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ServerModeReader::hasData() const
|
bool ServerModeReader::hasData() const
|
||||||
@@ -288,8 +287,7 @@ void ServerModeReader::handleReply(const QVariantMap &data, const QString &inRep
|
|||||||
if (m_future) {
|
if (m_future) {
|
||||||
m_future->setProgressValue(MAX_PROGRESS);
|
m_future->setProgressValue(MAX_PROGRESS);
|
||||||
m_future->reportFinished();
|
m_future->reportFinished();
|
||||||
delete m_future;
|
m_future.reset();
|
||||||
m_future = nullptr;
|
|
||||||
}
|
}
|
||||||
m_hasData = true;
|
m_hasData = true;
|
||||||
emit dataAvailable();
|
emit dataAvailable();
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ private:
|
|||||||
bool m_hasData = false;
|
bool m_hasData = false;
|
||||||
|
|
||||||
std::unique_ptr<ServerMode> m_cmakeServer;
|
std::unique_ptr<ServerMode> m_cmakeServer;
|
||||||
QFutureInterface<void> *m_future = nullptr;
|
std::unique_ptr<QFutureInterface<void>> m_future;
|
||||||
|
|
||||||
int m_progressStepMinimum;
|
int m_progressStepMinimum;
|
||||||
int m_progressStepMaximum;
|
int m_progressStepMaximum;
|
||||||
|
|||||||
Reference in New Issue
Block a user