Bug 499024

Summary: Binding loop in DelegatePopup.qml for notification popups with inline reply fields
Product: [Plasma] plasmashell Reporter: Nate Graham <nate>
Component: NotificationsAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: minor CC: kde, notmart
Priority: NOR    
Version: master   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 6.4.0
Sentry Crash Report:

Description Nate Graham 2025-01-22 19:29:29 UTC
Every time I get a notification that has an inline reply field, a binding loop warning is printed to the console:

Jan 22 12:27:19 Liberator plasmashell[46905]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/delegates/DelegatePopup.qml:136:17: QML Body: Binding loop detected for property "width"
Comment 1 Bug Janitor Service 2025-03-07 20:27:36 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5300
Comment 2 Nate Graham 2025-03-07 23:37:45 UTC
Git commit 5e643503a56b80a2ce039311d077277985daec00 by Nate Graham, on behalf of Christoph Wolk.
Committed on 07/03/2025 at 23:10.
Pushed by ngraham into branch 'master'.

applets/notifications: remove binding loop in popup

The notification popup sets the width of the body to equal the width
of its parent ScrollView's Flickable. This does not necessarily cause
a binding loop in a Layout, but it can if the body is long enough to
require wrapping (which esablishes the loop) but not long enough to
create a scroll bar (which would break the loop).

Instead, we bind the width to the ScrollView's width minus the scroll
bar's width, which avoids the binding loop.
FIXED-IN: 6.4.0

M  +1    -1    applets/notifications/package/contents/ui/delegates/DelegatePopup.qml

https://invent.kde.org/plasma/plasma-workspace/-/commit/5e643503a56b80a2ce039311d077277985daec00