summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-frameworks/kio/files/kio-5.82.0-MimeTypeFinderJob-memleak-1.patch')
-rw-r--r--kde-frameworks/kio/files/kio-5.82.0-MimeTypeFinderJob-memleak-1.patch69
1 files changed, 0 insertions, 69 deletions
diff --git a/kde-frameworks/kio/files/kio-5.82.0-MimeTypeFinderJob-memleak-1.patch b/kde-frameworks/kio/files/kio-5.82.0-MimeTypeFinderJob-memleak-1.patch
deleted file mode 100644
index 08d72d754d70..000000000000
--- a/kde-frameworks/kio/files/kio-5.82.0-MimeTypeFinderJob-memleak-1.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From e79da836c34fce66231e396c7215314d0eba51b4 Mon Sep 17 00:00:00 2001
-From: Jonathan Marten <jjm@keelhaul.me.uk>
-Date: Sat, 8 May 2021 15:20:39 +0000
-Subject: [PATCH] MimeTypeFinderJob: Resolve symlinks for a local file
-
----
- autotests/mimetypefinderjobtest.cpp | 18 +++++++++++++++++-
- src/core/mimetypefinderjob.cpp | 2 +-
- 2 files changed, 18 insertions(+), 2 deletions(-)
-
-diff --git a/autotests/mimetypefinderjobtest.cpp b/autotests/mimetypefinderjobtest.cpp
-index 72296b9b8..f494ff3b6 100644
---- a/autotests/mimetypefinderjobtest.cpp
-+++ b/autotests/mimetypefinderjobtest.cpp
-@@ -48,6 +48,7 @@ void MimeTypeFinderJobTest::determineMimeType_data()
- QTest::newRow("text_file_no_extension") << "text/plain" << "srcfile";
- QTest::newRow("desktop_file") << "application/x-desktop" << "foo.desktop";
- QTest::newRow("script") << "application/x-shellscript" << "srcfile.sh";
-+ QTest::newRow("directory") << "inode/directory" << "srcdir";
- /* clang-format on */
- }
-
-@@ -60,7 +61,12 @@ void MimeTypeFinderJobTest::determineMimeType()
- QTemporaryDir tempDir;
- const QString srcDir = tempDir.path();
- const QString srcFile = srcDir + QLatin1Char('/') + fileName;
-- createSrcFile(srcFile);
-+ if (mimeType == "inode/directory") {
-+ QVERIFY(QDir(srcDir).mkdir(fileName));
-+ } else {
-+ createSrcFile(srcFile);
-+ }
-+
- QVERIFY(QFile::exists(srcFile));
- const QUrl url = QUrl::fromLocalFile(srcFile);
-
-@@ -68,6 +74,16 @@ void MimeTypeFinderJobTest::determineMimeType()
- KIO::MimeTypeFinderJob *job = new KIO::MimeTypeFinderJob(url, this);
- QVERIFY2(job->exec(), qPrintable(job->errorString()));
- QCOMPARE(job->mimeType(), mimeType);
-+
-+ // Check that the result is the same when accessing the source
-+ // file through a symbolic link (bug #436708)
-+ const QString srcLink = srcDir + QLatin1String("/link_") + fileName;
-+ QVERIFY(QFile::link(srcFile, srcLink));
-+ const QUrl linkUrl = QUrl::fromLocalFile(srcLink);
-+
-+ job = new KIO::MimeTypeFinderJob(linkUrl, this);
-+ QVERIFY2(job->exec(), qPrintable(job->errorString()));
-+ QCOMPARE(job->mimeType(), mimeType);
- }
-
- void MimeTypeFinderJobTest::invalidUrl()
-diff --git a/src/core/mimetypefinderjob.cpp b/src/core/mimetypefinderjob.cpp
-index f5e50cdc4..48fc8c289 100644
---- a/src/core/mimetypefinderjob.cpp
-+++ b/src/core/mimetypefinderjob.cpp
-@@ -122,7 +122,7 @@ void KIO::MimeTypeFinderJobPrivate::statFile()
- {
- Q_ASSERT(m_mimeTypeName.isEmpty());
-
-- KIO::StatJob *job = KIO::statDetails(m_url, KIO::StatJob::SourceSide, KIO::StatBasic, KIO::HideProgressInfo);
-+ KIO::StatJob *job = KIO::statDetails(m_url, KIO::StatJob::SourceSide, KIO::StatBasic | KIO::StatResolveSymlink, KIO::HideProgressInfo);
- if (!m_authPrompts) {
- job->addMetaData(QStringLiteral("no-auth-prompt"), QStringLiteral("true"));
- }
---
-GitLab
-