]> source.dussan.org Git - vaadin-framework.git/commitdiff
fixes #6002 and #6223
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Mon, 3 Jan 2011 12:51:27 +0000 (12:51 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Mon, 3 Jan 2011 12:51:27 +0000 (12:51 +0000)
 * value change events now not fired twice in some case, #6002
 * value change event now never called on getValue(), #6002
 * fixed a logic bug related to read buffering, #6223

svn changeset:16759/svn branch:6.5

src/com/vaadin/ui/AbstractField.java

index faa2dad5a132673c8b7bdc53e731980f639f139c..d2824539fde7e26766afdd298c3dcafa3851f035 100644 (file)
@@ -422,11 +422,6 @@ public abstract class AbstractField extends AbstractComponent implements Field,
 
         Object newValue = String.class == getType() ? dataSource.toString()
                 : dataSource.getValue();
-        if ((newValue == null && value != null)
-                || (newValue != null && !newValue.equals(value))) {
-            setInternalValue(newValue);
-            fireValueChange(false);
-        }
 
         return newValue;
     }
@@ -985,7 +980,8 @@ public abstract class AbstractField extends AbstractComponent implements Field,
      */
     public void valueChange(Property.ValueChangeEvent event) {
         if (!suppressValueChangePropagation
-                && (isReadThrough() || !isModified())) {
+                && (isReadThrough() && !isModified())) {
+            setInternalValue(event.getProperty().getValue());
             fireValueChange(false);
         }
     }
@@ -993,7 +989,6 @@ public abstract class AbstractField extends AbstractComponent implements Field,
     @Override
     public void changeVariables(Object source, Map<String, Object> variables) {
         super.changeVariables(source, variables);
-
     }
 
     /**