forked from qt-creator/qt-creator
Do QFutureWatcher::setFuture() after connecting to watcher's signals
Otherwise we may have race condition. Reference: documentation for QFutureWatcher::setFuture() and the implementation of QFutureInterfaceBasePrivate::connectOutputInterface( QFutureCallOutInterface *interface). Change-Id: I5b483baaf1b844871a162f47ce7683e9ff495acb Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -75,9 +75,9 @@ void SimulatorOperationDialog::addFutures(const QList<QFuture<void> > &futureLis
|
||||
foreach (auto future, futureList) {
|
||||
if (!future.isFinished() || !future.isCanceled()) {
|
||||
auto watcher = new QFutureWatcher<void>;
|
||||
watcher->setFuture(future);
|
||||
connect(watcher, &QFutureWatcher<void>::finished,
|
||||
this, &SimulatorOperationDialog::futureFinished);
|
||||
watcher->setFuture(future);
|
||||
m_futureWatchList << watcher;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user