summaryrefslogtreecommitdiffstats
path: root/server/src
diff options
context:
space:
mode:
Diffstat (limited to 'server/src')
-rw-r--r--server/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java8
-rw-r--r--server/src/com/vaadin/ui/AbstractField.java11
2 files changed, 13 insertions, 6 deletions
diff --git a/server/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java b/server/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java
index 987466cdb7..e9a1a2d98f 100644
--- a/server/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java
+++ b/server/src/com/vaadin/data/util/sqlcontainer/SQLContainer.java
@@ -648,23 +648,25 @@ public class SQLContainer implements Container, Container.Filterable,
getPage();
}
int size = size();
- boolean wrappedAround = false;
- while (!wrappedAround) {
+ // this protects against infinite looping
+ int counter = 0;
+ while (counter < size) {
for (Integer i : itemIndexes.keySet()) {
if (itemIndexes.get(i).equals(itemId)) {
return i;
}
+ counter++;
}
// load in the next page.
int nextIndex = (currentOffset / (pageLength * CACHE_RATIO) + 1)
* (pageLength * CACHE_RATIO);
if (nextIndex >= size) {
// Container wrapped around, start from index 0.
- wrappedAround = true;
nextIndex = 0;
}
updateOffsetAndCache(nextIndex);
}
+ // safeguard in case item not found
return -1;
}
diff --git a/server/src/com/vaadin/ui/AbstractField.java b/server/src/com/vaadin/ui/AbstractField.java
index 6648f69ff9..3bca63a3b7 100644
--- a/server/src/com/vaadin/ui/AbstractField.java
+++ b/server/src/com/vaadin/ui/AbstractField.java
@@ -323,7 +323,7 @@ public abstract class AbstractField<T> extends AbstractComponent implements
*/
@Override
public boolean isModified() {
- return getState().modified;
+ return getState(false).modified;
}
private void setModified(boolean modified) {
@@ -1276,7 +1276,7 @@ public abstract class AbstractField<T> extends AbstractComponent implements
*/
@Override
public int getTabIndex() {
- return getState().tabIndex;
+ return getState(false).tabIndex;
}
/*
@@ -1408,7 +1408,7 @@ public abstract class AbstractField<T> extends AbstractComponent implements
*/
@Override
public boolean isRequired() {
- return getState().required;
+ return getState(false).required;
}
/**
@@ -1663,6 +1663,11 @@ public abstract class AbstractField<T> extends AbstractComponent implements
}
@Override
+ protected AbstractFieldState getState(boolean markAsDirty) {
+ return (AbstractFieldState) super.getState(markAsDirty);
+ }
+
+ @Override
public void beforeClientResponse(boolean initial) {
super.beforeClientResponse(initial);