From 5e34531e326d8f9b67cddd5f5af34265381be0d0 Mon Sep 17 00:00:00 2001 From: "Robert C. Helling" Date: Mon, 23 Nov 2020 17:17:17 +0100 Subject: [PATCH] downloader: wait for download thread Signed-off-by: Robert C. Helling --- cli-downloader.cpp | 1 + qt-models/diveimportedmodel.cpp | 5 +++++ qt-models/diveimportedmodel.h | 1 + 3 files changed, 7 insertions(+) diff --git a/cli-downloader.cpp b/cli-downloader.cpp index 77053c0c7..1cf97f487 100644 --- a/cli-downloader.cpp +++ b/cli-downloader.cpp @@ -36,4 +36,5 @@ void cliDownloader(const char *vendor, const char *product, const char *device) // before we start, remember where the dive_table ended diveImportedModel->startDownload(); + diveImportedModel->waitForDownload(); } diff --git a/qt-models/diveimportedmodel.cpp b/qt-models/diveimportedmodel.cpp index 0e2c07cc6..118b0a419 100644 --- a/qt-models/diveimportedmodel.cpp +++ b/qt-models/diveimportedmodel.cpp @@ -144,6 +144,11 @@ void DiveImportedModel::startDownload() thread.start(); } +void DiveImportedModel::waitForDownload() +{ + thread.wait(); +} + std::tuple DiveImportedModel::consumeTables() { beginResetModel(); diff --git a/qt-models/diveimportedmodel.h b/qt-models/diveimportedmodel.h index f43057d26..adede9220 100644 --- a/qt-models/diveimportedmodel.h +++ b/qt-models/diveimportedmodel.h @@ -28,6 +28,7 @@ public: int numDives() const; Q_INVOKABLE void recordDives(int flags = IMPORT_PREFER_IMPORTED | IMPORT_IS_DOWNLOADED); Q_INVOKABLE void startDownload(); + Q_INVOKABLE void waitForDownload(); DownloadThread thread; public