summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2020-09-08 08:41:31 +0200
committerSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>2020-09-08 08:42:26 +0200
commitccb6581fbaf7d5b9591598fbd7b1bd15f0a7436f (patch)
tree23273ebf85362986976d7f2662e46019ca7c4f69
parentfix username formatting (diff)
downloadonline-ccb6581fbaf7d5b9591598fbd7b1bd15f0a7436f.tar.gz
online-ccb6581fbaf7d5b9591598fbd7b1bd15f0a7436f.zip
Consider save successful also when doc changed in storage
Ported from master fix 8c602e179e8afe44f2a1fe513bdc7640cd57ed2a Change-Id: Iaf52e950cc635d625c1415754b9d411d0a009927
-rw-r--r--wsd/DocumentBroker.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp
index 3c3ca28bc3..83f942b5de 100644
--- a/wsd/DocumentBroker.cpp
+++ b/wsd/DocumentBroker.cpp
@@ -833,7 +833,10 @@ bool DocumentBroker::saveToStorageInternal(const std::string& sessionId,
assert(_storage && _tileCache);
StorageBase::SaveResult storageSaveResult = _storage->saveLocalFileToStorage(auth, saveAsPath, saveAsFilename);
- _lastStorageSaveSuccessful = storageSaveResult.getResult() == StorageBase::SaveResult::OK;
+ // Storage save is considered successful when either storage returns OK or the document on the storage
+ // was changed and it was used to overwrite local changes
+ _lastStorageSaveSuccessful = storageSaveResult.getResult() == StorageBase::SaveResult::OK ||
+ storageSaveResult.getResult() == StorageBase::SaveResult::DOC_CHANGED;
if (storageSaveResult.getResult() == StorageBase::SaveResult::OK)
{
if (!isSaveAs)