diff options
Diffstat (limited to 'kde-plasma')
-rw-r--r-- | kde-plasma/libksysguard/files/libksysguard-5.21.0-fix-non-systemd-crash.patch | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/kde-plasma/libksysguard/files/libksysguard-5.21.0-fix-non-systemd-crash.patch b/kde-plasma/libksysguard/files/libksysguard-5.21.0-fix-non-systemd-crash.patch deleted file mode 100644 index ec7c57e133a3..000000000000 --- a/kde-plasma/libksysguard/files/libksysguard-5.21.0-fix-non-systemd-crash.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 76a3570ab2f9fab98aa6ccc9ceafbbc29323db06 Mon Sep 17 00:00:00 2001 -From: David Edmundson <kde@davidedmundson.co.uk> -Date: Thu, 4 Feb 2021 10:47:43 +0000 -Subject: [PATCH] Add method CGroupDataModel::isAvailable - -This returns true if the root is pointing to a valid path. The idea -being that non-systemd systems won't have applications scoped correctly, -nor a relevant user slice. - -By communicating this we can dislpay the entry as not working in the UI. - - -(cherry picked from commit 6d42960456f145d178579a1debb726bd0c7dcee6) ---- - processcore/cgroup_data_model.cpp | 21 ++++++++++++++++++++- - processcore/cgroup_data_model.h | 5 +++++ - 2 files changed, 25 insertions(+), 1 deletion(-) - -diff --git a/processcore/cgroup_data_model.cpp b/processcore/cgroup_data_model.cpp -index 46a36c3..4278a2c 100644 ---- a/processcore/cgroup_data_model.cpp -+++ b/processcore/cgroup_data_model.cpp -@@ -48,6 +48,7 @@ public: - QHash<QString, KSysGuard::ProcessAttribute* > m_availableAttributes; - QVector<KSysGuard::ProcessAttribute* > m_enabledAttributes; - -+ bool m_available = false; - QString m_root; - QScopedPointer<CGroup> m_rootGroup; - -@@ -367,9 +368,22 @@ void CGroupDataModel::setRoot(const QString &root) - return; - } - d->m_root = root; -- d->m_rootGroup.reset(new CGroup(root)); - emit rootChanged(); - QMetaObject::invokeMethod(this, [this] {update();}, Qt::QueuedConnection); -+ -+ const QString path = CGroup::cgroupSysBasePath() + root; -+ bool available = QFile::exists(path); -+ -+ if (available) { -+ d->m_rootGroup.reset(new CGroup(root)); -+ } else { -+ d->m_rootGroup.reset(); -+ } -+ -+ if (available != d->m_available) { -+ d->m_available = available; -+ emit availableChanged(); -+ } - } - - void CGroupDataModel::update() -@@ -443,6 +457,11 @@ void CGroupDataModel::update(CGroup *node) - } - } - -+bool CGroupDataModel::isAvailable() const -+{ -+ return d->m_available; -+} -+ - QVector<Process*> CGroupDataModelPrivate::processesFor(CGroup *app) - { - if (m_processMap.contains(app)) { -diff --git a/processcore/cgroup_data_model.h b/processcore/cgroup_data_model.h -index 5ce58aa..1f7d28d 100644 ---- a/processcore/cgroup_data_model.h -+++ b/processcore/cgroup_data_model.h -@@ -59,6 +59,8 @@ class Q_DECL_EXPORT CGroupDataModel : public QAbstractItemModel - */ - Q_PROPERTY(QString setRoot READ root WRITE setRoot NOTIFY rootChanged) - -+ Q_PROPERTY(bool available READ isAvailable NOTIFY availableChanged) -+ - public: - CGroupDataModel(QObject *parent = nullptr); - CGroupDataModel(const QString &root, QObject *parent = nullptr); -@@ -114,10 +116,13 @@ public: - */ - void update(); - -+ bool isAvailable() const; -+ - Q_SIGNALS: - void enabledAttributesChanged(); - void enabledChanged(); - void rootChanged(); -+ void availableChanged(); - - protected: - virtual bool filterAcceptsCGroup(const QString &id); --- -GitLab - |