mirror of
https://github.com/end-4/dots-hyprland.git
synced 2026-06-05 14:59:27 -05:00
fix(qs): NotificationItem polish() loop on Qt 6.11
summaryText.Layout.fillWidth depended on summaryRow.implicitWidth,
its own parent RowLayout, creating a circular dependency:
summaryText.Layout.fillWidth
-> changes summaryText.width
-> changes summaryRow.implicitWidth
-> re-evaluates summaryText.Layout.fillWidth (loop)
Qt 6.10 tolerated this through layout settling heuristics, but
Qt 6.11.1 detects the loop and emits "ColumnLayout called polish()
inside updatePolish() of ColumnLayout" warnings repeatedly, pinning
CPU at 100% and freezing the sidebar/notification UI when opened.
Use root.width (the stable width inherited from the parent ListView)
as the reference for the elision threshold instead of the recursive
summaryRow.implicitWidth.
This commit is contained in:
@@ -153,7 +153,7 @@ Item { // Notification item area
|
||||
implicitHeight: summaryText.implicitHeight
|
||||
StyledText {
|
||||
id: summaryText
|
||||
Layout.fillWidth: summaryTextMetrics.width >= summaryRow.implicitWidth * root.summaryElideRatio
|
||||
Layout.fillWidth: summaryTextMetrics.width >= root.width * root.summaryElideRatio
|
||||
visible: !root.onlyNotification
|
||||
font.pixelSize: root.fontSize
|
||||
color: Appearance.colors.colOnLayer3
|
||||
|
||||
Reference in New Issue
Block a user