Bug 357532

Summary: Widget Explorer is not being populated.
Product: [Plasma] plasmashell Reporter: Paul <pip.kde>
Component: Widget ExplorerAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: kde, kde
Priority: NOR    
Version: 5.5.1   
Target Milestone: 1.0   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Unpopulated Widget Explorer
Dragging Widget in unpopulated explorer.
Hack for opacity animator

Description Paul 2016-01-04 17:41:48 UTC
Following the recent update to kde-frameworks-5.17.0 / plasmashell 5.5.1 the widget explorer is not being populated. (Screenshot 1)

All widgets are present in /usr/share/plasma/plasmoids

Curiously, if I "guess" the location of a widget (within the explorer) I am able to grab and drag it using the mouse. (Screenshot 2)

Reproducible: Always

Steps to Reproduce:
1. Unlock widgets
2. Add widgets
3. 

Actual Results:  
Empty unpopulated widget explorer sidebar opens.

Expected Results:  
The widget explorer is populated with available widgets :)


Desktop theme: openSUSE
Widget style: QtCurve
Window decoration: Oxygen
Icon theme: Oxygen Ionised

Prior to the update to kde-frameworks-5.17.0 / plasmashell 5.5.1 the widget explorer was working correctly using the above set-up.
Comment 1 Paul 2016-01-04 17:42:42 UTC
Created attachment 96454 [details]
Unpopulated Widget Explorer
Comment 2 Paul 2016-01-04 17:43:44 UTC
Created attachment 96455 [details]
Dragging Widget in unpopulated explorer.
Comment 3 David Edmundson 2016-01-04 17:47:53 UTC
can you run "kquitapp5 plasmashell" then
"plasmashell" from a command line

then open the widget explorer again and paste me the output here
Comment 4 Paul 2016-01-04 18:07:10 UTC
OK - console output after executing:
"kquitapp5 plasmashell"
"plasmashell"
and opening the widget explorer


paul@Orion-Tumble:~$ kquitapp5 plasmashell
paul@Orion-Tumble:~$ plasmashell
unversioned plugin detected, may result in instability
unversioned plugin detected, may result in instability
unversioned plugin detected, may result in instability
unversioned plugin detected, may result in instability
unversioned plugin detected, may result in instability
unversioned plugin detected, may result in instability
unversioned plugin detected, may result in instability
No metadata file in the package, expected it at: "/home/Common-Public/Wallpapers//metadata.desktop"
No metadata file in the package, expected it at: "/home/Common-Public/Wallpapers//metadata.desktop"
No metadata file in the package, expected it at: "/home/Common-Public/Wallpapers//metadata.desktop"
KActivities: Database connection:  "kactivities_db_resources_139887737075904_readonly" 
    query_only:          QVariant(qlonglong, 1) 
    journal_mode:        QVariant(QString, "wal") 
    wal_autocheckpoint:  QVariant(qlonglong, 100) 
    synchronous:         QVariant(qlonglong, 0)
