[ icewm-Bugs-1878118 ] eggtrayicon causes icons to be placed in their own window

"SourceForge.net" <[email protected]>
Newsgroups gmane.comp.window-managers.icewm.devel
Message-ID <[email protected]>
Bugs item #1878118, was opened at 2008-01-23 16:50
Message generated for change (Comment added) made by s_i_m
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=100031&aid=1878118&group_id=31

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: icewm-1.2
Group: None
Status: Open
Resolution: None
Priority: 6
Private: No
Submitted By: Simon Morgan (simonmorgan)
Assigned to: Marko Macek (captnmark)
Summary: eggtrayicon causes icons to be placed in their own window

Initial Comment:
A code change in icetray.cc between 1.2.34 and 1.2.35 results in the Gajim tray icon being placed in its own window. When Gajim is closed the window remains (minus icon) but is "broken" and refuses to be killed.

This problem seems to be unique to eggtrayicon and IceWM. Please find attached a test case which I've used to reproduce the problem with 1.2.35 as well as a recent CVS copy. The problem does not seem to exist in 1.2.34 or JWM (Joe's Window Manager).

The change which results in the problem appears to be:

193,195c199,205
<     if (fTray2->visible())
<         show();
<     else 
---
>     if (fTray2->visible()) {
>         if (!fManaged)
>             requestDock();
>         else
>             show();
>     } else {
>         fManaged = false;

If I remove the call to requestDock() and simply call show() as before the problem seems to go away. I'm not suggesting this as a fix (I'm sure you have a reason for calling requestDock()), but rather to point you to where the problem may lie.

----------------------------------------------------------------------

Comment By: Stanislav Maslovski (s_i_m)
Date: 2009-02-15 20:21

Message:
I have compiled icewm with debugging enabled. Below I give an example which
illustrates some internals of the bug. For me it looks like a race between
something unmapping the embedded tray window and something sending docking
requests.

Pre-requisites:
gajim, linuxdc++
(actually, can be any app using the tray, with gajim it just happens more
often for some reason)

Initial conditions:
Empty systray

