From 52b1f1cb9f8d4e1fb1fcbde59930a105a819b0b4 Mon Sep 17 00:00:00 2001 From: Eric Hameleers Date: Thu, 30 Jul 2020 19:45:19 +0200 Subject: Cleanup unused KDE patches Thanks to Patrick Volkerding for the effort. --- .../plasma-workspace.systray_cpubug.patch | 152 ----------------- .../plasma-workspace_apply_767aa57.patch | 23 --- .../plasma-workspace_consolekit2.patch | 189 --------------------- .../plasma-workspace_kdebug389815.patch | 32 ---- 4 files changed, 396 deletions(-) delete mode 100644 kde/patch/plasma-workspace/plasma-workspace.systray_cpubug.patch delete mode 100644 kde/patch/plasma-workspace/plasma-workspace_apply_767aa57.patch delete mode 100644 kde/patch/plasma-workspace/plasma-workspace_consolekit2.patch delete mode 100644 kde/patch/plasma-workspace/plasma-workspace_kdebug389815.patch (limited to 'kde/patch/plasma-workspace') diff --git a/kde/patch/plasma-workspace/plasma-workspace.systray_cpubug.patch b/kde/patch/plasma-workspace/plasma-workspace.systray_cpubug.patch deleted file mode 100644 index 4ad3c07..0000000 --- a/kde/patch/plasma-workspace/plasma-workspace.systray_cpubug.patch +++ /dev/null @@ -1,152 +0,0 @@ -https://phabricator.kde.org/D2986 -Systray: Move all icon resolution to dataengine - -diff --git a/applets/systemtray/package/contents/ui/ConfigEntries.qml b/applets/systemtray/package/contents/ui/ConfigEntries.qml ---- a/applets/systemtray/package/contents/ui/ConfigEntries.qml -+++ b/applets/systemtray/package/contents/ui/ConfigEntries.qml -@@ -75,7 +75,7 @@ - "index": i, - "taskId": item.Id, - "name": item.Title, -- "iconName": plasmoid.nativeInterface.resolveIcon(item.IconName, item.IconThemePath), -+ "iconName": item.IconName, - "icon": item.Icon - }); - } -diff --git a/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml b/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml ---- a/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml -+++ b/applets/systemtray/package/contents/ui/items/StatusNotifierItem.qml -@@ -28,7 +28,7 @@ - text: Title - mainText: ToolTipTitle != "" ? ToolTipTitle : Title - subText: ToolTipSubTitle -- icon: ToolTipIcon != "" ? ToolTipIcon : plasmoid.nativeInterface.resolveIcon(IconName != "" ? IconName : Icon, IconThemePath) -+ icon: ToolTipIcon != "" ? ToolTipIcon : Icon ? Icon : IconName - textFormat: Text.AutoText - category: Category - -@@ -48,7 +48,7 @@ - - PlasmaCore.IconItem { - id: iconItem -- source: plasmoid.nativeInterface.resolveIcon(IconName != "" ? IconName : Icon, IconThemePath) -+ source: Icon ? Icon : IconName - width: Math.min(parent.width, parent.height) - height: width - active: taskIcon.containsMouse -diff --git a/applets/systemtray/systemtray.h b/applets/systemtray/systemtray.h ---- a/applets/systemtray/systemtray.h -+++ b/applets/systemtray/systemtray.h -@@ -60,12 +60,6 @@ - - //Invokable utilities - /** -- * returns either a simple icon name or a custom path if the app is -- * using a custom theme -- */ -- Q_INVOKABLE QVariant resolveIcon(const QVariant &variant, const QString &iconThemePath); -- -- /** - * Given an AppletInterface pointer, shows a proper context menu for it - */ - Q_INVOKABLE void showPlasmoidMenu(QQuickItem *appletInterface, int x, int y); -diff --git a/applets/systemtray/systemtray.cpp b/applets/systemtray/systemtray.cpp ---- a/applets/systemtray/systemtray.cpp -+++ b/applets/systemtray/systemtray.cpp -@@ -37,37 +37,11 @@ - #include - #include - --#include --#include - #include - #include - - #include - --/* -- * An app may also load icons from their own directories, so we need a new iconloader that takes this into account -- * This is wrapped into a subclass of iconengine so the iconloader lifespan matches the icon object -- */ --class AppIconEngine : public KIconEngine --{ --public: -- AppIconEngine(const QString &variant, const QString &path, const QString &appName); -- ~AppIconEngine(); --private: -- KIconLoader* m_loader; --}; -- --AppIconEngine::AppIconEngine(const QString &variant, const QString &path, const QString &appName) : -- KIconEngine(variant, m_loader = new KIconLoader(appName, QStringList())) --{ -- m_loader->addAppDir(appName, path); --} -- --AppIconEngine::~AppIconEngine() --{ -- delete m_loader; --} -- - class PlasmoidModel: public QStandardItemModel - { - public: -@@ -169,32 +143,6 @@ - } - } - --QVariant SystemTray::resolveIcon(const QVariant &variant, const QString &iconThemePath) --{ -- if (variant.canConvert()) { -- if (!iconThemePath.isEmpty()) { -- const QString path = iconThemePath; -- if (!path.isEmpty()) { -- // FIXME: If last part of path is not "icons", this won't work! -- auto tokens = path.splitRef('/', QString::SkipEmptyParts); -- if (tokens.length() >= 3 && tokens.takeLast() == QLatin1String("icons")) { -- const QString appName = tokens.takeLast().toString(); -- -- return QVariant(QIcon(new AppIconEngine(variant.toString(), path, appName))); -- } else { -- qCWarning(SYSTEM_TRAY) << "Wrong IconThemePath" << path << ": too short or does not end with 'icons'"; -- } -- } -- -- //return just the string hoping that IconItem will know how to interpret it anyways as either a normal icon or a SVG from the theme -- return variant; -- } -- } -- -- // Most importantly QIcons. Nothing to do for those. -- return variant; --} -- - void SystemTray::showPlasmoidMenu(QQuickItem *appletInterface, int x, int y) - { - if (!appletInterface) { -diff --git a/dataengines/statusnotifieritem/statusnotifieritemsource.cpp b/dataengines/statusnotifieritem/statusnotifieritemsource.cpp ---- a/dataengines/statusnotifieritem/statusnotifieritemsource.cpp -+++ b/dataengines/statusnotifieritem/statusnotifieritemsource.cpp -@@ -240,14 +240,19 @@ - if (!m_customIconLoader) { - m_customIconLoader = new KIconLoader(QString(), QStringList(), this); - } -+ // FIXME: If last part of path is not "icons", this won't work! -+ QString appName; -+ auto tokens = path.splitRef('/', QString::SkipEmptyParts); -+ if (tokens.length() >= 3 && tokens.takeLast() == QLatin1String("icons")) -+ appName = tokens.takeLast().toString(); - - //icons may be either in the root directory of the passed path or in a appdir format - //i.e hicolor/32x32/iconname.png - -- m_customIconLoader->reconfigure(QString(), QStringList(path)); -+ m_customIconLoader->reconfigure(appName, QStringList(path)); - - //add app dir requires an app name, though this is completely unused in this context -- m_customIconLoader->addAppDir(QStringLiteral("unused"), path); -+ m_customIconLoader->addAppDir(appName.size() ? appName : QStringLiteral("unused"), path); - } - setData(QStringLiteral("IconThemePath"), path); - - diff --git a/kde/patch/plasma-workspace/plasma-workspace_apply_767aa57.patch b/kde/patch/plasma-workspace/plasma-workspace_apply_767aa57.patch deleted file mode 100644 index 4f22b8e..0000000 --- a/kde/patch/plasma-workspace/plasma-workspace_apply_767aa57.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: Kai Uwe Broulik -Date: Mon, 13 Jun 2016 18:36:17 +0000 -Subject: [PanelView] Fix build... -X-Git-Url: http://quickgit.kde.org/?p=plasma-workspace.git&a=commitdiff&h=767aa574400276b872aa0495f9af096784a8ed66 ---- -[PanelView] Fix build... - -CCMAIL: notmart@gmail.com ---- - - ---- a/shell/panelview.cpp -+++ b/shell/panelview.cpp -@@ -995,7 +995,7 @@ - { - if (status == Plasma::Types::NeedsAttentionStatus) { - showTemporarily(); -- } else if (status == Plasma::AcceptingInputStatus) { -+ } else if (status == Plasma::Types::AcceptingInputStatus) { - KWindowSystem::forceActiveWindow(winId()); - } else { - restoreAutoHide(); - diff --git a/kde/patch/plasma-workspace/plasma-workspace_consolekit2.patch b/kde/patch/plasma-workspace/plasma-workspace_consolekit2.patch deleted file mode 100644 index 6131c90..0000000 --- a/kde/patch/plasma-workspace/plasma-workspace_consolekit2.patch +++ /dev/null @@ -1,189 +0,0 @@ -From: Eric Koegel -Date: Wed, 12 Aug 2015 08:33:39 +0000 -Subject: ConsoleKit2 support for screenlocker -X-Git-Url: http://quickgit.kde.org/?p=plasma-workspace.git&a=commitdiff&h=72578284a1fda5f012cafcaccad6069fadbf9a25 ---- -ConsoleKit2 support for screenlocker - -ConsoleKit2 has the same API as systemd-logind for Lock, Unlock, -PrepareForSleep, and Inhibit. This patch adds the functionality -for ConsoleKit2 while attempting to minimize code duplication. - -REVIEW: 124469 ---- - - ---- a/ksmserver/screenlocker/logind.cpp -+++ b/ksmserver/screenlocker/logind.cpp -@@ -25,13 +25,17 @@ - #include - #include - #include --#include - #include - - const static QString s_login1Service = QStringLiteral("org.freedesktop.login1"); - const static QString s_login1Path = QStringLiteral("/org/freedesktop/login1"); - const static QString s_login1ManagerInterface = QStringLiteral("org.freedesktop.login1.Manager"); - const static QString s_login1SessionInterface = QStringLiteral("org.freedesktop.login1.Session"); -+ -+const static QString s_consolekitService = QStringLiteral("org.freedesktop.ConsoleKit"); -+const static QString s_consolekitPath = QStringLiteral("/org/freedesktop/ConsoleKit/Manager"); -+const static QString s_consolekitManagerInterface = QStringLiteral("org.freedesktop.ConsoleKit.Manager"); -+const static QString s_consolekitSessionInterface = QStringLiteral("org.freedesktop.ConsoleKit.Session"); - - LogindIntegration::LogindIntegration(const QDBusConnection &connection, QObject *parent) - : QObject(parent) -@@ -42,6 +46,10 @@ - this)) - , m_connected(false) - , m_inhibitFileDescriptor() -+ , m_service(nullptr) -+ , m_path(nullptr) -+ , m_managerInterface(nullptr) -+ , m_sessionInterface(nullptr) - { - connect(m_logindServiceWatcher, &QDBusServiceWatcher::serviceRegistered, this, &LogindIntegration::logindServiceRegistered); - connect(m_logindServiceWatcher, &QDBusServiceWatcher::serviceUnregistered, this, -@@ -67,6 +75,11 @@ - } - if (reply.value().contains(s_login1Service)) { - logindServiceRegistered(); -+ // Don't register ck if we have logind -+ return; -+ } -+ if (reply.value().contains(s_consolekitService)) { -+ consolekitServiceRegistered(); - } - } - ); -@@ -89,6 +102,40 @@ - message.setArguments(QVariantList() << (quint32) QCoreApplication::applicationPid()); - QDBusPendingReply session = m_bus.asyncCall(message); - QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(session, this); -+ -+ m_service = &s_login1Service; -+ m_path = &s_login1Path; -+ m_managerInterface = &s_login1ManagerInterface; -+ m_sessionInterface = &s_login1SessionInterface; -+ -+ commonServiceRegistered(watcher); -+} -+ -+void LogindIntegration::consolekitServiceRegistered() -+{ -+ // Don't try to register with ck if we have logind -+ if (m_connected) { -+ return; -+ } -+ -+ // get the current session -+ QDBusMessage message = QDBusMessage::createMethodCall(s_consolekitService, -+ s_consolekitPath, -+ s_consolekitManagerInterface, -+ QStringLiteral("GetCurrentSession")); -+ QDBusPendingReply session = m_bus.asyncCall(message); -+ QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(session, this); -+ -+ m_service = &s_consolekitService; -+ m_path = &s_consolekitPath; -+ m_managerInterface = &s_consolekitManagerInterface; -+ m_sessionInterface = &s_consolekitSessionInterface; -+ -+ commonServiceRegistered(watcher); -+} -+ -+void LogindIntegration::commonServiceRegistered(QDBusPendingCallWatcher *watcher) -+{ - connect(watcher, &QDBusPendingCallWatcher::finished, this, - [this](QDBusPendingCallWatcher *self) { - QDBusPendingReply reply = *self; -@@ -97,7 +144,7 @@ - return; - } - if (!reply.isValid()) { -- qDebug() << "The session is not registered with logind" << reply.error().message(); -+ qDebug() << "The session is not registered: " << reply.error().message(); - return; - } - const QString sessionPath = reply.value().path(); -@@ -105,15 +152,15 @@ - - // connections need to be done this way as the object exposes both method and signal - // with name "Lock"/"Unlock". Qt is not able to automatically handle this. -- m_bus.connect(s_login1Service, -+ m_bus.connect(*m_service, - sessionPath, -- s_login1SessionInterface, -+ *m_sessionInterface, - QStringLiteral("Lock"), - this, - SIGNAL(requestLock())); -- m_bus.connect(s_login1Service, -+ m_bus.connect(*m_service, - sessionPath, -- s_login1SessionInterface, -+ *m_sessionInterface, - QStringLiteral("Unlock"), - this, - SIGNAL(requestUnlock())); -@@ -123,9 +170,9 @@ - ); - - // connect to manager object's signals we need -- m_bus.connect(s_login1Service, -- s_login1Path, -- s_login1ManagerInterface, -+ m_bus.connect(*m_service, -+ *m_path, -+ *m_managerInterface, - QStringLiteral("PrepareForSleep"), - this, - SIGNAL(prepareForSleep(bool))); -@@ -136,9 +183,14 @@ - if (m_inhibitFileDescriptor.isValid()) { - return; - } -- QDBusMessage message = QDBusMessage::createMethodCall(s_login1Service, -- s_login1Path, -- s_login1ManagerInterface, -+ -+ if (!m_connected) { -+ return; -+ } -+ -+ QDBusMessage message = QDBusMessage::createMethodCall(*m_service, -+ *m_path, -+ *m_managerInterface, - QStringLiteral("Inhibit")); - message.setArguments(QVariantList({QStringLiteral("sleep"), - i18n("Screen Locker"), - ---- a/ksmserver/screenlocker/logind.h -+++ b/ksmserver/screenlocker/logind.h -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include - - class QDBusServiceWatcher; - -@@ -59,10 +60,16 @@ - **/ - explicit LogindIntegration(const QDBusConnection &connection, QObject *parent = nullptr); - void logindServiceRegistered(); -+ void consolekitServiceRegistered(); -+ void commonServiceRegistered(QDBusPendingCallWatcher *watcher); - QDBusConnection m_bus; - QDBusServiceWatcher *m_logindServiceWatcher; - bool m_connected; - QDBusUnixFileDescriptor m_inhibitFileDescriptor; -+ const QString *m_service; -+ const QString *m_path; -+ const QString *m_managerInterface; -+ const QString *m_sessionInterface; - }; - - #endif - diff --git a/kde/patch/plasma-workspace/plasma-workspace_kdebug389815.patch b/kde/patch/plasma-workspace/plasma-workspace_kdebug389815.patch deleted file mode 100644 index e2f1e48..0000000 --- a/kde/patch/plasma-workspace/plasma-workspace_kdebug389815.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f32002ce50edc3891f1fa41173132c820b917d57 Mon Sep 17 00:00:00 2001 -From: Marco Martin -Date: Mon, 5 Feb 2018 13:12:51 +0100 -Subject: Make sure device paths are quoted - -in the case a vfat removable device has $() or `` in its label, -such as $(touch foo) the quoted command may get executed, -leaving an attack vector. Use KMacroExpander::expandMacrosShellQuote -to make sure everything is quoted and not interpreted as a command - -BUG:389815 ---- - soliduiserver/deviceserviceaction.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/soliduiserver/deviceserviceaction.cpp b/soliduiserver/deviceserviceaction.cpp -index f49c967..738b27c 100644 ---- a/soliduiserver/deviceserviceaction.cpp -+++ b/soliduiserver/deviceserviceaction.cpp -@@ -158,7 +158,7 @@ void DelayedExecutor::delayedExecute(const QString &udi) - - QString exec = m_service.exec(); - MacroExpander mx(device); -- mx.expandMacros(exec); -+ mx.expandMacrosShellQuote(exec); - - KRun::runCommand(exec, QString(), m_service.icon(), 0); - deleteLater(); --- -cgit v0.11.2 - - -- cgit v1.2.3-65-gdbad