diff --git a/src/libsync/abstractnetworkjob.cpp b/src/libsync/abstractnetworkjob.cpp index 60ac96f99a..e1a654b9ea 100644 --- a/src/libsync/abstractnetworkjob.cpp +++ b/src/libsync/abstractnetworkjob.cpp @@ -265,7 +265,7 @@ QString extractErrorMessage(const QByteArray& errorResponse) } QString exception; - while (!reader.atEnd() && reader.error() == QXmlStreamReader::NoError) { + while (!reader.atEnd() && !reader.hasError()) { reader.readNextStartElement(); if (reader.name() == QLatin1String("message")) { QString message = reader.readElementText(); diff --git a/src/libsync/networkjobs.cpp b/src/libsync/networkjobs.cpp index 58550b2803..09472be877 100644 --- a/src/libsync/networkjobs.cpp +++ b/src/libsync/networkjobs.cpp @@ -558,7 +558,12 @@ bool PropfindJob::finished() } } } - emit result(items); + if (reader.hasError()) { + qDebug() << "PROPFIND request XML parser error: " << reader.errorString(); + emit finishedWithError(reply()); + } else { + emit result(items); + } } else { qDebug() << "PROPFIND request *not* successful, http result code is" << http_result_code << (http_result_code == 302 ? reply()->header(QNetworkRequest::LocationHeader).toString() : QLatin1String(""));