diff options
author | Leif Åstrand <leif@vaadin.com> | 2012-08-03 14:24:33 +0300 |
---|---|---|
committer | Leif Åstrand <leif@vaadin.com> | 2012-08-03 14:24:33 +0300 |
commit | 94f81dc79526a257451c6638a0696e7505227cb7 (patch) | |
tree | 13f094b896c74032ab86d079362a511f8ce478a1 /src/com/vaadin/ui/Table.java | |
parent | 406c50ad6cbe537ce709b8958272f93c919e9653 (diff) | |
parent | bc5831f069f648fbf0d89a863b28d80dc4c2bf35 (diff) | |
download | vaadin-framework-94f81dc79526a257451c6638a0696e7505227cb7.tar.gz vaadin-framework-94f81dc79526a257451c6638a0696e7505227cb7.zip |
Merge remote-tracking branch 'origin/6.8'
+ add @Override
Conflicts:
src/com/vaadin/terminal/gwt/client/Util.java
src/com/vaadin/terminal/gwt/client/ui/VOverlay.java
src/com/vaadin/terminal/gwt/client/ui/menubar/VMenuBar.java
src/com/vaadin/terminal/gwt/client/ui/popupview/VPopupView.java
src/com/vaadin/terminal/gwt/client/ui/table/VScrollTable.java
src/com/vaadin/terminal/gwt/server/AbstractCommunicationManager.java
src/com/vaadin/ui/LoginForm.java
src/com/vaadin/ui/Table.java
tests/test.xml
Diffstat (limited to 'src/com/vaadin/ui/Table.java')
-rw-r--r-- | src/com/vaadin/ui/Table.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/com/vaadin/ui/Table.java b/src/com/vaadin/ui/Table.java index 71f41fb257..39b7fb7473 100644 --- a/src/com/vaadin/ui/Table.java +++ b/src/com/vaadin/ui/Table.java @@ -538,6 +538,13 @@ public class Table extends AbstractSelect implements Action.Container, private HashMap<Object, Converter<String, Object>> propertyValueConverters = new HashMap<Object, Converter<String, Object>>(); + /** + * Set to true if the client-side should be informed that the key mapper has + * been reset so it can avoid sending back references to keys that are no + * longer present. + */ + private boolean keyMapperReset; + /* Table constructors */ /** @@ -2890,6 +2897,11 @@ public class Table extends AbstractSelect implements Action.Container, paintVisibleColumns(target); + if (keyMapperReset) { + keyMapperReset = false; + target.addAttribute(VScrollTable.ATTRIBUTE_KEY_MAPPER_RESET, true); + } + if (dropHandler != null) { dropHandler.getAcceptCriterion().paint(target); } @@ -4053,6 +4065,10 @@ public class Table extends AbstractSelect implements Action.Container, public void containerItemSetChange(Container.ItemSetChangeEvent event) { super.containerItemSetChange(event); + // super method clears the key map, must inform client about this to + // avoid getting invalid keys back (#8584) + keyMapperReset = true; + // ensure that page still has first item in page, ignore buffer refresh // (forced in this method) setCurrentPageFirstItemIndex(getCurrentPageFirstItemIndex(), false); |