Bug 500229 - Opening Spectacle logs an error message QML NavigationTabBar Binding loop detected for property width
Summary: Opening Spectacle logs an error message QML NavigationTabBar Binding loop det...
Status: RESOLVED FIXED
Alias: None
Product: Spectacle
Classification: Applications
Component: General (show other bugs)
Version: 24.12.2
Platform: Arch Linux Linux
: NOR minor
Target Milestone: ---
Assignee: Noah Davis
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-17 08:55 UTC by hbr
Modified: 2025-03-26 23:11 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Spectacle config (283 bytes, text/plain)
2025-02-18 19:41 UTC, hbr
Details

Note You need to log in before you can comment on or make changes to this bug.
Description hbr 2025-02-17 08:55:43 UTC
SUMMARY
Opening Spectacle logs the following error message to the journal:

spectacle[27723]: qrc:/qt/qml/org/kde/spectacle/private/Gui/DialogPage.qml:164:13: QML NavigationTabBar: Binding loop detected for property "width"

STEPS TO REPRODUCE
1. Open Spectacle
2. Check the journal

OBSERVED RESULT
The above error message appears in the journal multiple times.

EXPECTED RESULT
No error happens / error message gets logged.

SOFTWARE/OS VERSIONS
Operating System: EndeavourOS 
KDE Plasma Version: 6.3.0
KDE Frameworks Version: 6.11.0
Qt Version: 6.8.2
Kernel Version: 6.13.2-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 7800X3D 8-Core Processor
Memory: 30,9 GiB of RAM
Graphics Processor: AMD Radeon RX 7900 XTX
Manufacturer: ASRock
Product Name: X670E Steel Legend
Comment 1 Nate Graham 2025-02-18 17:26:02 UTC
Can confirm with "do not take a screenshot automatically" mode.
Comment 2 hbr 2025-02-18 19:41:53 UTC
Created attachment 178546 [details]
Spectacle config

Forgot to add my spectacle config
Comment 3 Bug Janitor Service 2025-03-17 20:46:50 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/spectacle/-/merge_requests/446
Comment 4 Bug Janitor Service 2025-03-17 22:15:38 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/1739
Comment 5 Noah Davis 2025-03-26 23:11:38 UTC
Git commit 94bc0a2f996f8f385aec6cceec5a03ff89f296dd by Noah Davis.
Committed on 26/03/2025 at 23:08.
Pushed by ndavis into branch 'master'.

NavigationTabBar: don't use left/right padding in implicitWidth

NavigationTabBar's horizontalPadding is based on width to center the contentItem, so this would cause a binding loop.

M  +1    -1    src/controls/NavigationTabBar.qml

https://invent.kde.org/frameworks/kirigami/-/commit/94bc0a2f996f8f385aec6cceec5a03ff89f296dd
Comment 6 Noah Davis 2025-03-26 23:11:46 UTC
Git commit e6a1504cad2295bfd54a5fc3d25d9c56e5c03c43 by Noah Davis.
Committed on 26/03/2025 at 23:08.
Pushed by ndavis into branch 'master'.

NavigationTabBar: don't use availableWidth in contentWidth

For Pane subclasses, contentWidth is just another way to set the default contentItem width. It should not be based on the contentItem's width or the root item's width and then also used in the root item's implicit width.

Otherwise: implicitWidth -> needs contentWidth -> needs availableWidth -> needs width and paddings -> needs implicitWidth -> etc...

M  +1    -1    src/controls/NavigationTabBar.qml

https://invent.kde.org/frameworks/kirigami/-/commit/e6a1504cad2295bfd54a5fc3d25d9c56e5c03c43