From 6eaa869fac8dbd6af1dd8ecc8be93d2079e38a4d Mon Sep 17 00:00:00 2001 From: RamonBritoDev Date: Thu, 21 May 2026 16:23:40 +0000 Subject: [PATCH] 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. --- .../quickshell/ii/modules/common/widgets/NotificationItem.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/modules/common/widgets/NotificationItem.qml b/dots/.config/quickshell/ii/modules/common/widgets/NotificationItem.qml index bb1bab787..23be8287c 100644 --- a/dots/.config/quickshell/ii/modules/common/widgets/NotificationItem.qml +++ b/dots/.config/quickshell/ii/modules/common/widgets/NotificationItem.qml @@ -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