Browse Source

#6494 Reverted [21428] as it causes infinite loops in certain situations

svn changeset:21543/svn branch:6.7
tags/6.7.0
Artur Signell 12 years ago
parent
commit
aad0e3eb74
1 changed files with 3 additions and 22 deletions
  1. 3
    22
      src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java

+ 3
- 22
src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java View File

@@ -5622,28 +5622,13 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
return;
}

this.width = width;
if (width != null && !"".equals(width)) {
super.setWidth(width);
int innerPixels = Util.getRequiredWidth(this) - getBorderWidth();
int innerPixels = getOffsetWidth() - getBorderWidth();
if (innerPixels < 0) {
/*
* If innerPixels becomes negative it means that something has
* gone wrong with the width calculations (most likely a timing
* issue where offsetWidth is returning 0). Setting innerPixels
* to 0 here and hope for the best will cause issues like #6494.
* Instead we defer the width setting so we know that the
* offsetwidth return a sane value
*/
final String deferredWidth = width;
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
public void execute() {
setWidth(deferredWidth);
}
});
return;
innerPixels = 0;
}

this.width = width;
setContentWidth(innerPixels);

// readjust undefined width columns
@@ -5652,7 +5637,6 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
} else {

// Undefined width
this.width = width;
super.setWidth("");

// Readjust size of table
@@ -5815,9 +5799,6 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
* @param pixels
*/
private void setContentWidth(int pixels) {
if (pixels == 0) {
VConsole.error("Setting width " + pixels + "px");
}
tHead.setWidth(pixels + "px");
scrollBodyPanel.setWidth(pixels + "px");
tFoot.setWidth(pixels + "px");

Loading…
Cancel
Save