From: Matti Tahvonen Date: Tue, 12 May 2009 06:40:51 +0000 (+0000) Subject: fixes #2933, regression from #2823 X-Git-Tag: 6.7.0.beta1~2917 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=0eec7306e60b370b2be30f489931cf742615d98d;p=vaadin-framework.git fixes #2933, regression from #2823 svn changeset:7750/svn branch:6.0 --- diff --git a/src/com/vaadin/ui/Table.java b/src/com/vaadin/ui/Table.java index de1e744da2..426560c4a8 100644 --- a/src/com/vaadin/ui/Table.java +++ b/src/com/vaadin/ui/Table.java @@ -1422,6 +1422,26 @@ public class Table extends AbstractSelect implements Action.Container, } else if (iscomponent[j]) { value = p.getValue(); + if (p instanceof Property.ValueChangeNotifier) { + /* + * Component in property may change -> + * listen value changes events. + */ + if (oldListenedProperties == null + || !oldListenedProperties + .contains(p)) { + ((Property.ValueChangeNotifier) p) + .addListener(this); + } + /* + * register listened properties, so we + * can do proper cleanup to free memory. + * Essential if table has loads of data + * and it is used for a long time. + */ + listenedProperties.add(p); + + } } else if (p != null) { value = getPropertyValue(id, colids[j], p); /*