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 659862 - alien box pointer when tray icon summary notification is clicked
alien box pointer when tray icon summary notification is clicked
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: 2011-09-22 19:38 UTC by Marina Zhurakhinskaya
Modified: 2011-09-26 23:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
messageTray: unset this._clickedSummaryItem if we are hiding the summary box pointer and don't have a new clicked summary item (1.66 KB, patch)
2011-09-23 03:57 UTC, Marina Zhurakhinskaya
committed Details | Review

Description Marina Zhurakhinskaya 2011-09-22 19:38:03 UTC
An alien box pointer is left behind when a summary notification associated with a tray icon is clicked, as shown in this screenshot: http://mclasen.fedorapeople.org/gray-alien.png

This can be reproduced by getting any tray icon that has a notification, such as:
1) adding an Evolution calendar event and setting up an alarm for it (you can make it notify you at any arbitrary time before the event, such as 1 minute, and then move the event to reproduce the bug again)
2) enabling the system tray icon in the XChat preferences and getting a message that produces a notification

this._summaryBoxPointer.actor.hide() does get called in _hideSummayBoxPointer(), but it doesn't seem to have an effect. Also, if Main.messageTray._summaryBoxPointer.actor.hide() is called in the LookingGlass, it hides the rectangle temporarily, but then it appears again when the message tray is shown.
Comment 1 Marina Zhurakhinskaya 2011-09-23 03:57:54 UTC
Created attachment 197311 [details] [review]
messageTray: unset this._clickedSummaryItem if we are hiding the summary box pointer and don't have a new clicked summary item

This ensures that this._clickedSummaryItem is always unset correctly.

Because we disconnect the signals that have _adjustSummaryBoxPointerPosition()
as a callback when unsetting this._clickedSummaryItem, we no longer call
setPosition() on this._summaryBoxPointer after it is hidden. Calling
setPosition() shows the box pointer again, which previously resulted in
an empty box pointer staying behind when a notification associated with
a tray icon was clicked.

It's possible that it would be ok to remove this._summaryState != State.SHOWN
from the if statement, but it seems safer to leave it in for now.

I will be away till Monday, so, if the patch looks good,  it'd be great if
the person who reviews it asks for a freeze break for this and commits it.
Comment 2 Dan Winship 2011-09-23 13:29:59 UTC
Comment on attachment 197311 [details] [review]
messageTray: unset this._clickedSummaryItem if we are hiding the summary box pointer and don't have a new clicked summary item

makes sense
Comment 3 Marina Zhurakhinskaya 2011-09-23 16:09:49 UTC
Thanks! Filed a freeze break request:
https://mail.gnome.org/archives/release-team/2011-September/msg00308.html