Bug 64600

Summary: loadIcon( "iconname", KIcon::Panel, 22 ) returns "unknown" icon even if 22x22 icon exists
Product: [Frameworks and Libraries] kdelibs Reporter: Ingo Klöcker <kloecker>
Component: generalAssignee: Antonio Larrosa <larrosa>
Status: RESOLVED WORKSFORME    
Severity: major CC: kde
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Ingo Klöcker 2003-09-20 17:14:49 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
Compiler:          gcc version 3.3 20030226 (prerelease) (SuSE Linux) 
OS:          Linux

In KSystemTray::loadIcon( iconname ) the following code is used:
iconLoader()->loadIcon( iconname, KIcon::Panel, iconWidth );
where iconWidth is (by default) 22. This new (since 3.2) method is now used in a lot of applications which would be a good thing if it worked. But it doesn't work. A few days ago I rebuilt KDE HEAD from scratch. Since then the KSirc system tray icons are not displayed anymore. But the icons are definitely installed, e.g. $KDEDIR/share/apps/ksirc/icons/crystalsvg/22x22/actions/ksirc_dock.png.

Since I also want to install an applet icon for KMail I created a 22x22 icon and installed it with the same effect as for KSirc. The icon wasn't shown in the system tray. Then I tried something crazy. I created a 32x32 icon and installed it. And, believe it or not, now the 22x22 icon is shown in the system tray.

So either the author of KSystemTray::loadIcon did something wrong (maybe he shouldn't have used KIcon::Panel ???) or KIconLoader::loadIcon is broken.
Comment 1 Stephan Kulow 2003-11-11 10:27:10 UTC
wasn't that fixed?
Comment 2 Ingo Klöcker 2003-11-12 00:03:07 UTC
Seems to work now.
Comment 3 Stephan Kulow 2003-11-13 13:47:12 UTC
*** Bug 68063 has been marked as a duplicate of this bug. ***