forked from qt-creator/qt-creator
QmlProfiler: Avoid QtConcurrent
QtConcurrent runs everything on a global thread pool, which means that calls of QtConcurrent::run/map/etc can block each other. Change-Id: Ia7a61b5ae1e0919113205a83a43caa1f27015732 Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
This commit is contained in:
@@ -338,7 +338,7 @@ void QmlProfilerModelManager::save(const QString &filename)
|
||||
|
||||
d->notesModel->saveData();
|
||||
|
||||
QFuture<void> result = QtConcurrent::run<void>([this, file] (QFutureInterface<void> &future) {
|
||||
QFuture<void> result = Utils::runAsync<void>([this, file] (QFutureInterface<void> &future) {
|
||||
QmlProfilerFileWriter writer;
|
||||
writer.setTraceTime(traceTime()->startTime(), traceTime()->endTime(),
|
||||
traceTime()->duration());
|
||||
@@ -367,7 +367,7 @@ void QmlProfilerModelManager::load(const QString &filename)
|
||||
clear();
|
||||
setState(AcquiringData);
|
||||
|
||||
QFuture<void> result = QtConcurrent::run<void>([this, file] (QFutureInterface<void> &future) {
|
||||
QFuture<void> result = Utils::runAsync<void>([this, file] (QFutureInterface<void> &future) {
|
||||
QmlProfilerFileReader reader;
|
||||
reader.setFuture(&future);
|
||||
connect(&reader, &QmlProfilerFileReader::error, this, &QmlProfilerModelManager::error);
|
||||
|
||||
Reference in New Issue
Block a user