Fix some deadlocks when exiting app while updating feeds etc.
This commit is contained in:
parent
13bb985dd2
commit
729b8d4a9b
@ -44,8 +44,6 @@ FeedDownloader::~FeedDownloader() {
|
||||
}
|
||||
|
||||
bool FeedDownloader::isUpdateRunning() const {
|
||||
QMutexLocker locker(m_mutex);
|
||||
|
||||
return !m_feeds.isEmpty() || m_feedsUpdating > 0;
|
||||
}
|
||||
|
||||
|
@ -207,6 +207,12 @@ void FeedReader::stop() {
|
||||
if (m_feedDownloaderThread != nullptr && m_feedDownloaderThread->isRunning()) {
|
||||
m_feedDownloader->stopRunningUpdate();
|
||||
|
||||
if (m_feedDownloader->isUpdateRunning()) {
|
||||
QEventLoop loop(this);
|
||||
connect(m_feedDownloader, &FeedDownloader::updateFinished, &loop, &QEventLoop::quit);
|
||||
loop.exec();
|
||||
}
|
||||
|
||||
qDebug("Quitting feed downloader thread.");
|
||||
m_feedDownloaderThread->quit();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user