Bug 334332

Summary: Some icons are not displayed
Product: plasmashell Reporter: Antonio Rojas <arojas>
Component: Application Menu (Kicker)Assignee: Eike Hein <hein>
Severity: normal    
Priority: NOR    
Version: master   
Target Milestone: 1.0   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Screenshot
Kicker shot

Description Antonio Rojas 2014-05-04 14:35:39 UTC
The icons for some applications are not displayed, see screenchot. They are displayed correctly in kickoff.

Reproducible: Always
Comment 1 Antonio Rojas 2014-05-04 14:36:03 UTC
Created attachment 86454 [details]
Comment 2 Eike Hein 2014-05-04 14:37:12 UTC
This is most likely a consequence of switching to QIconItem in the delegate, which has the advantage of being much faster than IconItem however.
Comment 3 Eike Hein 2014-05-05 09:51:59 UTC
Created attachment 86468 [details]
Kicker shot

I can't reproduce the problem here; the apps that don't have icons on your shot have icons on my system.
Comment 4 Antonio Rojas 2014-05-05 09:54:27 UTC
I can reproduce in two different machines, but the applications whose icons are missing are different in each one
Comment 5 Eike Hein 2014-05-05 10:00:37 UTC
Can you detect a pattern in the installation locations for the respective icons?
Comment 6 Eike Hein 2014-05-05 12:23:54 UTC
Git commit ac2bb87986b3d941d17109fc7ea69e14e750803d by Eike Hein.
Committed on 05/05/2014 at 12:22.
Pushed by hein into branch 'master'.

Move QIcon::fromTheme() out of delegate instanciation hotpath.

M  +3    -2    applets/kicker/plugin/abstractentry.h
M  +2    -2    applets/kicker/plugin/appsmodel.cpp
M  +1    -1    applets/kicker/plugin/recentdocsmodel.cpp
M  +1    -1    applets/kicker/plugin/rootmodel.cpp
M  +1    -1    applets/kicker/plugin/systemmodel.cpp

Comment 7 Eike Hein 2014-05-05 12:27:39 UTC
Upfront: While I can't reproduce the problem with KMix et all, I noticed that Kicker doesn't show an icon for the Spotify client in my shot, while Kickoff does.

The icon code is now identical to Kickoff's, though this doesn't actually change anything.

Turns out the difference is in the icon *size*: Kickoff's icons are units.iconSizes.medium while Kicker's are units.iconSizes.small, and Spotify doesn't install a 16x16 icon. KDE used to scale down the next-larger size in the past, I think, but apparently no longer does, so the "no icon" fallback is used instead.
Comment 8 Eike Hein 2014-05-05 12:36:41 UTC

*** This bug has been marked as a duplicate of bug 330845 ***