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 704844 - dismissing a notification from an action button doesn't correctly hide the close button
dismissing a notification from an action button doesn't correctly hide the cl...
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: message-tray
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2013-07-25 00:50 UTC by William Jon McCann
Modified: 2014-03-14 15:13 UTC
See Also:
GNOME target: 3.12
GNOME version: ---


Attachments
screenshot of the persistent X (63.19 KB, image/jpeg)
2014-02-28 14:59 UTC, Fabio Valentini
  Details
messageTray: Set the state to SHOWN when the notification is updated (1.44 KB, patch)
2014-03-12 22:04 UTC, Jasper St. Pierre (not reading bugmail)
committed Details | Review

Description William Jon McCann 2013-07-25 00:50:20 UTC
When I click the Dismiss action button in an Abrt notification the notification slides down but the close button seems to stick around for a bit.
Comment 1 Fabio Valentini 2014-02-28 14:59:21 UTC
Created attachment 270573 [details]
screenshot of the persistent X
Comment 2 Fabio Valentini 2014-02-28 15:01:40 UTC
This still happens with gnome-shell 3.11.90.

Every time the power manager issues a notification that my wireless mouse is running out of battery power, the notification pops up, I close it, and the X button stays on top of all windows. It only goes away when restarting gnome-shell with the "r" command.

See screenshot above for better illustration.
Comment 3 Jasper St. Pierre (not reading bugmail) 2014-03-10 18:20:53 UTC
Hm, I can't manage to reproduce this. Do you close it with the X button, by clicking on the notification, or with one of the action buttons?
Comment 4 Fabio Valentini 2014-03-10 21:07:21 UTC
The close button (X on upper right corner) is completely inert to anything, clicking it does nothing. Clicking the notification closes the toaster thing, but the X button stays.
Comment 5 Matthias Clasen 2014-03-11 02:23:47 UTC
only happens for 'battery critically low' here. haven't been able yet to make out what the difference between this notification and other criticals is.
Comment 6 Matthias Clasen 2014-03-11 12:24:48 UTC
I just saw a close button left behind by an xchat notification (notably, I've tweaked my notification configuration to set forceExpand to true for xchat).

In my debug spew, I notice that the notificationState remained SHOWING all the way through until the notification was destroyed. I think that may be related to the problem here, since updateState only looks for HIDDEN / SHOWN states and basically ignores the intermediate ones.
Comment 7 Matthias Clasen 2014-03-11 12:27:31 UTC
I also note that once we are in this state (notification destroyed, but notificationState stuck in SHOWING), new notifications will not show up anymore.
Comment 8 Matthias Clasen 2014-03-12 15:29:57 UTC
pretty sure this is related to force expand. I now regularly get leftover close buttons from xchat notifications, since I set force expand for it.
Comment 9 Jasper St. Pierre (not reading bugmail) 2014-03-12 22:04:38 UTC
Created attachment 271659 [details] [review]
messageTray: Set the state to SHOWN when the notification is updated

If the notification is updated while SHOWING, we'll overwrite the
tween updating it to the new 'y' position, but forget to update the
state to SHOWN at the end of our transition. Make sure to always set
the state to SHOWN at the end.
Comment 10 Matthias Clasen 2014-03-13 13:34:40 UTC
This fixes the problem here.
Comment 11 drago01 2014-03-14 15:06:12 UTC
Review of attachment 271659 [details] [review]:

OK (its ugly though).
Comment 12 Jasper St. Pierre (not reading bugmail) 2014-03-14 15:13:43 UTC
Attachment 271659 [details] pushed as c675c93 - messageTray: Set the state to SHOWN when the notification is updated