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();
|
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;
|
QmlProfilerFileWriter writer;
|
||||||
writer.setTraceTime(traceTime()->startTime(), traceTime()->endTime(),
|
writer.setTraceTime(traceTime()->startTime(), traceTime()->endTime(),
|
||||||
traceTime()->duration());
|
traceTime()->duration());
|
||||||
@@ -367,7 +367,7 @@ void QmlProfilerModelManager::load(const QString &filename)
|
|||||||
clear();
|
clear();
|
||||||
setState(AcquiringData);
|
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;
|
QmlProfilerFileReader reader;
|
||||||
reader.setFuture(&future);
|
reader.setFuture(&future);
|
||||||
connect(&reader, &QmlProfilerFileReader::error, this, &QmlProfilerModelManager::error);
|
connect(&reader, &QmlProfilerFileReader::error, this, &QmlProfilerModelManager::error);
|
||||||
|
|||||||
Reference in New Issue
Block a user