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 685142 - Calendar popup allows launching Control Center, Evolution
Calendar popup allows launching Control Center, Evolution
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: login-screen
3.6.x
Other Linux
: Normal blocker
: ---
Assigned To: Ray Strode [halfline]
gnome-shell-maint
3.6.1
Depends on:
Blocks:
 
 
Reported: 2012-09-30 12:40 UTC by Mantas Mikulėnas (grawity)
Modified: 2012-10-08 17:49 UTC
See Also:
GNOME target: 3.6
GNOME version: ---


Attachments
patch (2.32 KB, patch)
2012-10-02 03:29 UTC, Matthias Clasen
committed Details | Review
Calendar: hide all actions when on the login screen (2.23 KB, patch)
2012-10-02 20:01 UTC, Giovanni Campagna
committed Details | Review

Description Mantas Mikulėnas (grawity) 2012-09-30 12:40:32 UTC
In gnome-shell 3.5.92 and 3.6.0:

Opening the calendar popup while in the login screen still displays the "Open Calendar" and "Date and Time Settings" menu items, which still launch the associated programs (gnome-control-center and evolution). They remain invisible since the login screen covers all other windows, but Evolution becomes visible (and can be interacted with) after logging in (although gdm seems to kill gnome-control-center).

In other words, the user can run Evolution under gdm's account, and can use it to execute arbitrary other processes under that account (using Evolution's connection tunnel feature).
Comment 1 Matthias Clasen 2012-10-02 03:29:32 UTC
Created attachment 225550 [details] [review]
patch
Comment 2 Giovanni Campagna 2012-10-02 18:10:07 UTC
Review of attachment 225550 [details] [review]:

While I see that indeed it doesn't work, there is code to handle hiding the "Date and Time Settings" item as a general settings action in PopupMenu.
After some debugging, I found the problem to be the broken show-on-set-parent property in Clutter, and the fact that the menu item is reparented. The right fix is therefore to set show_on_set_parent to false before reparenting.
I expected that to fix the separator too, but apparently it needs some hand holding as it is inside a vbox rather than a PopupMenuBase.
Comment 3 Matthias Clasen 2012-10-02 19:46:20 UTC
do you have a more proper patch ?
Comment 4 Giovanni Campagna 2012-10-02 20:01:16 UTC
Created attachment 225615 [details] [review]
Calendar: hide all actions when on the login screen

No events on the login screen, and no opening calendars or
settings either.
Comment 5 Jasper St. Pierre (not reading bugmail) 2012-10-02 20:15:27 UTC
Why should show-on-set-parent matter?
Comment 6 Giovanni Campagna 2012-10-02 21:02:58 UTC
Because the item is reparented, so if show-on-set-parent is true, the actor becomes visible, regardless of previous visibility.
You can consider it a bug in clutter, if you want. To me, it's just a horrible but consistent API.
Comment 7 Matthias Clasen 2012-10-07 23:25:12 UTC
can we get this reviewed and landed ?
Comment 8 Jasper St. Pierre (not reading bugmail) 2012-10-07 23:27:11 UTC
Review of attachment 225615 [details] [review]:

Looks fine.
Comment 9 Giovanni Campagna 2012-10-08 17:49:48 UTC
Attachment 225615 [details] pushed as 0f6effa - Calendar: hide all actions when on the login screen