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

openSUSE Build Service is sponsored by