After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 314097 - Muine notification dissappears after gnome-panel crash
Muine notification dissappears after gnome-panel crash
Status: RESOLVED FIXED
Product: muine
Classification: Other
Component: general
trunk
Other Linux
: Normal normal
: ---
Assigned To: Muine Maintainers
Panel Maintainers
: 330803 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-08-21 15:42 UTC by Crispin Flowerday (not receiving bugmail)
Modified: 2006-05-29 22:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
egg-sharp.cs (12.20 KB, text/plain)
2005-11-17 03:29 UTC, Ed Catmur
  Details
egg-sharp.cs (12.18 KB, text/plain)
2005-11-17 03:53 UTC, Ed Catmur
  Details
muine-trayicon-fix.patch (10.74 KB, patch)
2005-11-17 03:55 UTC, Ed Catmur
none Details | Review
egg-sharp.cs (12.20 KB, text/plain)
2005-11-29 02:44 UTC, Ed Catmur
  Details
muine-trayicon-fix.patch, relicensed LGPL 2 (10.76 KB, patch)
2005-11-29 02:45 UTC, Ed Catmur
none Details | Review

Description Crispin Flowerday (not receiving bugmail) 2005-08-21 15:42:11 UTC
Version details: Breezy

If the gnome-panel crashes, then the notification icon doesn't reappear. I seem
to recall that in the past it reappeared perfectly, but not with the current
0.8.3 release (with the associated plugin).

Ubuntu/Breezy

ii  muine                                0.8.3-5ubuntu3                   
Simple playlist based music player
ii  muine-plugin-trayicon                0.8.3-5ubuntu3                   
TrayIcon Plugin for the Muine music player
Comment 1 Teppo Turtiainen 2005-08-22 20:46:40 UTC
I'm seeing the same behaviour with Blam, so this probably isn't a bug in Muine.
Reassigning to gnome-panel.
Comment 2 Vincent Untz 2005-08-23 05:52:08 UTC
This is working fine for some apps (at least gossip). I think the applications
need to correctly handle when the tray manager disappears...

Or maybe it's a problem in eggtrayicon? Most probably not a problem with the panel.

Reassigning back :-)
Comment 3 Ed Catmur 2005-11-09 02:13:11 UTC
The code in muine/plugins/egg-sharp.cs is just... broken: Jorn tried to port the
f.d.o tray icon spec to C# and failed (or got bored). (This is 2005-05-01, btw.)
There's TODOs all over the place, in particular where the tray manager
disappearing should be handled.

C# is just not right for the tray icon spec. It's fairly involved Xlib logic;
structures, pointers and casts all over the place. eggtrayicon.[ch] has the code
correct, tested and actively maintained, so there's no point having another
implementation on gnome.org. 

The right thing to do would be to add back eggtrayicon.[ch] (updated from latest
libegg) into libmuine.so - it's only 500 lines or so, so the alternative of
creating libmuine-trayicon.so just looks silly.
Comment 4 Ed Catmur 2005-11-17 03:29:01 UTC
So it's actually tberman's fault, not Jorn's. See
http://off.net/~tberman/diary/archives/003104.html for the story. (I still
reckon using C# with Xlib is like using a kitten to hammer in screws...)

Anyway, I've taken the time (and learning opportunity) to finish egg-sharp.cs;
I've implemented the missing aspects to make it algorithmically identical to
eggtrayicon.c. It now behaves when the tray manager disappears.
Comment 5 Ed Catmur 2005-11-17 03:29:48 UTC
Created attachment 54849 [details]
egg-sharp.cs
Comment 6 Ed Catmur 2005-11-17 03:53:34 UTC
Created attachment 54853 [details]
egg-sharp.cs

Fixed to work on x86-64. The problem is that the Xlib long type does not
directly correspong to any CLR numeric type - on x86, system long == CLR int,
but on amd64, system long == CLR long. The solution I've found is to use
IntPtr; don't know if there's a better fix.
Comment 7 Ed Catmur 2005-11-17 03:55:55 UTC
Created attachment 54854 [details] [review]
muine-trayicon-fix.patch

... and as a patch to the current egg-sharp.cs.

Right, looks like blam and banshee both use the broken code; time to file some
bugs.
Comment 8 Ed Catmur 2005-11-17 04:04:22 UTC
blam: bug 155484
banshee: bug 321684
Comment 9 Ed Catmur 2005-11-29 02:44:28 UTC
Created attachment 55356 [details]
egg-sharp.cs

Aaron pointed out that a more liberal license than the GPL could be useful.
This is relicensed under the LGPL 2; I based my work on the libegg code, which
is LGPL 2.
Comment 10 Ed Catmur 2005-11-29 02:45:10 UTC
Created attachment 55357 [details] [review]
muine-trayicon-fix.patch, relicensed LGPL 2
Comment 11 Ed Catmur 2005-12-20 05:45:49 UTC
Note: causes segv under mono 1.1.11, 1.1.12 and possibly later; see http://bugzilla.ximian.com/show_bug.cgi?id=77026 for workaround.
Comment 12 Peter Johanson 2006-05-29 20:40:10 UTC
*** Bug 330803 has been marked as a duplicate of this bug. ***
Comment 13 Peter Johanson 2006-05-29 22:29:47 UTC
Ok, version roughly based off of Ed's version is now commited. I've confirmed
on both an amd64 and x86 box that muine now recovers gracefully from a `killall
gnome-panel`. Marking this FIXED, please re-open if you have any issues with
this with current CVS. Thanks.