git: fef45ca5f0e3 - main - sysutils/plasma6-libksysguard: Fix busy-looping in process handling code

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Mon, 13 Oct 2025 15:05:09 UTC
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=fef45ca5f0e3495cf41153b6a4cf201ed4317832

commit fef45ca5f0e3495cf41153b6a4cf201ed4317832
Author:     Gleb Popov <arrowd@FreeBSD.org>
AuthorDate: 2025-10-13 15:02:59 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2025-10-13 15:04:50 +0000

    sysutils/plasma6-libksysguard: Fix busy-looping in process handling code
    
    PR:             260029
    Reported by:    jsm (finding the root of the issue)
---
 sysutils/plasma6-libksysguard/Makefile               |  1 +
 .../files/patch-processcore_cgroup__data__model.cpp  | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/sysutils/plasma6-libksysguard/Makefile b/sysutils/plasma6-libksysguard/Makefile
index 4954b60c8c0a..f6de699d880e 100644
--- a/sysutils/plasma6-libksysguard/Makefile
+++ b/sysutils/plasma6-libksysguard/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	libksysguard
 DISTVERSION=	${KDE_PLASMA_VERSION}
+PORTREVISION=	1
 CATEGORIES=	sysutils kde kde-plasma
 
 MAINTAINER=	kde@FreeBSD.org
diff --git a/sysutils/plasma6-libksysguard/files/patch-processcore_cgroup__data__model.cpp b/sysutils/plasma6-libksysguard/files/patch-processcore_cgroup__data__model.cpp
new file mode 100644
index 000000000000..56b6f9119d14
--- /dev/null
+++ b/sysutils/plasma6-libksysguard/files/patch-processcore_cgroup__data__model.cpp
@@ -0,0 +1,20 @@
+https://invent.kde.org/plasma/libksysguard/-/merge_requests/445
+
+--- processcore/cgroup_data_model.cpp.orig	2025-09-09 08:27:18 UTC
++++ processcore/cgroup_data_model.cpp
+@@ -95,6 +95,7 @@ CGroupDataModel::CGroupDataModel(const QString &root, 
+     , d(new CGroupDataModelPrivate)
+ {
+     d->m_updateTimer = new QTimer(this);
++    d->m_updateTimer->setInterval(2000);
+     d->m_processes = ExtendedProcesses::instance();
+ 
+     QList<ProcessAttribute *> attributes = d->m_processes->attributes();
+@@ -113,7 +114,6 @@ CGroupDataModel::CGroupDataModel(const QString &root, 
+     connect(d->m_updateTimer, &QTimer::timeout, this, [this]() {
+         update();
+     });
+-    d->m_updateTimer->setInterval(2000);
+     d->m_updateTimer->start();
+ 
+     // updateAllProcesses will delete processes that no longer exist, a method that