From 960bf5ff919ad1bc69a1ab19948e196d5a336805 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Tue, 4 Jun 2024 17:57:07 +0300 Subject: [PATCH] kioslave: mtp slave root directory stat() fix MTPSlave::getPath() returns a null pair for the root path so pair.first was always null Signed-off-by: Ivailo Monev --- kioslave/mtp/kio_mtp.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/kioslave/mtp/kio_mtp.cpp b/kioslave/mtp/kio_mtp.cpp index dc289829..5aa952e5 100644 --- a/kioslave/mtp/kio_mtp.cpp +++ b/kioslave/mtp/kio_mtp.cpp @@ -216,9 +216,8 @@ int MTPSlave::checkUrl(const KUrl& url, bool redirect) redirection(newUrl); return 1; - } else { - return 2; } + return 2; } else if (url.path().startsWith(QLatin1Char('/'))) { return 0; } @@ -376,16 +375,16 @@ void MTPSlave::stat(const KUrl& url) QPair pair = getPath(url.path()); UDSEntry entry; - if (pair.first) { // Root - if (pathItems.size() < 1) { - entry.insert(UDSEntry::UDS_NAME, QLatin1String("mtp:///")); - entry.insert(UDSEntry::UDS_URL, QLatin1String("mtp:///")); - entry.insert(UDSEntry::UDS_FILE_TYPE, S_IFDIR ); - entry.insert(UDSEntry::UDS_ACCESS, S_IRUSR | S_IRGRP | S_IROTH | S_IXUSR | S_IXGRP | S_IXOTH); - entry.insert(UDSEntry::UDS_MIME_TYPE, QLatin1String("inode/directory")); + if (pathItems.size() < 1) { + entry.insert(UDSEntry::UDS_NAME, QLatin1String("mtp:/")); + entry.insert(UDSEntry::UDS_URL, QLatin1String("mtp:/")); + entry.insert(UDSEntry::UDS_FILE_TYPE, S_IFDIR ); + entry.insert(UDSEntry::UDS_ACCESS, S_IRUSR | S_IRGRP | S_IROTH | S_IXUSR | S_IXGRP | S_IXOTH); + entry.insert(UDSEntry::UDS_MIME_TYPE, QLatin1String("inode/directory")); + } else if (pair.first) { // Device - } else if (pathItems.size() < 2) { + if (pathItems.size() < 2) { getEntry(entry, pair.second, url.url()); // Storage } else if (pathItems.size() < 3) {