The log:
============ systray is empty; we start gajim ===================
Session Management support not available (missing gnome.ui module)
Network Manager support not available
icewmtray: window=0xC0003A: reparentNotify serial=       239
event=0xC0003A, parent=0x800018, (0:0), override_redirect=False
icewmtray: window=0xC0003A: reparentNotify serial=       239
event=0x800018, parent=0x800018, (0:0), override_redirect=False
icewmtray: window=0xC0003A: mapNotify serial=       240 event=0xC0003A,
override_redirect=False
icewmtray: window=0xC0003A: mapNotify serial=       240 event=0x800018,
override_redirect=False
icewmtray: window=0xC0003A: configureNotify serial=       243
event=0xC0003A, (0:0-16x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC0003A: configureNotify serial=       243
event=0x800018, (0:0-16x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC0003A: real configureRequest serial=       255
parent=0x800018, (0:0-16x24) border_width=0, above=0x0, detail=0,
value_mask=0x10
icewmtray: window=0x800008: reparentNotify serial=       255
event=0x800008, parent=0x13B, (0:0), override_redirect=False
icewmtray: window=0x800008: reparentNotify serial=       256
event=0x800008, parent=0xA006C8, (0:0), override_redirect=False
icewmtray: window=0x800008: mapNotify serial=       256 event=0x800008,
override_redirect=False
icewmtray: window=0xC0003A: configureNotify serial=       260
event=0xC0003A, (0:0-24x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC0003A: configureNotify serial=       260
event=0x800018, (0:0-24x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC0003A: unmapNotify serial=       303 event=0xC0003A,
from_configure=False send_event=False
icewmtray: window=0xC0003A: unmapNotify serial=       303 event=0x800018,
from_configure=False send_event=False
icewmtray: window=0xC0003A: destroy serial=       303 event=0xC0003A
icewmtray: window=0xC0003A: destroy serial=       303 event=0x800018
icewmtray: window=0x800008: unmapNotify serial=       312 event=0x800008,
from_configure=False send_event=False
Requires docutils 0.4 for set_classes to be available
============ I quit gajim, and then run linuxdc++ =============
Loading: Hash database
Loading: Shared Files
Loading: Download Queue
icewmtray: window=0xC00064: reparentNotify serial=       339
event=0xC00064, parent=0x800024, (0:0), override_redirect=False
icewmtray: window=0xC00064: reparentNotify serial=       339
event=0x800024, parent=0x800024, (0:0), override_redirect=False
icewmtray: window=0xC00064: mapNotify serial=       340 event=0xC00064,
override_redirect=False
icewmtray: window=0xC00064: mapNotify serial=       340 event=0x800024,
override_redirect=False
icewmtray: window=0xC00064: configureNotify serial=       343
event=0xC00064, (0:0-20x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC00064: configureNotify serial=       343
event=0x800024, (0:0-20x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC00064: real configureRequest serial=       358
parent=0x800024, (0:0-20x24) border_width=0, above=0x0, detail=0,
value_mask=0x10
icewmtray: window=0x800008: reparentNotify serial=       358
event=0x800008, parent=0x13B, (0:0), override_redirect=False
icewmtray: window=0x800008: reparentNotify serial=       358
event=0x800008, parent=0xA009A1, (0:0), override_redirect=False
icewmtray: window=0x800008: mapNotify serial=       358 event=0x800008,
override_redirect=False
icewmtray: window=0xC00064: configureNotify serial=       360
event=0xC00064, (0:0-24x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC00064: configureNotify serial=       360
event=0x800024, (0:0-24x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC00064: unmapNotify serial=       395 event=0xC00064,
from_configure=False send_event=False
icewmtray: window=0xC00064: unmapNotify serial=       395 event=0x800024,
from_configure=False send_event=False
icewmtray: window=0xC00064: destroy serial=       395 event=0xC00064
icewmtray: window=0xC00064: destroy serial=       395 event=0x800024
icewmtray: window=0x800008: unmapNotify serial=       404 event=0x800008,
from_configure=False send_event=False
Shutting down...
============ quit linuxdc++, and run gajim agian =======
Session Management support not available (missing gnome.ui module)
Network Manager support not available
icewmtray: window=0xC0003A: reparentNotify serial=       431
event=0xC0003A, parent=0x80002E, (0:0), override_redirect=False
icewmtray: window=0xC0003A: reparentNotify serial=       431
event=0x80002E, parent=0x80002E, (0:0), override_redirect=False
icewmtray: window=0xC0003A: mapNotify serial=       432 event=0xC0003A,
override_redirect=False
icewmtray: window=0xC0003A: mapNotify serial=       432 event=0x80002E,
override_redirect=False
icewmtray: window=0xC0003A: configureNotify serial=       435
event=0xC0003A, (0:0-16x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC0003A: configureNotify serial=       435
event=0x80002E, (0:0-16x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC0003A: real configureRequest serial=       445
parent=0x80002E, (0:0-16x24) border_width=0, above=0x0, detail=0,
value_mask=0x10
icewmtray: window=0x800008: reparentNotify serial=       447
event=0x800008, parent=0x13B, (0:0), override_redirect=False
icewmtray: window=0x800008: reparentNotify serial=       447
event=0x800008, parent=0xA00CF9, (0:0), override_redirect=False
icewmtray: window=0x800008: mapNotify serial=       447 event=0x800008,
override_redirect=False
icewmtray: window=0xC0003A: configureNotify serial=       452
event=0xC0003A, (0:0-24x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC0003A: configureNotify serial=       452
event=0x80002E, (0:0-24x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC0003A: unmapNotify serial=       495 event=0xC0003A,
from_configure=False send_event=False
icewmtray: window=0xC0003A: unmapNotify serial=       495 event=0x80002E,
from_configure=False send_event=False
icewmtray: window=0xC0003A: destroy serial=       495 event=0xC0003A
icewmtray: window=0xC0003A: destroy serial=       495 event=0x80002E
icewmtray: window=0x800008: unmapNotify serial=       504 event=0x800008,
from_configure=False send_event=False
Requires docutils 0.4 for set_classes to be available
============ quit gajim, run linuxdc++ =============
Loading: Hash database
Loading: Shared Files
Loading: Download Queue
icewmtray: window=0xC00064: reparentNotify serial=       531
event=0xC00064, parent=0x80003A, (0:0), override_redirect=False
icewmtray: window=0xC00064: reparentNotify serial=       531
event=0x80003A, parent=0x80003A, (0:0), override_redirect=False
icewmtray: window=0xC00064: mapNotify serial=       532 event=0xC00064,
override_redirect=False
icewmtray: window=0xC00064: mapNotify serial=       532 event=0x80003A,
override_redirect=False
icewmtray: window=0xC00064: configureNotify serial=       535
event=0xC00064, (0:0-20x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC00064: configureNotify serial=       535
event=0x80003A, (0:0-20x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC00064: real configureRequest serial=       550
parent=0x80003A, (0:0-20x24) border_width=0, above=0x0, detail=0,
value_mask=0x10
icewmtray: window=0x800008: reparentNotify serial=       550
event=0x800008, parent=0x13B, (0:0), override_redirect=False
icewmtray: window=0x800008: reparentNotify serial=       550
event=0x800008, parent=0xA0116A, (0:0), override_redirect=False
icewmtray: window=0x800008: mapNotify serial=       550 event=0x800008,
override_redirect=False
icewmtray: window=0xC00064: configureNotify serial=       552
event=0xC00064, (0:0-24x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC00064: configureNotify serial=       552
event=0x80003A, (0:0-24x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC00064: unmapNotify serial=       587 event=0xC00064,
from_configure=False send_event=False
Shutting down...
icewmtray: window=0xC00064: unmapNotify serial=       587 event=0x80003A,
from_configure=False send_event=False
icewmtray: window=0xC00064: destroy serial=       587 event=0xC00064
icewmtray: window=0xC00064: destroy serial=       587 event=0x80003A
icewmtray: window=0x800008: unmapNotify serial=       596 event=0x800008,
from_configure=False send_event=False
============ quit linuxdc++, run gajim and HERE WE GET IT  ==========
Session Management support not available (missing gnome.ui module)
Network Manager support not available
icewmtray: window=0xC0003A: reparentNotify serial=       623
event=0xC0003A, parent=0x800044, (0:0), override_redirect=False
icewmtray: window=0xC0003A: reparentNotify serial=       623
event=0x800044, parent=0x800044, (0:0), override_redirect=False
icewmtray: window=0xC0003A: mapNotify serial=       624 event=0xC0003A,
override_redirect=False
icewmtray: window=0xC0003A: mapNotify serial=       624 event=0x800044,
override_redirect=False
icewmtray: window=0xC0003A: configureNotify serial=       627
event=0xC0003A, (0:0-16x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC0003A: configureNotify serial=       627
event=0x800044, (0:0-16x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC0003A: real configureRequest serial=       637
parent=0x800044, (0:0-16x24) border_width=0, above=0x0, detail=0,
value_mask=0x10
icewmtray: window=0xC0003A: configureNotify serial=       644
event=0xC0003A, (0:0-24x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC0003A: configureNotify serial=       644
event=0x800044, (0:0-24x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0x800008: reparentNotify serial=       654
event=0x800008, parent=0x13B, (0:0), override_redirect=False
icewmtray: window=0x800008: reparentNotify serial=       654
event=0x800008, parent=0xA014EA, (0:0), override_redirect=False
icewmtray: window=0x800008: mapNotify serial=       654 event=0x800008,
override_redirect=False
IceWM: APP BUG? configureRequest for window A0116A sent to destroyed frame
800008!
IceWM: APP BUG? mapRequest for window A0116A sent to destroyed frame
800008!
icewmtray: window=0x800008: unmapNotify serial=       655 event=0x800008,
from_configure=False send_event=False
icewmtray: window=0x800008: reparentNotify serial=       655
event=0x800008, parent=0xA014F4, (0:0), override_redirect=False
icewmtray: window=0x800008: mapNotify serial=       655 event=0x800008,
override_redirect=False
icewmtray: window=0x800008: configureNotify serial=       655
event=0x800008, (129:147-24x24) border_width=0, above=0x0,
override_redirect=False
icewmtray: window=0xC0003A: unmapNotify serial=       658 event=0xC0003A,
from_configure=False send_event=False
icewmtray: window=0xC0003A: unmapNotify serial=       658 event=0x800044,
from_configure=False send_event=False
icewmtray: window=0xC0003A: destroy serial=       658 event=0xC0003A
icewmtray: window=0xC0003A: destroy serial=       658 event=0x800044
Requires docutils 0.4 for set_classes to be available
================= guit gajim, end ==================


----------------------------------------------------------------------

Comment By: Stanislav Maslovski (s_i_m)
Date: 2009-02-13 21:22

Message:
This bug is present in 1.2.37. I see it with gajim. The bug is usualy seen
after I close a single app (does not matter which) that used the systray
and then start gajim. Instead of the systray the gajim icon appears in its
own window. This window cannot be closed.

See also icewm-Bugs-2499403.

----------------------------------------------------------------------

Comment By: quest (myquest)
Date: 2008-11-15 03:23

Message:
s/thies/this, sorry

----------------------------------------------------------------------

Comment By: quest (myquest)
Date: 2008-11-15 03:23

Message:
How I can add 2 screenshots in thies report to illustrate this icewmtray's
bug?

----------------------------------------------------------------------

Comment By: quest (myquest)
Date: 2008-11-15 03:14

Message:
icewm-1.2.36pre1
When I have change theme or restarting Icewm - tray icon being placed in
its own window. And when I change theme or restarting Icewm again - this
"tray" window now without any tray icons - only small black window  refuses
to be killed.

----------------------------------------------------------------------

Comment By: Marko Macek (captnmark)
Date: 2008-04-06 22:36

Message:
Logged In: YES 
user_id=1814
Originator: NO

note: the testcase doesn't cause the problem for me in latest CVS
(1.2.35+)

Be sure that you are using icewmtray from icewm-1.2.35 and not an older
version.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=100031&aid=1878118&group_id=31

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.