diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2023-03-26 11:28:59 +0200 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2023-03-26 11:50:04 +0200 |
commit | b54d47c394ba378ca50df729688e5f0890466783 (patch) | |
tree | d30803bc8bef363bd00a0dd1edb23658dc3b0744 /kde-frameworks/kio | |
parent | kde-frameworks/baloo: drop 5.104.0 (diff) | |
download | gentoo-b54d47c394ba378ca50df729688e5f0890466783.tar.gz gentoo-b54d47c394ba378ca50df729688e5f0890466783.tar.bz2 gentoo-b54d47c394ba378ca50df729688e5f0890466783.zip |
kde-frameworks/kio: CommandLauncher: call emitResult() as soon as
...process has started
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=466359
Bug: https://bugs.gentoo.org/899706
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-frameworks/kio')
-rw-r--r-- | kde-frameworks/kio/files/kio-5.104.0-fix-kstart5-not-returning.patch | 78 | ||||
-rw-r--r-- | kde-frameworks/kio/kio-5.104.0-r3.ebuild | 95 |
2 files changed, 173 insertions, 0 deletions
diff --git a/kde-frameworks/kio/files/kio-5.104.0-fix-kstart5-not-returning.patch b/kde-frameworks/kio/files/kio-5.104.0-fix-kstart5-not-returning.patch new file mode 100644 index 000000000000..53df9fcc0a62 --- /dev/null +++ b/kde-frameworks/kio/files/kio-5.104.0-fix-kstart5-not-returning.patch @@ -0,0 +1,78 @@ +From fea052ba369e474a092516a4717556b52ff92e00 Mon Sep 17 00:00:00 2001 +From: Thenujan Sandramohan <sthenujan2002@gmail.com> +Date: Fri, 24 Mar 2023 22:33:19 +0000 +Subject: [PATCH] CommandLauncher: call emitResult() as soon as process has + started + +This MR makes `emitResult` get called as soon as the process has started instead of when the process has ended. It also changes `emitDelayedError` as a protected member of `KProcessRunner` to make it invokable by `ForkingProcessRunner`. It also removes `processFinished` signal as it's not used anymore. + +BUG: 466359 +--- + src/gui/commandlauncherjob.cpp | 2 -- + src/gui/kprocessrunner.cpp | 3 +-- + src/gui/kprocessrunner_p.h | 7 +------ + 3 files changed, 2 insertions(+), 10 deletions(-) + +diff --git a/src/gui/commandlauncherjob.cpp b/src/gui/commandlauncherjob.cpp +index c82a8ef56e..06deede116 100644 +--- a/src/gui/commandlauncherjob.cpp ++++ b/src/gui/commandlauncherjob.cpp +@@ -143,8 +143,6 @@ void KIO::CommandLauncherJob::start() + }); + connect(d->m_processRunner, &KProcessRunner::processStarted, this, [this](qint64 pid) { + d->m_pid = pid; +- }); +- connect(d->m_processRunner, &KProcessRunner::processFinished, this, [this]() { + emitResult(); + }); + } +diff --git a/src/gui/kprocessrunner.cpp b/src/gui/kprocessrunner.cpp +index 232b0e4caa..b97079c240 100644 +--- a/src/gui/kprocessrunner.cpp ++++ b/src/gui/kprocessrunner.cpp +@@ -472,9 +472,8 @@ void ForkingProcessRunner::slotProcessExited(int exitCode, QProcess::ExitStatus + if (exitCode == 9009) { + #endif + const QStringList args = m_cmd.split(QLatin1Char(' ')); +- Q_EMIT error(xi18nc("@info", "The command <command>%1</command> could not be found.", args[0])); ++ emitDelayedError(xi18nc("@info", "The command <command>%1</command> could not be found.", args[0])); + } +- Q_EMIT processFinished(); + } + + // This code is also used in klauncher (and KRun). +diff --git a/src/gui/kprocessrunner_p.h b/src/gui/kprocessrunner_p.h +index 84973547c6..65df04b073 100644 +--- a/src/gui/kprocessrunner_p.h ++++ b/src/gui/kprocessrunner_p.h +@@ -120,11 +120,6 @@ Q_SIGNALS: + */ + void processStarted(qint64 pid); + +- /** +- * @brief emitted when the process was finished +- */ +- void processFinished(); +- + /** + * Notifies about having received the token were waiting for. + * +@@ -142,6 +137,7 @@ protected: + QString name() const; + QString maybeAliasedName(const QString &pattern) const; + static QString escapeUnitName(const QString &input); ++ void emitDelayedError(const QString &errorMsg); + + std::unique_ptr<KProcess> m_process; + QString m_executable; // can be a full path +@@ -157,7 +153,6 @@ protected: + KStartupInfoId m_startupId; + + private: +- void emitDelayedError(const QString &errorMsg); + void initFromDesktopName(const QString &desktopName, + const QString &execName, + const QString &iconName, +-- +GitLab + diff --git a/kde-frameworks/kio/kio-5.104.0-r3.ebuild b/kde-frameworks/kio/kio-5.104.0-r3.ebuild new file mode 100644 index 000000000000..5be2f39055e0 --- /dev/null +++ b/kde-frameworks/kio/kio-5.104.0-r3.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_DESIGNERPLUGIN="true" +ECM_TEST="forceoptional" +PVCUT=$(ver_cut 1-2) +QTMIN=5.15.5 +VIRTUALX_REQUIRED="test" +inherit ecm frameworks.kde.org xdg-utils + +DESCRIPTION="Framework providing transparent file and data management" + +LICENSE="LGPL-2+" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="acl +handbook kerberos +kwallet X" + +# tests hang +RESTRICT="test" + +RDEPEND=" + dev-libs/libxml2 + dev-libs/libxslt + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtdeclarative-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtnetwork-${QTMIN}:5[ssl] + >=dev-qt/qtwidgets-${QTMIN}:5 + >=dev-qt/qtxml-${QTMIN}:5 + =kde-frameworks/kauth-${PVCUT}*:5 + =kde-frameworks/karchive-${PVCUT}*:5 + =kde-frameworks/kbookmarks-${PVCUT}*:5 + =kde-frameworks/kcodecs-${PVCUT}*:5 + =kde-frameworks/kcompletion-${PVCUT}*:5 + =kde-frameworks/kconfig-${PVCUT}*:5 + =kde-frameworks/kconfigwidgets-${PVCUT}*:5 + =kde-frameworks/kcoreaddons-${PVCUT}*:5 + =kde-frameworks/kcrash-${PVCUT}*:5 + =kde-frameworks/kdbusaddons-${PVCUT}*:5 + =kde-frameworks/kguiaddons-${PVCUT}*:5 + =kde-frameworks/ki18n-${PVCUT}*:5 + =kde-frameworks/kiconthemes-${PVCUT}*:5 + =kde-frameworks/kitemviews-${PVCUT}*:5 + =kde-frameworks/kjobwidgets-${PVCUT}*:5 + =kde-frameworks/knotifications-${PVCUT}*:5 + =kde-frameworks/kservice-${PVCUT}*:5 + =kde-frameworks/ktextwidgets-${PVCUT}*:5 + =kde-frameworks/kwidgetsaddons-${PVCUT}*:5 + =kde-frameworks/kwindowsystem-${PVCUT}*:5[X?] + =kde-frameworks/kxmlgui-${PVCUT}*:5 + =kde-frameworks/solid-${PVCUT}*:5 + acl? ( + sys-apps/attr + virtual/acl + ) + handbook? ( =kde-frameworks/kdoctools-${PVCUT}*:5 ) + kerberos? ( virtual/krb5 ) + kwallet? ( =kde-frameworks/kwallet-${PVCUT}*:5 ) + X? ( >=dev-qt/qtx11extras-${QTMIN}:5 ) +" +DEPEND="${RDEPEND} + >=dev-qt/qtconcurrent-${QTMIN}:5 + test? ( sys-libs/zlib ) +" +PDEPEND=">=kde-frameworks/kded-${PVCUT}:5" + +PATCHES=( + "${FILESDIR}/${P}-renamefiledialog-fix-number-limit.patch" # KDE-bug 466636 + "${FILESDIR}/${P}-handle-copy_file_range-failing-w-ENOENT.patch" # bug 885793 + "${FILESDIR}/${P}-fix-kstart5-not-returning.patch" # KDE-bug 466359 +) + +src_configure() { + local mycmakeargs=( + -DKIO_NO_PUBLIC_QTCONCURRENT=ON + $(cmake_use_find_package acl ACL) + $(cmake_use_find_package handbook KF5DocTools) + $(cmake_use_find_package kerberos GSSAPI) + $(cmake_use_find_package kwallet KF5Wallet) + -DWITH_X11=$(usex X) + ) + + ecm_src_configure +} + +pkg_postinst() { + ecm_pkg_postinst + xdg_desktop_database_update +} + +pkg_postrm() { + ecm_pkg_postrm + xdg_desktop_database_update +} |