Rolling back r9505 due to CellViewSuite test breakages.
Review at http://gwt-code-reviews.appspot.com/1262801
Review by: conroy@google.com
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@9508 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/client/ui/SplitLayoutPanel.java b/user/src/com/google/gwt/user/client/ui/SplitLayoutPanel.java
index 5801f8b..f98809b 100644
--- a/user/src/com/google/gwt/user/client/ui/SplitLayoutPanel.java
+++ b/user/src/com/google/gwt/user/client/ui/SplitLayoutPanel.java
@@ -100,8 +100,6 @@
private final boolean reverse;
private int minSize;
- private double centerSize, syncedCenterSize;
-
public Splitter(Widget target, boolean reverse) {
this.target = target;
this.reverse = reverse;
@@ -178,36 +176,22 @@
protected abstract int getTargetSize();
- private double getMaxSize() {
- // To avoid seeing stale center size values due to deferred layout
- // updates, maintain our own copy up to date and resync when the
- // DockLayoutPanel value changes.
- double newCenterSize = getCenterSize();
- if (syncedCenterSize != newCenterSize) {
- syncedCenterSize = newCenterSize;
- centerSize = newCenterSize;
- }
-
- return ((LayoutData) target.getLayoutData()).size + centerSize;
- }
-
private void setAssociatedWidgetSize(double size) {
if (size < minSize) {
size = minSize;
}
- double maxSize = getMaxSize();
- if (size > maxSize) {
- size = maxSize;
- }
-
LayoutData layout = (LayoutData) target.getLayoutData();
if (size == layout.size) {
return;
}
- // Adjust our view until the deferred layout gets scheduled.
- centerSize += layout.size - size;
+ // Don't grow beyond remaining space
+ double centerSize = getCenterSize();
+ if (size - layout.size > centerSize) {
+ size = layout.size + centerSize;
+ }
+
layout.size = size;
// Defer actually updating the layout, so that if we receive many