From 85dd10eb9b94393cdfce8a73e82549ffbfbb86e9 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Wed, 14 Nov 2018 10:44:34 +0100 Subject: [PATCH] vfs: Fix dealing with missing vfs instance Maybe there should just be a VfsOff instance to make this less error prone. --- src/gui/folder.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp index bb1c1c880..270223810 100644 --- a/src/gui/folder.cpp +++ b/src/gui/folder.cpp @@ -140,7 +140,8 @@ Folder::Folder(const FolderDefinition &definition, Folder::~Folder() { // TODO cfapi: unregister on wipe()? There should probably be a wipeForRemoval() where this cleanup is appropriate - _vfs->stop(); + if (_vfs) + _vfs->stop(); // Reset then engine first as it will abort and try to access members of the Folder _engine.reset(); @@ -246,7 +247,7 @@ bool Folder::isBusy() const bool Folder::isSyncRunning() const { - return _engine->isSyncRunning() || _vfs->isHydrating(); + return _engine->isSyncRunning() || (_vfs && _vfs->isHydrating()); } QString Folder::remotePath() const @@ -605,6 +606,8 @@ void Folder::setUseVirtualFiles(bool enabled) _saveInFoldersWithPlaceholders = true; } if (!enabled && _definition.virtualFilesMode != Vfs::Off) { + ENFORCE(_vfs); + // TODO: Must wait for current sync to finish! SyncEngine::wipeVirtualFiles(path(), _journal, _vfs); -- 2.30.2