file:///usr/share/plasma/plasmoids/org.kde.plasma.kicker/contents/ui/main.qml:73:5: QML RootModel: Binding loop detected for property "showRecentApps"
file:///usr/share/plasma/plasmoids/org.kde.plasma.kicker/contents/ui/main.qml:73:5: QML RootModel: Binding loop detected for property "showRecentDocs"
file:///usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/contents/ui/main.qml:37: TypeError: Cannot read property 'DateTime' of undefined
Known plasmoid ids: QHash(("org.kde.plasma.clipboard", 29)("org.kde.plasma.battery", 33))
unversioned plugin detected, may result in instability
unversioned plugin detected, may result in instability
Notifications service registered
file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/Notifications.qml:135: TypeError: Cannot read property 'IdleTime' of undefined
XSync seems available and ready
XSync Inited
Supported, init completed
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:37: TypeError: Cannot read property 'flat' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:38: TypeError: Cannot read property 'hovered' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:124: TypeError: Cannot read property 'text' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Base/ButtonStyle.qml:83: TypeError: Cannot read property 'menu' of null                                                                                                     
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:37: TypeError: Cannot read property 'flat' of null                                                                                               
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:38: TypeError: Cannot read property 'hovered' of null                                                                                            
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:124: TypeError: Cannot read property 'text' of null                                                                                              
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Base/ButtonStyle.qml:83: TypeError: Cannot read property 'menu' of null                                                                                                     
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null              
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null              
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:37: TypeError: Cannot read property 'flat' of null                                                                                               
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:38: TypeError: Cannot read property 'hovered' of null                                                                                            
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:124: TypeError: Cannot read property 'text' of null                                                                                              
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Base/ButtonStyle.qml:83: TypeError: Cannot read property 'menu' of null                                                                                                     
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:37: TypeError: Cannot read property 'flat' of null                                                                                               
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:38: TypeError: Cannot read property 'hovered' of null                                                                                            
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:124: TypeError: Cannot read property 'text' of null                                                                                              
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Base/ButtonStyle.qml:83: TypeError: Cannot read property 'menu' of null                                                                                                     
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null              
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null              
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:37: TypeError: Cannot read property 'flat' of null                                                                                               
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:38: TypeError: Cannot read property 'hovered' of null                                                                                            
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:124: TypeError: Cannot read property 'text' of null                                                                                              
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Base/ButtonStyle.qml:83: TypeError: Cannot read property 'menu' of null                                                                                                     
libkcups: Create-Printer-Subscriptions last error: 0 successful-ok
libkcups: Get-Jobs last error: 0 successful-ok
libkcups: Get-Jobs last error: 0 successful-ok
Plasma Shell startup completed
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
file:///usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/contents/ui/DigitalClock.qml:444:5: QML Text: Cannot anchor to a null item.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
file:///usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/contents/ui/DigitalClock.qml:444:5: QML Text: Binding loop detected for property "height"
ST : DBus service  "org.freedesktop.NetworkManager" appeared. Loading  "org.kde.plasma.networkmanagement"
Path traversal attempt detected: "/usr/share/kservices5/plasma-applet-org.kde.plasma.networkmanagement.desktop" is not inside "/usr/share/plasma/plasmoids/org.kde.plasma.networkmanagement/"
unversioned plugin detected, may result in instability
Path traversal attempt detected: "/usr/share/kservices5/plasma-applet-org.kde.plasma.networkmanagement.desktop" is not inside "/usr/share/plasma/plasmoids/org.kde.plasma.networkmanagement/"
libkcups: 0
libkcups: 0
Path traversal attempt detected: "/usr/share/kservices5/plasma-applet-org.kde.plasma.networkmanagement.desktop" is not inside "/usr/share/plasma/plasmoids/org.kde.plasma.networkmanagement/"
DBusMenu disabled for this application
file:///usr/share/plasma/plasmoids/org.kde.plasma.networkmanagement/contents/ui/main.qml: QML Plasmoid: Cannot anchor to an item that isn't a parent or sibling.
file:///usr/share/plasma/plasmoids/org.kde.plasma.networkmanagement/contents/ui/main.qml: QML Plasmoid: Cannot anchor to an item that isn't a parent or sibling.
file:///usr/share/plasma/plasmoids/org.kde.plasma.networkmanagement/contents/ui/main.qml: QML Plasmoid: Cannot anchor to an item that isn't a parent or sibling.
file:///usr/share/plasma/plasmoids/org.kde.plasma.networkmanagement/contents/ui/main.qml: QML Plasmoid: Cannot anchor to an item that isn't a parent or sibling.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
networkmanager-qt: void NetworkManager::NetworkManagerPrivate::propertiesChanged(const QVariantMap&) Unhandled property "Devices"
file:///usr/share/plasma/plasmoids/org.kde.plasma.kicker/contents/ui/CompactRepresentation.qml:106:18: Unable to assign QUrl to bool
DBusMenu disabled for this application
TODO: port listCategories()
extraactions needs reimplementation
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
Couldn't find node shadow. Skipping rendering.
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:37: TypeError: Cannot read property 'flat' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:38: TypeError: Cannot read property 'hovered' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:124: TypeError: Cannot read property 'text' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Base/ButtonStyle.qml:83: TypeError: Cannot read property 'menu' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:37: TypeError: Cannot read property 'flat' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:38: TypeError: Cannot read property 'hovered' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:124: TypeError: Cannot read property 'text' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Base/ButtonStyle.qml:83: TypeError: Cannot read property 'menu' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:37: TypeError: Cannot read property 'flat' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:38: TypeError: Cannot read property 'hovered' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:124: TypeError: Cannot read property 'text' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Base/ButtonStyle.qml:83: TypeError: Cannot read property 'menu' of null
file:///usr/lib64/qt5/qml/QtQuick/Controls/Button.qml:96: TypeError: Cannot read property of null
Comment 5 Kai Uwe Broulik 2016-01-04 20:41:13 UTC
Could be a repaint issue due to the opacity animator that fades the list in?
Comment 6 Paul 2016-01-05 12:01:54 UTC
Comment 5 by Kai Uwe Broulik is, it would seem, is very relevant...

