forked from qt-creator/qt-creator
AvdDialog: Connect to watcher before setting a future
This fixes the runtime warning: "QFutureWatcher::connect: connecting after calling setFuture() is likely to produce race". Change-Id: I5c54ec10cef6bfd43a905e4e48fea05cb7b49297 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -107,13 +107,13 @@ int AvdDialog::exec()
|
|||||||
|
|
||||||
const AndroidAvdManager avdManager = AndroidAvdManager(m_androidConfig);
|
const AndroidAvdManager avdManager = AndroidAvdManager(m_androidConfig);
|
||||||
QFutureWatcher<CreateAvdInfo> createAvdFutureWatcher;
|
QFutureWatcher<CreateAvdInfo> createAvdFutureWatcher;
|
||||||
createAvdFutureWatcher.setFuture(avdManager.createAvd(result));
|
|
||||||
|
|
||||||
QEventLoop loop;
|
QEventLoop loop;
|
||||||
QObject::connect(&createAvdFutureWatcher, &QFutureWatcher<CreateAvdInfo>::finished,
|
QObject::connect(&createAvdFutureWatcher, &QFutureWatcher<CreateAvdInfo>::finished,
|
||||||
&loop, &QEventLoop::quit);
|
&loop, &QEventLoop::quit);
|
||||||
QObject::connect(&createAvdFutureWatcher, &QFutureWatcher<CreateAvdInfo>::canceled,
|
QObject::connect(&createAvdFutureWatcher, &QFutureWatcher<CreateAvdInfo>::canceled,
|
||||||
&loop, &QEventLoop::quit);
|
&loop, &QEventLoop::quit);
|
||||||
|
createAvdFutureWatcher.setFuture(avdManager.createAvd(result));
|
||||||
loop.exec(QEventLoop::ExcludeUserInputEvents);
|
loop.exec(QEventLoop::ExcludeUserInputEvents);
|
||||||
|
|
||||||
const QFuture<CreateAvdInfo> future = createAvdFutureWatcher.future();
|
const QFuture<CreateAvdInfo> future = createAvdFutureWatcher.future();
|
||||||
|
Reference in New Issue
Block a user