Bug 374786

Summary: Look and Feel system settings module freezes when I check "Use desktop layout from theme"
Product: [Plasma] plasmashell Reporter: Lucas <kdeokk>
Component: Global Theme packagesAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: plasma-bugs-null
Priority: NOR    
Version First Reported In: master   
Target Milestone: 1.0   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Lucas 2017-01-08 21:02:49 UTC
Look and Feel system settings module freezes when I check "Use desktop layout from theme". Here is the output from konsole

neon@neon:~$ systemsettings5
org.kde.kcoreaddons: Error loading plugin "kcm_lookandfeel" "The shared library was not found." 
Plugin search paths are ("/usr/lib/x86_64-linux-gnu/qt5/plugins", "/usr/bin") 
The environment variable QT_PLUGIN_PATH might be not correctly set
Trying to use rootObject before initialization is completed, whilst using setInitializationDelayed. Forcing completion
file:///usr/share/kpackage/kcms/kcm_lookandfeel/contents/ui/main.qml:48:13: QML GridView: Binding loop detected for property "cellWidth"
file:///usr/share/kpackage/kcms/kcm_lookandfeel/contents/ui/main.qml:48:13: QML GridView: Binding loop detected for property "cellWidth"
file:///usr/share/kpackage/kcms/kcm_lookandfeel/contents/ui/main.qml:48:13: QML GridView: Binding loop detected for property "cellWidth"
file:///usr/share/kpackage/kcms/kcm_lookandfeel/contents/ui/main.qml:48:13: QML GridView: Binding loop detected for property "cellWidth"
file:///usr/share/kpackage/kcms/kcm_lookandfeel/contents/ui/main.qml:181: ReferenceError: needsSave is not defined
Killed

You can reproduce this by downloading DBreeze theme and checking "Use desktop layout from theme" Works fine with other themes. I can only speculate that other look and feel packages does not use "org.kde.plasma.desktop-layout.js"

You can also reproduce by using this theme
https://drive.google.com/open?id=0BxDJoO8w2-J5enJveE0zWVJrNTA

Another thing, works fine when launching directly via krunner or kcmshell5 kcm_lookandfeel
Comment 1 Marco Martin 2017-01-09 12:50:07 UTC
Git commit 05920ab34283dd91d6575e6f479c14b63a258c60 by Marco Martin.
Committed on 09/01/2017 at 12:41.
Pushed by mart into branch 'Plasma/5.8'.

fix binding loop

basing the cellWidth on the gridview width gives a problem
when the scrollview passes from scrollbar to no scrollbar,
as it may resize the contents, change the number of columns, cause
reevalutation giving a binding loop, causing a freeze of the app

M  +2    -1    kcms/lookandfeel/package/contents/ui/main.qml

https://commits.kde.org/plasma-desktop/05920ab34283dd91d6575e6f479c14b63a258c60