From 6d92af17fd2b7d4928827111f1ea19b9f1e315d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 15 Sep 2011 14:02:42 +0200 Subject: [PATCH] modal-dialog: Don't let buttons steal manually-set focus ModalDialog provides a method to set the initial focus. However, when adding buttons, the initial focus is always set to the last button, thus overwriting a previously set manual focus. Instead, only set the initial key focus if setInitialKeyFocus() has not been called manually before. https://bugzilla.gnome.org/show_bug.cgi?id=659133 --- js/ui/modalDialog.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js index 80615870c..270423aaf 100644 --- a/js/ui/modalDialog.js +++ b/js/ui/modalDialog.js @@ -131,7 +131,9 @@ ModalDialog.prototype = { else x_alignment = St.Align.MIDDLE; - this._initialKeyFocus = buttonInfo.button; + if (this._initialKeyFocus == this._dialogLayout || + this._buttonLayout.contains(this._initialKeyFocus)) + this._initialKeyFocus = buttonInfo.button; this._buttonLayout.add(buttonInfo.button, { expand: true, x_fill: false,