File 0001-FileSystemFreeSpaceJob-emit-error-if-the-kioslave-di.patch of Package kio.openSUSE_Leap_15.2_Update
From 31360df4b52d2894b54291e477b13cfaa621931a Mon Sep 17 00:00:00 2001
From: David Faure <faure@kde.org>
Date: Fri, 19 Jun 2020 01:00:33 +0200
Subject: [PATCH] FileSystemFreeSpaceJob: emit error if the kioslave didn't
provide the metadata
This is part of the upcoming fix for copying from WebDav.
Reviewed by Ben Gruber in https://invent.kde.org/frameworks/kio/-/merge_requests/23.
(cherry picked from commit 3ef79a074c833314db4189c45aa03a8177f79664)
---
src/core/filesystemfreespacejob.cpp | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/core/filesystemfreespacejob.cpp b/src/core/filesystemfreespacejob.cpp
index 17468188..670cff41 100644
--- a/src/core/filesystemfreespacejob.cpp
+++ b/src/core/filesystemfreespacejob.cpp
@@ -67,9 +67,14 @@ void FileSystemFreeSpaceJobPrivate::start(Slave *slave)
void FileSystemFreeSpaceJob::slotFinished()
{
- KIO::filesize_t total = queryMetaData(QStringLiteral("total")).toULongLong();
- KIO::filesize_t available = queryMetaData(QStringLiteral("available")).toULongLong();
+ const QString totalStr = queryMetaData(QStringLiteral("total"));
+ const QString availableStr = queryMetaData(QStringLiteral("available"));
+ if (availableStr.isEmpty()) { // CopyJob only cares for available. "total" is optional
+ setError(KIO::ERR_UNSUPPORTED_ACTION);
+ }
+ const KIO::filesize_t total = totalStr.toULongLong();
+ const KIO::filesize_t available = availableStr.toULongLong();
emit result(this, total, available);
// Return slave to the scheduler
--
2.25.1