rem: startpos = (inner - sum) / 2; 
add: startpos += (inner - sum) / 2; 
context: proto._layoutInternalWidgetsVertical = function(){  switch(this.getOrientation())  {    case "horizontal":      var inner = this.getInnerHeight();            var ch = this.getChildren();      var chl = ch.length;      var chc;            var glob = this.getVerticalChildrenAlign();      var cust, pos;            for (var i=0; i<chl; i++)      {        chc = ch[i];          cust = chc.getVerticalAlign();        pos = 0;                switch(isValidString(cust) ? cust : glob)        {          case "bottom":            pos = inner-chc.getAnyHeight();            break;                      case "middle":            pos = Math.floor((inner-chc.getAnyHeight())/2);            break;        };                chc._applyPositionVertical(pos);      };            break;    case "vertical":      var inner = this.getInnerHeight();            var sum = 0;            var ch = this.getChildren();      var chl = ch.length;      var chc;      var h;      var p = [];            for (var i=0; i<chl; i++)      {        chc = ch[i];                p.push(sum);                h = chc.getHeight();        if (h == "auto" || h == null) {          h = chc.isCreated() ? (chc.getPreferredHeight() || chc.getComputedBoxHeight() || 0) : 0;        };                h += chc.getMarginTop() + chc.getMarginBottom();        sum += h;         };              var startpos = 0;            switch(this.getVerticalBlockAlign())      {        case "middle":          startpos = (inner - sum) / 2;          break;                  case "bottom":          startpos = inner - sum;          break;      };          for (var i=0; i<chl; i++) {        ch[i]._applyPositionVertical(startpos + p[i]);          };                break;      };    return true; };
meta: 1005	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1005/9e61f9f853b6ee45c298c503b001b3c2368c98a6/QxBox.js/buggy/qooxdoo/source/script/widgets/QxBox.js