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 674210 - Event flood on the endSessionDialog is causing some problems on Orca users
Event flood on the endSessionDialog is causing some problems on Orca users
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2012-04-16 16:48 UTC by Alejandro Piñeiro Iglesias (IRC: infapi00)
Modified: 2012-06-05 14:01 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
First tentative solution (2.33 KB, patch)
2012-04-16 16:53 UTC, Alejandro Piñeiro Iglesias (IRC: infapi00)
needs-work Details | Review
Factoring updateDescription out of updateContent (3.79 KB, patch)
2012-06-05 11:40 UTC, Alejandro Piñeiro Iglesias (IRC: infapi00)
committed Details | Review

Description Alejandro Piñeiro Iglesias (IRC: infapi00) 2012-04-16 16:48:32 UTC
STEPS:
1. Use Orca to interact with GNOME-Shell
2. Open the end session dialog (user menu, Alt to show power-off, press)

EXPECTED OUTCOME:

Being able to interact with that dialog as smooth as with the rest of GNOME Shell

ACTUAL OUTCOME:

Orca requires some seconds for each action, and in some cases stop to work.

NOTES:
Joanmarie Diggs and me started to look this after this comment on orca-list:
http://mail.gnome.org/archives/orca-list/2012-April/msg00199.html

In my computer I don't notice anything, but it seems that it depends on how fast is  your machine. This only happens if there are no inhibitors, so we have that countdown.

The problem is that without inhibitors, there is an tweener idle that executes _updateContent, and this updates the icon always. This leads to a new clutter texture created and added each time it is executed. Not sure if

Note that this is not only affecting when accessibility is on. Using top, when the endSessionDialog is open CPU consumption starts to increase.
Comment 1 Alejandro Piñeiro Iglesias (IRC: infapi00) 2012-04-16 16:53:22 UTC
Created attachment 212158 [details] [review]
First tentative solution

This patch solves the problem. It assumes that the iconName will be the same during all the life on the end session dialog, something that I can't ensure right now.
Comment 2 Florian Müllner 2012-06-01 11:06:00 UTC
Review of attachment 212158 [details] [review]:

I don't like this. There are valid reasons to update the icon ('user-changed'), but more importantly it feels stupid to update *all* the content when updating the countdown (which happens to be the case that is causing problems). So I think a better approach is to factor out an _updateDescription() method and call that in _startTimer() instead of _updateContent().
Comment 3 Alejandro Piñeiro Iglesias (IRC: infapi00) 2012-06-05 11:40:15 UTC
Created attachment 215635 [details] [review]
Factoring updateDescription out of updateContent

Updated patch after review on comment 2
Comment 4 Florian Müllner 2012-06-05 14:01:00 UTC
Review of attachment 215635 [details] [review]:

Code looks good. I'll push the patch with a slightly modified commit message, so we'll have it in 3.5.2 - thanks for the patch!