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 788542 - 3.26.1: Regression in keyboard navigation of power off dialog
3.26.1: Regression in keyboard navigation of power off dialog
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
3.26.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
: 788641 788972 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2017-10-05 00:46 UTC by Jeremy Bicha
Modified: 2017-10-26 16:21 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
dialog: Reset initial focus on clear (925 bytes, patch)
2017-10-05 08:14 UTC, Florian Müllner
none Details | Review
dialog: Reset initial focus on destroy (1.91 KB, patch)
2017-10-20 17:29 UTC, Florian Müllner
committed Details | Review

Description Jeremy Bicha 2017-10-05 00:46:18 UTC
gnome-shell 3.26.1
Ubuntu 17.10

Open the Power Off dialog. Press Esc to cancel.

That works, but when I do it a second time, it doesn't work.

This appears to be a regression since 3.26.
Comment 1 Florian Müllner 2017-10-05 08:14:02 UTC
Created attachment 360947 [details] [review]
dialog: Reset initial focus on clear

Since 0b02f757f862 we track the button that should have key focus
when the dialog is opened. However when the dialog is reused, the
button may get removed - clear the initial focus in that case to
allow setButton() to set a new one.
Comment 2 Jeremy Bicha 2017-10-06 12:47:48 UTC
Thanks. That patch fixes my issue.
Comment 3 Florian Müllner 2017-10-07 17:40:04 UTC
*** Bug 788641 has been marked as a duplicate of this bug. ***
Comment 4 Florian Müllner 2017-10-14 02:50:26 UTC
*** Bug 788972 has been marked as a duplicate of this bug. ***
Comment 5 Rui Matos 2017-10-20 11:58:30 UTC
Review of attachment 360947 [details] [review]:

::: js/ui/dialog.js
@@ +136,3 @@
         this.buttonLayout.destroy_all_children();
         this._buttonKeys = {};
+        this._initialKeyFocus = null;

I guess it would be safer to connect to the destroy signal when we assign an actor to this._initialKeyFocus like we already do in modalDialog.js
Comment 6 Florian Müllner 2017-10-20 17:29:38 UTC
Created attachment 361972 [details] [review]
dialog: Reset initial focus on destroy

Makes sense to me.
Comment 7 Rui Matos 2017-10-24 12:37:07 UTC
Review of attachment 361972 [details] [review]:

lgtm
Comment 8 Florian Müllner 2017-10-26 16:21:28 UTC
Attachment 361972 [details] pushed as 100d6a7 - dialog: Reset initial focus on destroy