GNOME Bugzilla – Bug 622972
Duplicate "don't show this message again" buttons after suspend
Last modified: 2016-03-11 17:42:37 UTC
Created attachment 164766 [details] Multiple "don't show this message again" buttons. After resuming from suspend to ram, when network manager automatically reconnects to wireless, a notification dialog with one or more buttons is shown. Most frequently I have seen two buttons visible, but in this case 4 appears. Screenshot attached.
I've noticed that it seem that with each suspend, resume cycle an additional button is added. This seems fairly deterministic. In other words I now have five visible buttons. hth, _J
On Ubuntu Natty, I now have so many "don't show this message again" buttons that the bubble is wider than the screen. It definitely increases at each suspend/resume.
I get this too. Ubuntu Natty + UGR remix (Gnome 3 from gnome3-team and ubuntugnometeam ppas)
confirm for Ubuntu Natty x64, installed from ppa.
Created attachment 191798 [details] bug in Gnome 3 Persists in Network Manager 0.8.4 (version according to Synaptics) under Gnome 3 installed on Ubuntu 11.04 from the gnome3-team PPA.
As far as I can tell, nm-applet upstream is doing the correct thing with notifications. Every time the applet displays a notification, it destroys the old one (at least tells the notification server to close the old one) and creates a completely new notification. The action button is only ever added *once*. So this bug is likely in the Ubuntu notification server implementation, not in nm-applet. Perhaps the server is caching notifications too aggressively and re-using the same notification the next time the applet says you're connected, or perhaps Ubuntu's local modifications to nm-applet are to blame. I'm not really sure. But what I am 99% sure about is that stock upstream nm-applet is doing the right thing WRT notifications. I'd suggest filing a bug on Launchpad about this and asking the Ubuntu NM maintainer (Matt Trudel) to look into it there. Otherwise, there's a slight chance this is a bug in 'libnotify' but my testing does not indicate that. For reference; what I did was attach a GObject weak reference callback (notify_dead) to the notification object and ensured that the old notification's GObject was destroyed correctly before creating the new one, which it was. Here we expect every notify_notification_new() call to be preceeded by a call destroying the old notification (except for the first notification of course), for which I get: ** Message: applet_do_notify: new notification 0x9a25c90 ** Message: applet_clear_notify: clearing notify 0x9a25c90 ** Message: notify_dead: notification 0x9a25c90 dead ** Message: applet_do_notify: new notification 0x9a2c310 ** Message: applet_clear_notify: clearing notify 0x9a2c310 ** Message: notify_dead: notification 0x9a2c310 dead ** Message: applet_do_notify: new notification 0x99c5ea0 ** Message: applet_clear_notify: clearing notify 0x99c5ea0 ** Message: notify_dead: notification 0x99c5ea0 dead which indicates that each old notification is destroyed locally before the new one is created. This sequence is a connect/disconnect/connect sequence for a 3G device; WiFi would be the same internally in nm-applet.