I'm far too old for all these fading, zooming, or sliding animations, and have them disabled via setting "longDuration=0" in "~/.config/plasmarc".

(As per Sebastian Kügler https://quickgit.kde.org/?p=plasma-framework.git&a=commit&h=52c489eee50621aebb8fd7c57bce7f327a602ad8 )

It seems that the Widget Explorer code is not handling that very well.

If I temporarily remove "longDuration=0" then the Widget Explorer shows the widgets.

Now, please, before you dismiss this as a 'WONTFIX', I would like to point out that disabling animation is something that some users would wish to do. 

A Google search on the phrase 'disable kde animations' just returned "About 33,100 results", so I don't think you can legitimately say that I'm a statistical outlier :)
Comment 7 Kai Uwe Broulik 2016-01-06 11:17:54 UTC
Could be that the animation is fired before the window is visible at which point it fails to get an animation context and breaks. I've seen this elsewhere, too. I think that's also the reason the busy indicator won't spin (eg while connecting to wifi) right after Plasma startup. Looks like a Qt bug I haven't managed to find a simple way to reproduce but in widget explorer a workaround should be possible.
Comment 8 Kai Uwe Broulik 2016-01-06 12:24:52 UTC
Created attachment 96487 [details]
Hack for opacity animator

Can you try whether thix patch fixes this for you?
Comment 9 Kai Uwe Broulik 2016-01-06 12:26:21 UTC
Ah, wait, sorry. I know why. Animators do not like a duration of zero, hence the breakage for you.

Sebas/Marco: I think we should have animation duration retur at least 1ms, no matter what is set, to work around this, we have other places where we use Animators bound to the units durations.
Comment 10 Kai Uwe Broulik 2016-01-06 12:28:38 UTC
Upstream bug report: https://bugreports.qt.io/browse/QTBUG-39766
Comment 11 Paul 2016-01-06 12:57:23 UTC
First off -- Thanks. :)

I've changed the setting to "longDuration=1" in "~/.config/plasmarc" and that works well.

Visually, animation is "disabled", and widgets are now shown in the Explorer.

Win / Win - Animation for the (probable majority) who want it - No animation for old farts like me.
Comment 12 Kai Uwe Broulik 2016-01-17 12:00:03 UTC
Git commit d9719f10374f4885a3ae3efd7e3b4f23e953e59d by Kai Uwe Broulik.
Committed on 17/01/2016 at 11:59.
Pushed by broulik into branch 'master'.

[Units] Return at least 1ms for durations

Animators do not reliably work with a duration of 0 as can be seen in the linked bug report.

Upstream bug report: QTBUG-39766
REVIEW: 126652

M  +4    -2    src/declarativeimports/core/units.cpp
M  +2    -2    src/declarativeimports/plasmacomponents/qml/PageStack.qml

http://commits.kde.org/plasma-framework/d9719f10374f4885a3ae3efd7e3b4f23e953e59d