From 109ce19c53663eaa645bb7c97f575e7b190ee2f5 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Thu, 22 Dec 2011 14:14:04 +0200 Subject: [PATCH] #8102 Changing data source type from Double -> Number can keep the converter while changing from Number -> Double cannot. Fixed reversed logic. --- src/com/vaadin/ui/AbstractField.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/com/vaadin/ui/AbstractField.java b/src/com/vaadin/ui/AbstractField.java index 4f944ce17b..4217f5f6fe 100644 --- a/src/com/vaadin/ui/AbstractField.java +++ b/src/com/vaadin/ui/AbstractField.java @@ -730,9 +730,13 @@ public abstract class AbstractField extends AbstractComponent implements // Check if the current converter is compatible. if (newDataSource != null - && (getConverter() == null || !getConverter().getModelType() - .isAssignableFrom(newDataSource.getType()))) { - // Set a new converter if there is a new data source and the + && (getConverter() == null || !newDataSource.getType() + .isAssignableFrom(getConverter().getModelType()))) { + // Changing from e.g. Number -> Double should set a new converter, + // changing from Double -> Number can keep the old one (Property + // accepts Number) + + // Set a new converter if there is a new data source and // there is no old converter or the old is incompatible. setConverter(newDataSource.getType()); } -- 2.39.5