[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1109720: marked as done (unblock: powerdevil/4:6.3.6-1)



Your message dated Tue, 22 Jul 2025 13:56:34 +0000
with message-id <E1ueDTu-00BD5T-1d@respighi.debian.org>
and subject line unblock powerdevil
has caused the Debian Bug report #1109720,
regarding unblock: powerdevil/4:6.3.6-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1109720: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1109720
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: powerdevil@packages.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Control: affects -1 + src:powerdevil
User: release.debian.org@packages.debian.org
Usertags: unblock

Dear Release Team,

please unblock package powerdevil.

[ Reason ]
* New upstream release (6.3.6).
  - Applets/batterymonitor: don't ask to install PPD when already installed.
  (kde#504889)
  - Daemon: Fix triggering an assert in KConfigGroup.
* Drop backported patches now part of the upstream release.
* Refresh patches.
* Backport upstream commits:
  - Add missing screen locking link from screen power saving section.
  [09ce19dc] (kde#447366)
  - applets/brightness: downgrade severity of KeyboardBrightnessControl
  action unavailable warning since this is expected on most systems.
  [2039c96d] (kde#501461)
  - applets/batterymonitor: only show one battery icon in desktop tray.
  [4d29cd00] (kde#504697)
  - kcm: correct buddyFor relationship for script items fixing recurring
  spurious warnings. [dc057e44] (kde#504668)
  - PowerDevilAction: refresh action timers on inhibition changes to fix
  cases like immediate suspend happening at the end of a video playback.
  [31fcf4c0] (kde#504553)

[ Tests ]
Running Plasma with these changes for more than a week I didn’t notice
any regression.

[ Risks ]
The changes only contain the latest upstream point release for the 6.3
Plasma branch and backported commits. Further fixes can easily be
backported or the changes reverted.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing


Thanks !


unblock powerdevil/4:6.3.6-1
diff -Nru powerdevil-6.3.5/applets/batterymonitor/package/contents/ui/PowerProfileItem.qml powerdevil-6.3.6/applets/batterymonitor/package/contents/ui/PowerProfileItem.qml
--- powerdevil-6.3.5/applets/batterymonitor/package/contents/ui/PowerProfileItem.qml	2025-05-06 20:01:15.000000000 +0200
+++ powerdevil-6.3.6/applets/batterymonitor/package/contents/ui/PowerProfileItem.qml	2025-07-08 13:50:08.000000000 +0200
@@ -300,7 +300,7 @@
             visible: !root.profilesAvailable
             text: root.isTlpInstalled
                 ? i18n("The TLP service automatically controls power profiles")
-                : !root.profilesInstalled
+                : root.profilesInstalled
                 ? i18n("Power profiles are not supported on your device.")
                 : xi18n("Power profiles may be supported on your device.<nl/>Try installing the <command>power-profiles-daemon</command> package using your distribution's package manager and restarting the system.")
             textFormat: Text.PlainText
diff -Nru powerdevil-6.3.5/CMakeLists.txt powerdevil-6.3.6/CMakeLists.txt
--- powerdevil-6.3.5/CMakeLists.txt	2025-05-06 20:01:15.000000000 +0200
+++ powerdevil-6.3.6/CMakeLists.txt	2025-07-08 13:50:08.000000000 +0200
@@ -1,10 +1,10 @@
 cmake_minimum_required(VERSION 3.16)
 
 project(PowerDevil)
-set(PROJECT_VERSION "6.3.5")
+set(PROJECT_VERSION "6.3.6")
 set(PROJECT_VERSION_MAJOR 6)
 
-set(PROJECT_DEP_VERSION "6.3.5")
+set(PROJECT_DEP_VERSION "6.3.6")
 set(QT_MIN_VERSION "6.7.0")
 set(KF6_MIN_VERSION "6.10.0")
 
diff -Nru powerdevil-6.3.5/daemon/powerdevilcore.cpp powerdevil-6.3.6/daemon/powerdevilcore.cpp
--- powerdevil-6.3.5/daemon/powerdevilcore.cpp	2025-05-06 20:01:15.000000000 +0200
+++ powerdevil-6.3.6/daemon/powerdevilcore.cpp	2025-07-08 13:50:08.000000000 +0200
@@ -300,17 +300,6 @@
 {
     QString profileId;
 
-    // Check the activity in which we are in
-    QString activity = m_activityConsumer->currentActivity();
-    qCDebug(POWERDEVIL) << "Currently using activity " << activity;
-
-    PowerDevil::ActivitySettings activitySettings(activity);
-
-    qCDebug(POWERDEVIL) << "Settings for loaded activity:";
-    for (KConfigSkeletonItem *item : activitySettings.items()) {
-        qCDebug(POWERDEVIL) << item->key() << "=" << item->property();
-    }
-
     // let's load the current state's profile
     if (m_batteriesPercent.isEmpty()) {
         qCDebug(POWERDEVIL) << "No batteries found, loading AC";
@@ -376,27 +365,40 @@
         Q_EMIT profileChanged(m_currentProfile);
     }
 
-    // Now... any special behaviors we'd like to consider?
-    if (activitySettings.inhibitSuspend()) {
-        qCDebug(POWERDEVIL) << "Activity triggers a suspend inhibition"; // debug hence not sleep
-        // Trigger a special inhibition - if we don't have one yet
-        if (!m_sessionActivityInhibit.contains(activity)) {
-            int cookie = PolicyAgent::instance()->AddInhibition(PolicyAgent::InterruptSession,
-                                                                i18n("Activity Manager"),
-                                                                i18n("This activity's policies prevent the system from going to sleep"));
+    // Check the activity in which we are in
+    const QString activity = m_activityConsumer->currentActivity();
+    qCDebug(POWERDEVIL) << "Currently using activity" << activity;
 
-            m_sessionActivityInhibit.insert(activity, cookie);
-        }
-    }
-    if (activitySettings.inhibitScreenManagement()) {
-        qCDebug(POWERDEVIL) << "Activity triggers a screen management inhibition";
-        // Trigger a special inhibition - if we don't have one yet
-        if (!m_screenActivityInhibit.contains(activity)) {
-            int cookie = PolicyAgent::instance()->AddInhibition(PolicyAgent::ChangeScreenSettings,
-                                                                i18n("Activity Manager"),
-                                                                i18n("This activity's policies prevent screen power management"));
+    if (!activity.isEmpty()) {
+        PowerDevil::ActivitySettings activitySettings(activity);
+
+        qCDebug(POWERDEVIL) << "Settings for loaded activity:";
+        for (KConfigSkeletonItem *item : activitySettings.items()) {
+            qCDebug(POWERDEVIL) << item->key() << "=" << item->property();
+        }
+
+        // Now... any special behaviors we'd like to consider?
+        if (activitySettings.inhibitSuspend()) {
+            qCDebug(POWERDEVIL) << "Activity triggers a suspend inhibition"; // debug hence not sleep
+            // Trigger a special inhibition - if we don't have one yet
+            if (!m_sessionActivityInhibit.contains(activity)) {
+                int cookie = PolicyAgent::instance()->AddInhibition(PolicyAgent::InterruptSession,
+                                                                    i18n("Activity Manager"),
+                                                                    i18n("This activity's policies prevent the system from going to sleep"));
+
+                m_sessionActivityInhibit.insert(activity, cookie);
+            }
+        }
+        if (activitySettings.inhibitScreenManagement()) {
+            qCDebug(POWERDEVIL) << "Activity triggers a screen management inhibition";
+            // Trigger a special inhibition - if we don't have one yet
+            if (!m_screenActivityInhibit.contains(activity)) {
+                int cookie = PolicyAgent::instance()->AddInhibition(PolicyAgent::ChangeScreenSettings,
+                                                                    i18n("Activity Manager"),
+                                                                    i18n("This activity's policies prevent screen power management"));
 
-            m_screenActivityInhibit.insert(activity, cookie);
+                m_screenActivityInhibit.insert(activity, cookie);
+            }
         }
     }
 
diff -Nru powerdevil-6.3.5/debian/changelog powerdevil-6.3.6/debian/changelog
--- powerdevil-6.3.5/debian/changelog	2025-05-19 00:58:43.000000000 +0200
+++ powerdevil-6.3.6/debian/changelog	2025-07-19 14:52:32.000000000 +0200
@@ -1,3 +1,28 @@
+powerdevil (4:6.3.6-1) unstable; urgency=medium
+
+  [ Aurélien COUDERC ]
+  * New upstream release (6.3.6).
+    - Applets/batterymonitor: don't ask to install PPD when already installed.
+    (kde#504889)
+    - Daemon: Fix triggering an assert in KConfigGroup.
+  * Drop backported patches now part of the upstream release.
+  * Refresh patches.
+  * Backport upstream commits:
+    - Add missing screen locking link from screen power saving section.
+    [09ce19dc] (kde#447366)
+    - applets/brightness: downgrade severity of KeyboardBrightnessControl
+    action unavailable warning since this is expected on most systems.
+    [2039c96d] (kde#501461)
+    - applets/batterymonitor: only show one battery icon in desktop tray.
+    [4d29cd00] (kde#504697)
+    - kcm: correct buddyFor relationship for script items fixing recurring
+    spurious warnings. [dc057e44] (kde#504668)
+    - PowerDevilAction: refresh action timers on inhibition changes to fix
+    cases like immediate suspend happening at the end of a video playback.
+    [31fcf4c0] (kde#504553)
+
+ -- Aurélien COUDERC <coucouf@debian.org>  Sat, 19 Jul 2025 14:52:32 +0200
+
 powerdevil (4:6.3.5-1) unstable; urgency=medium
 
   [ Aurélien COUDERC ]
@@ -6,6 +31,11 @@
     - Daemon: Don't crash if using powerdevil 6.3 with kwin 6.2. (kde#501446)
   * Relax inter-plasma versioned dependency constraint so we can upload
     only 6.3.5 packages that have actual code changes.
+  * Backport upstream commits scheduled for 6.3.6:
+    - daemon: Fix triggering an assert in KConfigGroup when loading profile
+    without an activity.
+    - Fix Power Profile incorrectly shown when hardware does not support it.
+    (kde#504889)
 
  -- Aurélien COUDERC <coucouf@debian.org>  Mon, 19 May 2025 00:58:43 +0200
 
diff -Nru powerdevil-6.3.5/debian/patches/relax-interplasma-versioned-deps.patch powerdevil-6.3.6/debian/patches/relax-interplasma-versioned-deps.patch
--- powerdevil-6.3.5/debian/patches/relax-interplasma-versioned-deps.patch	2025-05-16 18:56:09.000000000 +0200
+++ powerdevil-6.3.6/debian/patches/relax-interplasma-versioned-deps.patch	2025-07-19 14:16:08.000000000 +0200
@@ -1,10 +1,10 @@
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
 @@ -4,7 +4,7 @@
- set(PROJECT_VERSION "6.3.5")
+ set(PROJECT_VERSION "6.3.6")
  set(PROJECT_VERSION_MAJOR 6)
  
--set(PROJECT_DEP_VERSION "6.3.5")
+-set(PROJECT_DEP_VERSION "6.3.6")
 +set(PROJECT_DEP_VERSION "6.3.4")
  set(QT_MIN_VERSION "6.7.0")
  set(KF6_MIN_VERSION "6.10.0")
diff -Nru powerdevil-6.3.5/debian/patches/series powerdevil-6.3.6/debian/patches/series
--- powerdevil-6.3.5/debian/patches/series	2025-05-16 18:56:09.000000000 +0200
+++ powerdevil-6.3.6/debian/patches/series	2025-07-19 14:47:29.000000000 +0200
@@ -1 +1,6 @@
 relax-interplasma-versioned-deps.patch
+upstream_09ce19dc_KCM-add-Screen-Locking-to-related-pages-list.patch
+upstream_2039c96d_applets-brightness-downgrade-severity-of-action-unavailable-message.patch
+upstream_4d29cd00_applets-batterymonitor-only-show-one-battery-icon-in-desktop-tray.patch
+upstream_dc057e44_kcm-correct-buddyFor-relationship-for-script-items.patch
+upstream_31fcf4c0_PowerDevilAction-refresh-action-timers-on-inhibition-changes.patch
diff -Nru powerdevil-6.3.5/debian/patches/upstream_09ce19dc_KCM-add-Screen-Locking-to-related-pages-list.patch powerdevil-6.3.6/debian/patches/upstream_09ce19dc_KCM-add-Screen-Locking-to-related-pages-list.patch
--- powerdevil-6.3.5/debian/patches/upstream_09ce19dc_KCM-add-Screen-Locking-to-related-pages-list.patch	1970-01-01 01:00:00.000000000 +0100
+++ powerdevil-6.3.6/debian/patches/upstream_09ce19dc_KCM-add-Screen-Locking-to-related-pages-list.patch	2025-07-19 14:30:47.000000000 +0200
@@ -0,0 +1,46 @@
+From 09ce19dc3eab6bd38fae61447bffcf479c681785 Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Sun, 2 Mar 2025 10:04:48 -0700
+Subject: [PATCH] KCM: add "Screen Locking" to related pages list
+
+People seem to want to find it there.
+
+FEATURE: 447366
+FIXED-IN: 6.4.0
+---
+From: Aurélien COUDERC <coucouf@debian.org>
+Adapted to apply against Plasma 6.3
+---
+ kcm/ui/GlobalConfig.qml | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/kcm/ui/GlobalConfig.qml b/kcm/ui/GlobalConfig.qml
+index 4452ee7d0..c95eb3d12 100644
+--- a/kcm/ui/GlobalConfig.qml
++++ b/kcm/ui/GlobalConfig.qml
+@@ -369,6 +369,7 @@ Kirigami.ScrollablePage {
+ 
+             readonly property real maxPageButtonImplicitWidth: Math.max(
+                 firstRelatedPage.implicitWidth,
++                screenLockingPage.implicitWidth,
+                 desktopSessionsPage.implicitWidth,
+                 activitiesPage.implicitWidth,
+             )
+@@ -396,6 +397,14 @@ Kirigami.ScrollablePage {
+                 Layout.preferredWidth: relatedPagesLayout.maxPageButtonImplicitWidth
+                 onClicked: KCM.KCMLauncher.openSystemSettings("kcm_notifications", "--notifyrc=powerdevil")
+             }
++            MostUsedItem {
++                id: screenLockingPage
++                kcmIcon: "preferences-desktop-user-password"
++                kcmName: i18nc("@text:button Name of KCM", "Screen Locking")
++                Accessible.name: i18n("Open \"Screen Locking\" settings page")
++                Layout.preferredWidth: relatedPagesLayout.maxPageButtonImplicitWidth
++                onClicked: KCM.KCMLauncher.openSystemSettings("kcm_screenlocker")
++            }
+             MostUsedItem {
+                 id: desktopSessionsPage
+                 kcmIcon: "system-log-out"
+-- 
+GitLab
+
diff -Nru powerdevil-6.3.5/debian/patches/upstream_2039c96d_applets-brightness-downgrade-severity-of-action-unavailable-message.patch powerdevil-6.3.6/debian/patches/upstream_2039c96d_applets-brightness-downgrade-severity-of-action-unavailable-message.patch
--- powerdevil-6.3.5/debian/patches/upstream_2039c96d_applets-brightness-downgrade-severity-of-action-unavailable-message.patch	1970-01-01 01:00:00.000000000 +0100
+++ powerdevil-6.3.6/debian/patches/upstream_2039c96d_applets-brightness-downgrade-severity-of-action-unavailable-message.patch	2025-07-19 14:35:22.000000000 +0200
@@ -0,0 +1,36 @@
+From 2039c96da97c550f76b782fed2f03a14705a6ca9 Mon Sep 17 00:00:00 2001
+From: Christoph Wolk <cwo.kde@posteo.net>
+Date: Fri, 4 Apr 2025 17:07:42 +0200
+Subject: [PATCH] applets/brightness: downgrade severity of action unavailable
+ message
+
+If the KeyboardBrightnessControl action is not available, a warning is
+logged. This seems a bit high, as this is the expected case for many
+systems.
+
+Instead, use Info severity - this still allows users to see the message
+without also seeing all the debug messages, but removes it in the
+default case (as the default minimum severity is already set to
+Warning).
+
+BUG: 501461
+---
+ applets/brightness/plugin/keyboardbrightnesscontrol.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/applets/brightness/plugin/keyboardbrightnesscontrol.cpp b/applets/brightness/plugin/keyboardbrightnesscontrol.cpp
+index e2aba9029..92d46a784 100644
+--- a/applets/brightness/plugin/keyboardbrightnesscontrol.cpp
++++ b/applets/brightness/plugin/keyboardbrightnesscontrol.cpp
+@@ -143,7 +143,7 @@ QCoro::Task<void> KeyboardBrightnessControl::onSupportedActionsChanged()
+     if (actionSupported) {
+         onActionSupported();
+     } else {
+-        qCWarning(APPLETS::BRIGHTNESS) << "D-Bus action" << KEYBOARD_BRIGHTNESS_ACTION << "is not available at service" << SOLID_POWERMANAGEMENT_SERVICE;
++        qCInfo(APPLETS::BRIGHTNESS) << "D-Bus action" << KEYBOARD_BRIGHTNESS_ACTION << "is not available at service" << SOLID_POWERMANAGEMENT_SERVICE;
+         onActionUnsupported();
+     }
+ }
+-- 
+GitLab
+
diff -Nru powerdevil-6.3.5/debian/patches/upstream_31fcf4c0_PowerDevilAction-refresh-action-timers-on-inhibition-changes.patch powerdevil-6.3.6/debian/patches/upstream_31fcf4c0_PowerDevilAction-refresh-action-timers-on-inhibition-changes.patch
--- powerdevil-6.3.5/debian/patches/upstream_31fcf4c0_PowerDevilAction-refresh-action-timers-on-inhibition-changes.patch	1970-01-01 01:00:00.000000000 +0100
+++ powerdevil-6.3.6/debian/patches/upstream_31fcf4c0_PowerDevilAction-refresh-action-timers-on-inhibition-changes.patch	2025-07-19 14:47:29.000000000 +0200
@@ -0,0 +1,44 @@
+From 31fcf4c07346bc1fcd7b6df07b62330fd0b7db7f Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Tue, 17 Jun 2025 15:38:49 -0600
+Subject: [PATCH] PowerDevilAction: refresh action timers on inhibition changes
+
+When inhibitions change, action timers should be restarted.
+If they're not restarted, action timer may run to 0 right after
+a video playback ends for example, running the action abruptly.
+
+BUG: 504553
+
+
+(cherry picked from commit 3feaad466c5e6195ed8541c3c58d899a612511d0)
+
+Co-authored-by: Akseli Lahtinen <akselmo@akselmo.dev>
+---
+ daemon/powerdevilcore.cpp | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/daemon/powerdevilcore.cpp b/daemon/powerdevilcore.cpp
+index fc154cab4..bd97fb7ec 100644
+--- a/daemon/powerdevilcore.cpp
++++ b/daemon/powerdevilcore.cpp
+@@ -141,6 +141,17 @@ void Core::onControllersReady()
+                 Q_UNUSED(newPolicies);
+                 KIdleTime::instance()->simulateUserActivity();
+             });
++    // Refresh action timers during inhibition change, to avoid timers reaching zero right after inhibitions end.
++    connect(PowerDevil::PolicyAgent::instance(), &PowerDevil::PolicyAgent::InhibitionsChanged, this, [this]() {
++        qCDebug(POWERDEVIL) << "Refreshing timers for actions on inhibitionsChanged";
++        for (const QString &action : std::as_const(m_activeActions)) {
++            const auto timeouts = m_actionPool[action]->m_registeredIdleTimeouts;
++            m_actionPool[action]->unregisterIdleTimeouts();
++            for (const auto &timeout : timeouts) {
++                m_actionPool[action]->registerIdleTimeout(timeout);
++            }
++        }
++    });
+ 
+     // Bug 354250: Simulate user activity when session becomes inactive,
+     // this keeps us from sending the computer to sleep when switching to an idle session.
+-- 
+GitLab
+
diff -Nru powerdevil-6.3.5/debian/patches/upstream_4d29cd00_applets-batterymonitor-only-show-one-battery-icon-in-desktop-tray.patch powerdevil-6.3.6/debian/patches/upstream_4d29cd00_applets-batterymonitor-only-show-one-battery-icon-in-desktop-tray.patch
--- powerdevil-6.3.5/debian/patches/upstream_4d29cd00_applets-batterymonitor-only-show-one-battery-icon-in-desktop-tray.patch	1970-01-01 01:00:00.000000000 +0100
+++ powerdevil-6.3.6/debian/patches/upstream_4d29cd00_applets-batterymonitor-only-show-one-battery-icon-in-desktop-tray.patch	2025-07-19 14:43:31.000000000 +0200
@@ -0,0 +1,46 @@
+From 4d29cd00de35dce18c43f78eefb02f78f2059f41 Mon Sep 17 00:00:00 2001
+From: Christoph Wolk <cwo.kde@posteo.net>
+Date: Mon, 26 May 2025 20:29:29 +0000
+Subject: [PATCH] applets/batterymonitor: only show one battery icon in desktop
+ tray
+
+The compact representation only shows one icon in most cases, but on
+the desktop users can resize it to be long in only one direction and
+short in the other to get a row or column with one icon for each
+connected battery. This breaks in the case of a system tray on the
+desktop, where applets inherit the desktop form factor, and the battery
+applet appears to have a variably-sized partial icon below it depending
+on the tray widget dimensions. (I suspect the change toward nested
+plasma containments in 46ada24f is involved).
+
+Instead, we also test for the ContainmentForcesSquarePlasmoids
+containment hint (which the tray sets), and consider the widget
+constrained in that case - with a forced square plasmoid, showing
+multiple icons doesn't make much sense anyway.
+
+BUG: 504697
+FIXED-IN: 6.4.0
+
+
+(cherry picked from commit 58f2c466e48562f5c78cd19990148af473bbde24)
+
+Co-authored-by: Christoph Wolk <cwo.kde@posteo.net>
+---
+ .../batterymonitor/package/contents/ui/CompactRepresentation.qml | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml b/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml
+index 3cbfba60a..23e6272ed 100644
+--- a/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml
++++ b/applets/batterymonitor/package/contents/ui/CompactRepresentation.qml
+@@ -21,6 +21,7 @@ MouseArea {
+     id: root
+ 
+     readonly property bool isConstrained: [PlasmaCore.Types.Vertical, PlasmaCore.Types.Horizontal].includes(Plasmoid.formFactor)
++        || Plasmoid.containmentDisplayHints & PlasmaCore.Types.ContainmentForcesSquarePlasmoids
+     property int batteryPercent: 0
+     property bool batteryPluggedIn: false
+     property bool hasBatteries: false
+-- 
+GitLab
+
diff -Nru powerdevil-6.3.5/debian/patches/upstream_dc057e44_kcm-correct-buddyFor-relationship-for-script-items.patch powerdevil-6.3.6/debian/patches/upstream_dc057e44_kcm-correct-buddyFor-relationship-for-script-items.patch
--- powerdevil-6.3.5/debian/patches/upstream_dc057e44_kcm-correct-buddyFor-relationship-for-script-items.patch	1970-01-01 01:00:00.000000000 +0100
+++ powerdevil-6.3.6/debian/patches/upstream_dc057e44_kcm-correct-buddyFor-relationship-for-script-items.patch	2025-07-19 14:45:56.000000000 +0200
@@ -0,0 +1,34 @@
+From dc057e44368e5c2166b2214bbd13a7a754e80061 Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Tue, 10 Jun 2025 13:51:40 -0600
+Subject: [PATCH] kcm: correct buddyFor relationship for script items
+
+The buddy needs to be a direct child.
+
+BUG: 504668
+FIXED-IN: 6.4.0
+
+
+(cherry picked from commit 412e9f4b445062c508baf0992655f73dd9a1df11)
+
+Co-authored-by: Nate Graham <nate@kde.org>
+---
+ kcm/ui/RunScriptEdit.qml | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kcm/ui/RunScriptEdit.qml b/kcm/ui/RunScriptEdit.qml
+index 48050825d..b22359d82 100644
+--- a/kcm/ui/RunScriptEdit.qml
++++ b/kcm/ui/RunScriptEdit.qml
+@@ -15,7 +15,7 @@ import org.kde.kirigami as Kirigami
+ FocusScope {
+     id: root
+     required property string command
+-    Kirigami.FormData.buddyFor: commandText
++    Kirigami.FormData.buddyFor: row
+ 
+     implicitHeight: row.implicitHeight
+     implicitWidth: row.implicitWidth
+-- 
+GitLab
+

--- End Message ---
--- Begin Message ---
Unblocked powerdevil.

--- End Message ---

Reply to: