diff options
author | Maciej Mrozowski <reavertm@gentoo.org> | 2023-05-13 23:27:48 +0200 |
---|---|---|
committer | Maciej Mrozowski <reavertm@gentoo.org> | 2023-05-13 23:29:56 +0200 |
commit | 0f40b12d3f5d6182cf7b74cebdfaacb0051d11e8 (patch) | |
tree | aea91ec96906fe8e3415f76415b15790bde45a66 /kde-apps/dolphin | |
parent | app-office/libreoffice-l10n: drop 7.3.7.2 (diff) | |
download | gentoo-0f40b12d3f5d6182cf7b74cebdfaacb0051d11e8.tar.gz gentoo-0f40b12d3f5d6182cf7b74cebdfaacb0051d11e8.tar.bz2 gentoo-0f40b12d3f5d6182cf7b74cebdfaacb0051d11e8.zip |
kde-apps/dolphin: revert upstream commit in 23.04.1 that introduces startup delay with USE=-activities
Signed-off-by: Maciej Mrozowski <reavertm@gentoo.org>
Bug: https://bugs.gentoo.org/906170
Diffstat (limited to 'kde-apps/dolphin')
-rw-r--r-- | kde-apps/dolphin/dolphin-23.04.1.ebuild | 4 | ||||
-rw-r--r-- | kde-apps/dolphin/files/dolphin-23.04.1-fix-startup-delay.patch | 121 |
2 files changed, 125 insertions, 0 deletions
diff --git a/kde-apps/dolphin/dolphin-23.04.1.ebuild b/kde-apps/dolphin/dolphin-23.04.1.ebuild index 6972df06322e..c323a3f3ea19 100644 --- a/kde-apps/dolphin/dolphin-23.04.1.ebuild +++ b/kde-apps/dolphin/dolphin-23.04.1.ebuild @@ -62,6 +62,10 @@ RDEPEND="${DEPEND} >=kde-apps/kio-extras-${PVCUT}:5 " +PATCHES=( + "${FILESDIR}/dolphin-23.04.1-fix-startup-delay.patch" +) + src_configure() { local mycmakeargs=( -DCMAKE_DISABLE_FIND_PACKAGE_PackageKitQt5=ON diff --git a/kde-apps/dolphin/files/dolphin-23.04.1-fix-startup-delay.patch b/kde-apps/dolphin/files/dolphin-23.04.1-fix-startup-delay.patch new file mode 100644 index 000000000000..6a34ff66efb3 --- /dev/null +++ b/kde-apps/dolphin/files/dolphin-23.04.1-fix-startup-delay.patch @@ -0,0 +1,121 @@ +Revert patch https://invent.kde.org/system/dolphin/-/commit/d19800c69198b904ae47cb1e53dfe28f74618eb2 +See https://bugs.gentoo.org/906170 +--- +diff -ruN dolphin-23.04.1/src/dolphinmainwindow.cpp new/src/dolphinmainwindow.cpp +--- dolphin-23.04.1/src/dolphinmainwindow.cpp 2023-05-09 10:52:07.000000000 +0200 ++++ new/src/dolphinmainwindow.cpp 2023-05-13 22:37:50.984895964 +0200 +@@ -270,31 +270,6 @@ + openFiles(QUrl::fromStringList(files), splitView); + } + +-bool DolphinMainWindow::isOnCurrentDesktop() const +-{ +-#if HAVE_X11 +- if (KWindowSystem::isPlatformX11()) { +- const NET::Properties properties = NET::WMDesktop; +- KWindowInfo info(this->winId(), properties); +- return info.isOnCurrentDesktop(); +- } +-#endif +- return true; +-} +- +-bool DolphinMainWindow::isOnActivity(const QString &activityId) const +-{ +-#if HAVE_X11 && HAVE_KACTIVITIES +- if (KWindowSystem::isPlatformX11()) { +- const NET::Properties properties = NET::Supported; +- const NET::Properties2 properties2 = NET::WM2Activities; +- KWindowInfo info(this->winId(), properties, properties2); +- return info.activities().contains(activityId); +- } +-#endif +- return true; +-} +- + void DolphinMainWindow::activateWindow(const QString &activationToken) + { + window()->setAttribute(Qt::WA_NativeWindow, true); +diff -ruN dolphin-23.04.1/src/dolphinmainwindow.h new/src/dolphinmainwindow.h +--- dolphin-23.04.1/src/dolphinmainwindow.h 2023-05-09 10:52:07.000000000 +0200 ++++ new/src/dolphinmainwindow.h 2023-05-13 22:37:50.984895964 +0200 +@@ -203,9 +203,6 @@ + /** @see GeneralSettings::splitViewChanged() */ + void slotSplitViewChanged(); + +- bool isOnActivity(const QString &activityId) const; +- bool isOnCurrentDesktop() const; +- + Q_SIGNALS: + /** + * Is sent if the selection of the currently active view has +diff -ruN dolphin-23.04.1/src/global.cpp new/src/global.cpp +--- dolphin-23.04.1/src/global.cpp 2023-05-09 10:52:07.000000000 +0200 ++++ new/src/global.cpp 2023-05-13 22:50:40.449973915 +0200 +@@ -16,9 +16,6 @@ + #include <KIO/ApplicationLauncherJob> + #include <KService> + #include <KWindowSystem> +-#if HAVE_KACTIVITIES +-#include <KActivities/Consumer> +-#endif + + #include <QApplication> + +@@ -143,37 +140,13 @@ + + QVector<QPair<QSharedPointer<OrgKdeDolphinMainWindowInterface>, QStringList>> Dolphin::dolphinGuiInstances(const QString &preferredService) + { +-#if HAVE_KACTIVITIES +- static std::once_flag one_consumer; +- static KActivities::Consumer *consumer; +- std::call_once(one_consumer, []() { +- consumer = new KActivities::Consumer(); +- // ensures the consumer is ready for query +- QEventLoop loop; +- QObject::connect(consumer, &KActivities::Consumer::serviceStatusChanged, &loop, &QEventLoop::quit); +- loop.exec(); +- }); +-#endif +- + QVector<QPair<QSharedPointer<OrgKdeDolphinMainWindowInterface>, QStringList>> dolphinInterfaces; +- const auto tryAppendInterface = [&dolphinInterfaces](const QString &service) { +- // Check if instance can handle our URLs +- QSharedPointer<OrgKdeDolphinMainWindowInterface> interface( +- new OrgKdeDolphinMainWindowInterface(service, QStringLiteral("/dolphin/Dolphin_1"), QDBusConnection::sessionBus())); +- if (interface->isValid() && !interface->lastError().isValid()) { +-#if HAVE_KACTIVITIES +- const auto currentActivity = consumer->currentActivity(); +- if (currentActivity.isEmpty() || currentActivity == QStringLiteral("00000000-0000-0000-0000-000000000000") +- || interface->isOnActivity(consumer->currentActivity())) +-#endif +- if (interface->isOnCurrentDesktop()) { +- dolphinInterfaces.append(qMakePair(interface, QStringList())); +- } +- } +- }; +- + if (!preferredService.isEmpty()) { +- tryAppendInterface(preferredService); ++ QSharedPointer<OrgKdeDolphinMainWindowInterface> preferredInterface( ++ new OrgKdeDolphinMainWindowInterface(preferredService, QStringLiteral("/dolphin/Dolphin_1"), QDBusConnection::sessionBus())); ++ if (preferredInterface->isValid() && !preferredInterface->lastError().isValid()) { ++ dolphinInterfaces.append(qMakePair(preferredInterface, QStringList())); ++ } + } + + // Look for dolphin instances among all available dbus services. +@@ -185,7 +158,12 @@ + const QString myPid = QLatin1Char('-') + QString::number(QCoreApplication::applicationPid()); + for (const QString &service : dbusServices) { + if (service.startsWith(pattern) && !service.endsWith(myPid)) { +- tryAppendInterface(service); ++ // Check if instance can handle our URLs ++ QSharedPointer<OrgKdeDolphinMainWindowInterface> interface( ++ new OrgKdeDolphinMainWindowInterface(service, QStringLiteral("/dolphin/Dolphin_1"), QDBusConnection::sessionBus())); ++ if (interface->isValid() && !interface->lastError().isValid()) { ++ dolphinInterfaces.append(qMakePair(interface, QStringList())); ++ } + } + } + |