summaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/data
diff options
context:
space:
mode:
authorArtur Signell <artur.signell@itmill.com>2011-06-06 15:13:14 +0000
committerArtur Signell <artur.signell@itmill.com>2011-06-06 15:13:14 +0000
commit3df4bbbe0199146286a2d00345116584e6daf886 (patch)
tree0614a3ef68ac1f6d1e4b697f002eb8481f905e8d /src/com/vaadin/data
parentadaa83dff90b68c7bb4aa24a61e2c87807b1bf43 (diff)
downloadvaadin-framework-3df4bbbe0199146286a2d00345116584e6daf886.tar.gz
vaadin-framework-3df4bbbe0199146286a2d00345116584e6daf886.zip
#7129 Properly clean up "filteredParent" when removing an item from a filtered container
svn changeset:19245/svn branch:6.6
Diffstat (limited to 'src/com/vaadin/data')
-rw-r--r--src/com/vaadin/data/util/HierarchicalContainer.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/com/vaadin/data/util/HierarchicalContainer.java b/src/com/vaadin/data/util/HierarchicalContainer.java
index d671dbc833..e208d07dc6 100644
--- a/src/com/vaadin/data/util/HierarchicalContainer.java
+++ b/src/com/vaadin/data/util/HierarchicalContainer.java
@@ -471,6 +471,9 @@ public class HierarchicalContainer extends IndexedContainer implements
if (filteredChildren != null) {
filteredChildren = null;
}
+ if (filteredParent != null) {
+ filteredParent = null;
+ }
}
enableAndFireContentsChangeEvents();
return success;
@@ -528,6 +531,11 @@ public class HierarchicalContainer extends IndexedContainer implements
}
}
parent.remove(itemId);
+ if (filteredParent != null) {
+ // Item id no longer has a parent as the item id is not in the
+ // container.
+ filteredParent.remove(itemId);
+ }
noChildrenAllowed.remove(itemId);
}