diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2009-05-12 06:40:51 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2009-05-12 06:40:51 +0000 |
commit | 0eec7306e60b370b2be30f489931cf742615d98d (patch) | |
tree | c3508c291af3dc87e64d12721c2ddcfceee8b77a | |
parent | 7a2b28fc1d3863677819e0be0065cbb20991e85b (diff) | |
download | vaadin-framework-0eec7306e60b370b2be30f489931cf742615d98d.tar.gz vaadin-framework-0eec7306e60b370b2be30f489931cf742615d98d.zip |
fixes #2933, regression from #2823
svn changeset:7750/svn branch:6.0
-rw-r--r-- | src/com/vaadin/ui/Table.java | 20 |
1 files changed, 20 insertions, 0 deletions
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); /* |