From bc37d00a81f90dfc9668c631695ff1e115e3e314 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Wed, 20 Feb 2019 21:24:10 +0100 Subject: [PATCH] Stop watcher when unmounting --- src/collection/collection.cpp | 1 + src/collection/collectionwatcher.cpp | 2 ++ src/device/filesystemdevice.cpp | 1 + 3 files changed, 4 insertions(+) diff --git a/src/collection/collection.cpp b/src/collection/collection.cpp index bf7664e4b..8564dd0d6 100644 --- a/src/collection/collection.cpp +++ b/src/collection/collection.cpp @@ -63,6 +63,7 @@ SCollection::SCollection(Application *app, QObject *parent) } SCollection::~SCollection() { + watcher_->Stop(); watcher_->deleteLater(); watcher_thread_->exit(); watcher_thread_->wait(5000 /* five seconds */); diff --git a/src/collection/collectionwatcher.cpp b/src/collection/collectionwatcher.cpp index 74630dae1..110ef372b 100644 --- a/src/collection/collectionwatcher.cpp +++ b/src/collection/collectionwatcher.cpp @@ -684,6 +684,8 @@ QString CollectionWatcher::PickBestImage(const QStringList &images) { QString biggest_path; for (const QString &path : filtered) { + if (stop_requested_) return QString(); + QImage image(path); if (image.isNull()) continue; diff --git a/src/device/filesystemdevice.cpp b/src/device/filesystemdevice.cpp index 0dc19cb52..301005774 100644 --- a/src/device/filesystemdevice.cpp +++ b/src/device/filesystemdevice.cpp @@ -67,6 +67,7 @@ bool FilesystemDevice::Init() { } FilesystemDevice::~FilesystemDevice() { + watcher_->Stop(); watcher_->deleteLater(); watcher_thread_->exit(); watcher_thread_->wait();