Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2013-11-28 13:00:12 +0400
committerOlivier Goffart <ogoffart@woboq.com>2013-11-28 13:01:30 +0400
commitef8fe11f5a0927ae685f2021e244b2a32af60bfd (patch)
tree5750aaada742547d3a61a6129ad3f7e2fa236382 /src
parent30db533cea8c7f36250a4b30d688865b7a1a889d (diff)
Do not write the directory etag in the database in case of soft error
Else we won't retry next time as we think nothing has changed.
Diffstat (limited to 'src')
-rw-r--r--src/mirall/owncloudpropagator.cpp10
-rw-r--r--src/mirall/owncloudpropagator.h4
2 files changed, 7 insertions, 7 deletions
diff --git a/src/mirall/owncloudpropagator.cpp b/src/mirall/owncloudpropagator.cpp
index 2fb00d5a5..92b10fb79 100644
--- a/src/mirall/owncloudpropagator.cpp
+++ b/src/mirall/owncloudpropagator.cpp
@@ -1052,7 +1052,7 @@ void OwncloudPropagator::start(const SyncFileItemVector& _syncedItems)
void PropagateDirectory::start()
{
_current = -1;
- _hasError = false;
+ _hasError = SyncFileItem::NoStatus;
if (!_firstJob) {
proceedNext(SyncFileItem::Success);
} else {
@@ -1065,8 +1065,8 @@ void PropagateDirectory::proceedNext(SyncFileItem::Status status)
if (status == SyncFileItem::FatalError) {
emit finished(status);
return;
- } else if (status == SyncFileItem::NormalError) {
- _hasError = true;
+ } else if (status == SyncFileItem::NormalError || status == SyncFileItem::SoftError) {
+ _hasError = status;
}
_current ++;
@@ -1074,7 +1074,7 @@ void PropagateDirectory::proceedNext(SyncFileItem::Status status)
PropagatorJob *next = _subJobs.at(_current);
startJob(next);
} else {
- if (!_item.isEmpty() && !_hasError) {
+ if (!_item.isEmpty() && _hasError == SyncFileItem::NoStatus) {
if( !_item._renameTarget.isEmpty() ) {
_item._file = _item._renameTarget;
}
@@ -1084,7 +1084,7 @@ void PropagateDirectory::proceedNext(SyncFileItem::Status status)
_propagator->_journal->setFileRecord(record);
}
}
- emit finished(_hasError ? SyncFileItem::NormalError : SyncFileItem::Success);
+ emit finished(_hasError == SyncFileItem::NoStatus ? SyncFileItem::Success : _hasError);
}
}
diff --git a/src/mirall/owncloudpropagator.h b/src/mirall/owncloudpropagator.h
index 99eed0a5c..ddaf3387b 100644
--- a/src/mirall/owncloudpropagator.h
+++ b/src/mirall/owncloudpropagator.h
@@ -62,12 +62,12 @@ public:
SyncFileItem _item;
int _current; // index of the current running job
- bool _hasError; // weather there was an error
+ SyncFileItem::Status _hasError; // NoStatus, or NormalError / SoftError if there was an error
explicit PropagateDirectory(OwncloudPropagator *propagator, const SyncFileItem &item = SyncFileItem())
: PropagatorJob(propagator)
- , _firstJob(0), _item(item), _current(-1), _hasError(false) { }
+ , _firstJob(0), _item(item), _current(-1), _hasError(SyncFileItem::NoStatus) { }
virtual ~PropagateDirectory() {
qDeleteAll(_subJobs);