Like so: file:///home/nate/kde/usr/lib64/qml/org/kde/kirigami.2/ScrollablePage.qml:203:9: QML MouseArea: Binding loop detected for property "implicitHeight" file:///home/nate/kde/usr/lib64/qml/org/kde/kirigami.2/ScrollablePage.qml:203:9: QML MouseArea: Binding loop detected for property "implicitHeight" Can be reproduced by simply opening any Kirigami app that uses ScrollablePage anywhere.
This code looks suspicious: height: Math.max(root.flickable.height, implicitHeight) implicitHeight: { let impl = 0; for (let i in itemsParent.visibleChildren) { let child = itemsParent.visibleChildren[i]; if (child.implicitHeight <= 0) { impl = Math.max(impl, child.height); } else { impl = Math.max(impl, child.implicitHeight); } } return impl + itemsParent.anchors.topMargin + itemsParent.anchors.bottomMargin; }
*** Bug 458651 has been marked as a duplicate of this bug. ***
*** Bug 461152 has been marked as a duplicate of this bug. ***
propagating implicitheight from child to parent should be ok, I'm not sure why itdoes loops.. however, that code indeed is not pretty, is a bit of a acrobatics to make old code work, I think is one of the things when branching occurs i'm going to change making it better code, by allowing a single child as main content. (and knowingly break some apps in the process, but that is the only moment it can be done at all)
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/819
Git commit b73f7b9d1fb7a08dd905616062ac67820fa8969e by Marco Martin. Committed on 15/11/2022 at 12:51. Pushed by mart into branch 'master'. Fix binding loop accessing implicitheight of a child from the parent causes a binding loop, accessing he height seems to fix it M +1 -5 src/controls/ScrollablePage.qml https://invent.kde.org/frameworks/kirigami/commit/b73f7b9d1fb7a08dd905616062ac67820fa8969e
The fix had to be reverted because it broke Info Center; re-opening.
*** Bug 467791 has been marked as a duplicate of this bug. ***