Bug 153637 - Applications that do not set _NET_WM_ICON get a corrupted icon
Summary: Applications that do not set _NET_WM_ICON get a corrupted icon
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Lubos Lunak
: 155083 155672 156410 157072 157403 (view as bug list)
Depends on:
Reported: 2007-12-07 20:18 UTC by Mike
Modified: 2008-02-22 20:56 UTC (History)
14 users (show)

See Also:
Latest Commit:
Version Fixed In:


Note You need to log in before you can comment on or make changes to this bug.
Description Mike 2007-12-07 20:18:13 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources
OS:                Linux

Java again ;)

This app does not set _NET_WM_ICON and the icon in the taskbar looks like random memory.

It should display a default icon instead.

The closest hint on the window is WM_ICON_NAME(STRING) = "Java"... Maybe all java apps set this if they do not have _NET_WM_ICON so you could maybe use it to show a java icon instead of the default.
Comment 1 Marco Martin 2007-12-12 19:26:46 UTC
i get this problem with opera and openoffice, but it seems that an icon is set and KWindowSystem::icon( d->win, width, height, allowResize ) returns someting even if corrupted.
for instance the opera icon has a recognizable shape, even if filled with junk and the thing returned by KWindowSystem::icon is not a null pixmap (unfortunately i would say:)
Comment 2 Marco Martin 2007-12-14 16:10:55 UTC
it seems that the problem is in kwindowsystem_x11.cpp around line 602: the mask is generated correctly (at least in case of opera) but the pixmap is not.
i would say the problem is in
XCopyArea(QX11Info::display(), p, pm.handle(), gc, 0, 0, w, h, 0, 0);
because it's pm that is going to contain corrupted data, but this is totally black magic to me :(
Comment 3 mutlu inek 2007-12-27 22:17:03 UTC
When I start OpenOffice or Opera, initially the correct icon is displayed. The moment the application's main window is drawn onto the desktop, the icon is distorted. I.e. I can see the correct icon as long as the app is launching.
Comment 4 Lubos Lunak 2008-01-04 18:06:17 UTC
Visual mismatches again.
Comment 5 Alex Merry 2008-01-04 18:31:17 UTC
*** Bug 155083 has been marked as a duplicate of this bug. ***
Comment 6 Alex Merry 2008-01-04 18:34:57 UTC
Let's keep track of this on panel-devel, since the result is taskbar corruption.
Comment 7 Lubos Lunak 2008-01-04 18:39:56 UTC
I bet the application icon in the kwin decoration is broken too (for decorations that have it).
Comment 8 Alex Merry 2008-01-04 18:53:23 UTC
With OpenOffice.org, I get a correct OpenOffice.org icon in the decoration (Oxygen), but a white outline in the taskbar.
Comment 9 Marco Martin 2008-01-13 19:01:21 UTC
*** Bug 155672 has been marked as a duplicate of this bug. ***
Comment 10 Jure Repinc 2008-01-17 19:46:53 UTC
I also get this problem with Psi, a Qt3 based Jabber client.
Comment 11 Yves Glodt 2008-01-23 09:29:29 UTC
*** This bug has been confirmed by popular vote. ***
Comment 12 Lubos Lunak 2008-01-25 11:56:18 UTC
*** Bug 156410 has been marked as a duplicate of this bug. ***
Comment 13 Andrey 2008-02-02 23:17:12 UTC
I have exactly the same thing with Opera as Marco Martin described.
Comment 14 András Manţia 2008-02-03 10:25:44 UTC
It happens for Konqueror as well, if you load certain webpages, the icons
gets corrupted.
Comment 15 David Faure 2008-02-07 20:04:00 UTC
Happens with XEmacs too: taskbar icon is corrupt. kwin-decoration icon is okay though.
Comment 16 Aaron J. Seigo 2008-02-07 20:09:58 UTC
*** Bug 157072 has been marked as a duplicate of this bug. ***
Comment 17 András Manţia 2008-02-08 09:40:46 UTC
*** Bug 157403 has been marked as a duplicate of this bug. ***
Comment 18 Daniel Pope 2008-02-14 11:08:47 UTC
Happens with Firefox 3 beta 3, but not Firefox 3 beta 2.

Does failing to set a _NET_WM_ICON constitute a bug that should reported to the application developers?
Comment 19 Mike 2008-02-14 17:36:35 UTC

There is no mention here that the client MUST set this property.  It seems to be optional.

The panel should not show garbage even if the client is misbehaving.
Comment 20 Aaron J. Seigo 2008-02-14 17:48:41 UTC
*** Bug 157017 has been marked as a duplicate of this bug. ***
Comment 21 Lubos Lunak 2008-02-22 20:51:00 UTC
SVN commit 778193 by lunakl:

Function for creating QPixmap from X Pixmap, and try to handle the case
when the depths differ.
BUG: 153637

 M  +6 -0      CMakeLists.txt  
 A             util/kxutils.cpp   [License: LGPL (v2+)]
 A             util/kxutils.h   [License: LGPL (v2+)]
 M  +7 -29     windowmanagement/kwindowsystem_x11.cpp  

WebSVN link: http://websvn.kde.org/?view=rev&revision=778193
Comment 22 Aaron J. Seigo 2008-02-22 20:56:27 UTC
awesome! thanks, Lubos =)