diff --git a/domain-server/src/AssetsBackupHandler.cpp b/domain-server/src/AssetsBackupHandler.cpp index 98ee3ec1b5..c9447351eb 100644 --- a/domain-server/src/AssetsBackupHandler.cpp +++ b/domain-server/src/AssetsBackupHandler.cpp @@ -217,8 +217,11 @@ void AssetsBackupHandler::loadBackup(const QString& backupName, QuaZip& zip) { backup.mappings[assetPath] = assetHash; _assetsInBackups.insert(assetHash); } +} +void AssetsBackupHandler::loadingComplete() { checkForMissingAssets(); + checkForAssetsToDelete(); } void AssetsBackupHandler::createBackup(const QString& backupName, QuaZip& zip) { diff --git a/domain-server/src/AssetsBackupHandler.h b/domain-server/src/AssetsBackupHandler.h index 10aa7c5e7f..d3dd2dda40 100644 --- a/domain-server/src/AssetsBackupHandler.h +++ b/domain-server/src/AssetsBackupHandler.h @@ -35,6 +35,7 @@ public: std::pair getRecoveryStatus() override; void loadBackup(const QString& backupName, QuaZip& zip) override; + void loadingComplete() override; void createBackup(const QString& backupName, QuaZip& zip) override; void recoverBackup(const QString& backupName, QuaZip& zip) override; void deleteBackup(const QString& backupName) override; diff --git a/domain-server/src/BackupHandler.h b/domain-server/src/BackupHandler.h index 1e2450cce4..547339e01b 100644 --- a/domain-server/src/BackupHandler.h +++ b/domain-server/src/BackupHandler.h @@ -28,6 +28,7 @@ public: virtual std::pair getRecoveryStatus() = 0; virtual void loadBackup(const QString& backupName, QuaZip& zip) = 0; + virtual void loadingComplete() = 0; virtual void createBackup(const QString& backupName, QuaZip& zip) = 0; virtual void recoverBackup(const QString& backupName, QuaZip& zip) = 0; virtual void deleteBackup(const QString& backupName) = 0; diff --git a/domain-server/src/ContentSettingsBackupHandler.h b/domain-server/src/ContentSettingsBackupHandler.h index a33fa3ca3f..8454de0786 100644 --- a/domain-server/src/ContentSettingsBackupHandler.h +++ b/domain-server/src/ContentSettingsBackupHandler.h @@ -24,6 +24,8 @@ public: void loadBackup(const QString& backupName, QuaZip& zip) override {} + void loadingComplete() override {} + void createBackup(const QString& backupName, QuaZip& zip) override; void recoverBackup(const QString& backupName, QuaZip& zip) override; diff --git a/domain-server/src/DomainContentBackupManager.cpp b/domain-server/src/DomainContentBackupManager.cpp index f94f62811e..2f7031ea87 100644 --- a/domain-server/src/DomainContentBackupManager.cpp +++ b/domain-server/src/DomainContentBackupManager.cpp @@ -470,6 +470,10 @@ void DomainContentBackupManager::load() { zip.close(); } + + for (auto& handler : _backupHandlers) { + handler->loadingComplete(); + } } void DomainContentBackupManager::backup() { diff --git a/domain-server/src/EntitiesBackupHandler.h b/domain-server/src/EntitiesBackupHandler.h index 802c395b57..d95ad695a8 100644 --- a/domain-server/src/EntitiesBackupHandler.h +++ b/domain-server/src/EntitiesBackupHandler.h @@ -23,6 +23,8 @@ public: void loadBackup(const QString& backupName, QuaZip& zip) override {} + void loadingComplete() override {} + // Create a skeleton backup void createBackup(const QString& backupName, QuaZip& zip) override;