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:
Jarek Kobus
2022-07-05 12:15:50 +02:00
parent c67ef789ee
commit c7aa3a9605

View File

@@ -107,13 +107,13 @@ int AvdDialog::exec()
const AndroidAvdManager avdManager = AndroidAvdManager(m_androidConfig);
QFutureWatcher<CreateAvdInfo> createAvdFutureWatcher;
createAvdFutureWatcher.setFuture(avdManager.createAvd(result));
QEventLoop loop;
QObject::connect(&createAvdFutureWatcher, &QFutureWatcher<CreateAvdInfo>::finished,
&loop, &QEventLoop::quit);
QObject::connect(&createAvdFutureWatcher, &QFutureWatcher<CreateAvdInfo>::canceled,
&loop, &QEventLoop::quit);
createAvdFutureWatcher.setFuture(avdManager.createAvd(result));
loop.exec(QEventLoop::ExcludeUserInputEvents);
const QFuture<CreateAvdInfo> future = createAvdFutureWatcher.future();