diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2021-10-16 23:58:32 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2021-10-20 15:25:57 +0200 |
commit | 19a0f717d4322e58473f4e8aea88521fd158abf6 (patch) | |
tree | 1f1e648e5eec7e08bddaeb896b5ab6c50ba963d5 /kde-apps/kio-extras | |
parent | kde-apps/kio-extras: Fix kio-mtp with >=media-libs/libmtp-1.1.19 (diff) | |
download | gentoo-19a0f717d4322e58473f4e8aea88521fd158abf6.tar.gz gentoo-19a0f717d4322e58473f4e8aea88521fd158abf6.tar.bz2 gentoo-19a0f717d4322e58473f4e8aea88521fd158abf6.zip |
kde-apps/kio-extras: Fix kio_filenamesearch crash
Reported-by: Eric F. Garioud <eric-f.garioud@wanadoo.fr>
Bug: https://bugs.gentoo.org/817008
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-apps/kio-extras')
3 files changed, 134 insertions, 0 deletions
diff --git a/kde-apps/kio-extras/files/kio-extras-21.04.3-kio_filenamesearch-crash.patch b/kde-apps/kio-extras/files/kio-extras-21.04.3-kio_filenamesearch-crash.patch new file mode 100644 index 000000000000..dff398e68a25 --- /dev/null +++ b/kde-apps/kio-extras/files/kio-extras-21.04.3-kio_filenamesearch-crash.patch @@ -0,0 +1,36 @@ +From 5dff395ecea2977cf149c293c16c4d4a5151493b Mon Sep 17 00:00:00 2001 +From: Ahmad Samir <a.samirh78@gmail.com> +Date: Fri, 9 Jul 2021 17:11:02 +0200 +Subject: [PATCH] kio_filenamesearch: fix crash due to KCoreDirLister changes + +Error reporting was changed in KCoreDirlister, to match the original behaviour +we need to explicitly disable auto error handling. + +This fixes a crash while searching in Dolphin, kio_filenamesearch intrenally +uses a dirlister, and a nested event loop, if there is an error while listing +some dir it tries to report it using a job ui delegate, but the parent job +could well be dead by that time, which causes a crash: +"QWidget: Cannot create a QWidget without QApplication" + +Note that this crash only happens if KDE_FORK_SLAVES is _not_ set. + +BUG: 438187 +--- + filenamesearch/kio_filenamesearch.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/filenamesearch/kio_filenamesearch.cpp b/filenamesearch/kio_filenamesearch.cpp +index 4d15aac2..5651a025 100644 +--- a/filenamesearch/kio_filenamesearch.cpp ++++ b/filenamesearch/kio_filenamesearch.cpp +@@ -102,6 +102,7 @@ void FileNameSearchProtocol::searchDirectory(const QUrl &directory, + QScopedPointer<KCoreDirLister> dirLister(new KCoreDirLister); + dirLister->setDelayedMimeTypes(true); + dirLister->openUrl(directory); ++ dirLister->setAutoErrorHandlingEnabled(false); + + QEventLoop eventLoop; + QObject::connect(dirLister.data(), static_cast<void(KCoreDirLister::*)()>(&KCoreDirLister::canceled), +-- +GitLab + diff --git a/kde-apps/kio-extras/kio-extras-21.04.3-r3.ebuild b/kde-apps/kio-extras/kio-extras-21.04.3-r3.ebuild index 8814d0c4cb61..b23dee6554d7 100644 --- a/kde-apps/kio-extras/kio-extras-21.04.3-r3.ebuild +++ b/kde-apps/kio-extras/kio-extras-21.04.3-r3.ebuild @@ -72,6 +72,7 @@ BDEPEND="man? ( dev-util/gperf )" PATCHES=( "${FILESDIR}"/${P}-libmtp-0.1.19.patch + "${FILESDIR}"/${P}-kio_filenamesearch-crash.patch # bug 817008 ) src_prepare() { diff --git a/kde-apps/kio-extras/kio-extras-21.08.2-r1.ebuild b/kde-apps/kio-extras/kio-extras-21.08.2-r1.ebuild new file mode 100644 index 000000000000..79248e2a0404 --- /dev/null +++ b/kde-apps/kio-extras/kio-extras-21.08.2-r1.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_HANDBOOK="forceoptional" +ECM_TEST="optional" +KFMIN=5.84.0 +QTMIN=5.15.2 +VIRTUALX_REQUIRED="test" +inherit ecm kde.org + +DESCRIPTION="KIO plugins present a filesystem-like view of arbitrary data" +HOMEPAGE="https://invent.kde.org/network/kio-extras" + +LICENSE="GPL-2" # TODO: CHECK +SLOT="5" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="activities +man mtp nfs openexr phonon samba +sftp taglib X" + +# requires running Plasma environment +RESTRICT="test" + +DEPEND=" + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtnetwork-${QTMIN}:5 + >=dev-qt/qtsvg-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + >=dev-qt/qtxml-${QTMIN}:5 + >=kde-frameworks/karchive-${KFMIN}:5 + >=kde-frameworks/kbookmarks-${KFMIN}:5 + >=kde-frameworks/kcodecs-${KFMIN}:5 + >=kde-frameworks/kconfig-${KFMIN}:5 + >=kde-frameworks/kconfigwidgets-${KFMIN}:5 + >=kde-frameworks/kcoreaddons-${KFMIN}:5 + >=kde-frameworks/kdbusaddons-${KFMIN}:5 + >=kde-frameworks/kdnssd-${KFMIN}:5 + >=kde-frameworks/kguiaddons-${KFMIN}:5 + >=kde-frameworks/ki18n-${KFMIN}:5 + >=kde-frameworks/kio-${KFMIN}:5 + >=kde-frameworks/kparts-${KFMIN}:5 + >=kde-frameworks/kservice-${KFMIN}:5 + >=kde-frameworks/kxmlgui-${KFMIN}:5 + >=kde-frameworks/solid-${KFMIN}:5 + >=kde-frameworks/syntax-highlighting-${KFMIN}:5 + activities? ( + >=dev-qt/qtsql-${QTMIN}:5 + >=kde-frameworks/kactivities-${KFMIN}:5 + >=kde-frameworks/kactivities-stats-${KFMIN}:5 + ) + mtp? ( >=media-libs/libmtp-1.1.16:= ) + nfs? ( net-libs/libtirpc:= ) + openexr? ( media-libs/openexr:* ) + phonon? ( >=media-libs/phonon-4.11.0 ) + samba? ( + net-fs/samba[client] + net-libs/kdsoap:= + net-libs/kdsoap-ws-discovery-client + ) + sftp? ( net-libs/libssh:=[sftp] ) + taglib? ( >=media-libs/taglib-1.11.1 ) + X? ( + x11-libs/libX11 + x11-libs/libXcursor + ) +" +RDEPEND="${DEPEND} + >=kde-frameworks/kded-${KFMIN}:5 +" +BDEPEND="man? ( dev-util/gperf )" + +PATCHES=( + "${FILESDIR}"/${PN}-21.04.3-kio_filenamesearch-crash.patch # bug 817008 +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package activities KF5Activities) + $(cmake_use_find_package activities KF5ActivitiesStats) + $(cmake_use_find_package activities Qt5Sql) + $(cmake_use_find_package man Gperf) + $(cmake_use_find_package mtp Libmtp) + $(cmake_use_find_package nfs TIRPC) + $(cmake_use_find_package openexr OpenEXR) + $(cmake_use_find_package phonon Phonon4Qt5) + $(cmake_use_find_package samba Samba) + $(cmake_use_find_package sftp libssh) + $(cmake_use_find_package taglib Taglib) + $(cmake_use_find_package X X11) + ) + use samba && mycmakeargs+=( + -DBUILD_KDSoapWSDiscoveryClient=OFF # disable bundled stuff + ) + + ecm_src_configure +} |