From af904847d4b2158215d237c5537fa36d7974faa0 Mon Sep 17 00:00:00 2001 From: John Alhroos Date: Wed, 25 Aug 2010 12:18:36 +0000 Subject: [PATCH] Fix for #5487 special case (0 tab index) svn changeset:14598/svn branch:6.4 --- .../vaadin/terminal/gwt/client/ui/VTextField.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/com/vaadin/terminal/gwt/client/ui/VTextField.java b/src/com/vaadin/terminal/gwt/client/ui/VTextField.java index 97278e992c..3311eef1c5 100644 --- a/src/com/vaadin/terminal/gwt/client/ui/VTextField.java +++ b/src/com/vaadin/terminal/gwt/client/ui/VTextField.java @@ -91,12 +91,19 @@ public class VTextField extends TextBoxBase implements Paintable, Field, @Override public void setReadOnly(boolean readOnly) { - super.setReadOnly(readOnly); + boolean wasReadOnly = isReadOnly(); + if (readOnly) { - getElement().setTabIndex(-1); - } else { - getElement().setTabIndex(getTabIndex()); + setTabIndex(-1); + } else if (wasReadOnly && !readOnly && getTabIndex() == -1) { + /* + * Need to manually set tab index to 0 since server will not send + * the tab index if it is 0. + */ + setTabIndex(0); } + + super.setReadOnly(readOnly); } public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { -- 2.39.5