diff options
Diffstat (limited to 'server/src/com/vaadin/ui/AbstractField.java')
-rw-r--r-- | server/src/com/vaadin/ui/AbstractField.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/server/src/com/vaadin/ui/AbstractField.java b/server/src/com/vaadin/ui/AbstractField.java index 9cf72a36b3..4b1476db32 100644 --- a/server/src/com/vaadin/ui/AbstractField.java +++ b/server/src/com/vaadin/ui/AbstractField.java @@ -1348,8 +1348,12 @@ public abstract class AbstractField<T> extends AbstractComponent implements && !isBuffered() && !isModified()) { // When we have a data source and the internal value is directly // read from that we want to update the value - Object modelValue = convertToModel(getInternalValue(), valueLocale); - setValue(convertFromModel(modelValue)); + T newInternalValue = convertFromModel(getPropertyDataSource() + .getValue()); + if (!equals(newInternalValue, getInternalValue())) { + setInternalValue(newInternalValue); + fireValueChange(false); + } } } |