summaryrefslogtreecommitdiffstats
path: root/kde/patch/plasma-workspace
diff options
context:
space:
mode:
Diffstat (limited to 'kde/patch/plasma-workspace')
-rw-r--r--kde/patch/plasma-workspace/plasma-workspace.systray_cpubug.patch152
-rw-r--r--kde/patch/plasma-workspace/plasma-workspace_apply_767aa57.patch23
-rw-r--r--kde/patch/plasma-workspace/plasma-workspace_consolekit2.patch189
-rw-r--r--kde/patch/plasma-workspace/plasma-workspace_kdebug389815.patch32
4 files changed, 0 insertions, 396 deletions
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 <Plasma/PluginLoader>
- #include <Plasma/ServiceJob>
-
--#include <KIconLoader>
--#include <KIconEngine>
- #include <KActionCollection>
- #include <KLocalizedString>
-
- #include <plasma_version.h>
-
--/*
-- * 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<QString>()) {
-- 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 <kde@privat.broulik.de>
-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 <eric.koegel@gmail.com>
-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 <QDebug>
- #include <QDBusConnection>
- #include <QDBusConnectionInterface>
--#include <QDBusPendingCallWatcher>
- #include <QDBusServiceWatcher>
-
- 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<QDBusObjectPath> 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<QDBusObjectPath> 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<QDBusObjectPath> 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 <QDBusConnection>
- #include <QDBusUnixFileDescriptor>
- #include <QObject>
-+#include <QDBusPendingCallWatcher>
-
- 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 <notmart@gmail.com>
-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
-
-