From bbdf7bf9550908bf3f4cbf0e64104e8111a6c5b9 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 23 May 2014 18:55:44 +0200 Subject: [PATCH] Check for case clash on downloads. --- src/mirall/propagator_qnam.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/mirall/propagator_qnam.cpp b/src/mirall/propagator_qnam.cpp index 26ddba662f..ebf0381608 100644 --- a/src/mirall/propagator_qnam.cpp +++ b/src/mirall/propagator_qnam.cpp @@ -22,6 +22,7 @@ #include "propagatorjobs.h" #include #include +#include #include namespace Mirall { @@ -430,8 +431,6 @@ void GETFileJob::slotReadyRead() resetTimeout(); } - - void PropagateDownloadFileQNAM::start() { if (_propagator->_abortRequested.fetchAndAddRelaxed(0)) @@ -439,6 +438,13 @@ void PropagateDownloadFileQNAM::start() qDebug() << Q_FUNC_INFO << _item._file << _propagator->_activeJobs; + // do a case clash check. + if( Utility::fsCasePreserving() && _propagator->localFileNameClash(_item._file) ) { + done( SyncFileItem::NormalError, tr("File %1 can not be downloaded because of a local file name clash!") + .arg(QDir::toNativeSeparators(_item._file)) ); + return; + } + emit progress(_item, 0); QString tmpFileName;