diff options
author | Robert C. Helling <helling@atdotde.de> | 2020-11-23 17:17:17 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2020-12-03 13:26:55 -0800 |
commit | 5e34531e326d8f9b67cddd5f5af34265381be0d0 (patch) | |
tree | 813b870470bb22e6cfa2b2fdb2cd39d68779840f | |
parent | eac59a79d8e9589ccc3f1c8879478fd1b9502eef (diff) | |
download | subsurface-5e34531e326d8f9b67cddd5f5af34265381be0d0.tar.gz |
downloader: wait for download thread
Signed-off-by: Robert C. Helling <helling@atdotde.de>
-rw-r--r-- | cli-downloader.cpp | 1 | ||||
-rw-r--r-- | qt-models/diveimportedmodel.cpp | 5 | ||||
-rw-r--r-- | qt-models/diveimportedmodel.h | 1 |
3 files changed, 7 insertions, 0 deletions
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<struct dive_table, struct dive_site_table, struct device_table> 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 |