Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 442344

Summary: [Grid][RowTemplate] Crashes on load with JS error
Product: [RT] RAP Reporter: Ivan Furnadjiev <ivan>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P2    
Version: 3.0   
Target Milestone: 3.0 M2   
Hardware: PC   
OS: Windows 7   
Whiteboard:

Description Ivan Furnadjiev CLA 2014-08-22 05:18:48 EDT
Examples Demo "Table with RowTemplate" page crashes on load with error:
--------------
Error: Error: Operation "create" on target "w139" of type "null" failed:
Scrollbar maximum must be positive
Properties: 
parent = w138
style = SINGLE,FULL_SELECTION,BORDER
appearance = table
indentionWidth = 0
treeColumn = -1
markupEnabled = false
rowTemplate = [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]


  Script: {"head":{"requestCounter":4},"operations":[["destroy","w66"],["set","w10",{"children":["w136"]}],["create","w136","rwt.widgets.Composite",{"parent":"w10","style":["NONE"],"bounds":[0,0,1008,587],"children":["w137","w138"],"tabIndex":-1,"clientArea":[0,0,1008,587]}],["create","w137","rwt.widgets.Label",{"parent":"w136","style":["NONE"],"bounds":[10,30,236,27],"tabIndex":-1,"customVariant":"variant_pageHeadline","text":"Table with RowTemplate"}],["create","w138","rwt.widgets.Composite",{"parent":"w136","style":["NONE"],"bounds":[0,62,1008,525],"children":["w139"],"tabIndex":-1,"clientArea":[0,0,1008,525]}],["create","w139","rwt.widgets.Grid",{"parent":"w138","style":["SINGLE","FULL_SELECTION","BORDER"],"appearance":"table","indentionWidth":0,"treeColumn":-1,"markupEnabled":false,"rowTemplate":[{"type":"image","left":[0,4],"top":[0,4],"width":48,"height":48,"bindingIndex":0,"selectable":true,"name":"face","scaleMode":"FIT"},{"type":"text","left":[0,60],"top":[0,30],"bottom":[0,8],"width":180,"bindingIndex":1,"font":[["Tahoma","Geneva","sans-serif"],14,false,false],"horizontalAlignment":"LEFT"},{"type":"text","left":[0,60],"top":[0,5],"width":180,"height":40,"bindingIndex":0,"font":[["Tahoma","Geneva","sans-serif"],20,false,false],"horizontalAlignment":"LEFT","verticalAlignment":"TOP"},{"type":"text","left":[0,250],"right":[0,8],"top":[0,8],"bottom":[0,8],"font":[["Tahoma","Geneva","sans-serif"],14,true,false],"horizontalAlignment":"LEFT","text":"E-Mail:"},{"type":"text","left":[0,310],"top":[0,8],"bottom":[0,8],"width":150,"bindingIndex":3,"selectable":true,"name":"mail","font":[["Tahoma","Geneva","sans-serif"],14,false,false],"horizontalAlignment":"LEFT"},{"type":"text","left":[0,250],"right":[0,8],"top":[0,30],"bottom":[0,8],"font":[["Tahoma","Geneva","sans-serif"],14,true,false],"horizontalAlignment":"LEFT","text":"Phone:"},{"type":"text","left":[0,0],"right":[0,0],"bottom":[0,0],"height":1,"background":[130,130,130,255]},{"type":"text","left":[0,310],"top":[0,30],"bottom":[0,8],"width":150,"bindingIndex":2,"selectable":true,"name":"phone","font":[["Tahoma","Geneva","sans-serif"],14,false,false],"horizontalAlignment":"LEFT"},{"type":"image","right":[0,8],"top":[0,8],"bottom":[0,8],"width":48,"selectable":true,"name":"arrow","horizontalAlignment":"RIGHT","image":["rwt-resources/generated/e39edca4.png",18,20]}]}],["create","w140","rwt.widgets.ScrollBar",{"parent":"w139","style":["HORIZONTAL"]}],["create","w141","rwt.widgets.ScrollBar",{"parent":"w139","style":["VERTICAL"]}],["set","w139",{"bounds":[10,20,988,495],"children":[],"tabIndex":22}],["listen","w139",{"MouseDown":true,"MouseUp":true,"MouseDoubleClick":true}],["set","w139",{"itemCount":9,"itemHeight":56,"itemMetrics":[[0,0,200,3,100,106,91],[1,200,200,203,0,203,194],[2,400,130,403,0,403,124],[3,530,180,533,0,533,174]],"columnCount":4,"columnOrder":["w142","w143","w144","w145"]}],["listen","w139",{"Selection":true,"DefaultSelection":true}],["listen","w140",{"Selection":true}],["set","w141",{"visibility":true}],["listen","w141",{"Selection":true}],["create","w142","rwt.widgets.GridColumn",{"parent":"w139","text":"First Name","index":0,"width":200}],["create","w143","rwt.widgets.GridColumn",{"parent":"w139","text":"Last Name","index":1,"left":200,"width":200}],["create","w144","rwt.widgets.GridColumn",{"parent":"w139","text":"Phone","index":2,"left":400,"width":130}],["create","w145","rwt.widgets.GridColumn",{"parent":"w139","text":"E-Mail","index":3,"left":530,"width":180}],["create","w147","rwt.widgets.GridItem",{"parent":"w139","index":0,"texts":["Adam","Archer","555 123456","adam@mail.domain"],"images":[["rwt-resources/generated/ae7922e0.png",100,100],null,null,null]}],["create","w148","rwt.widgets.GridItem",{"parent":"w139","index":1,"texts":["Barabara","Baker","555 123456","barbara@mail.domain"],"images":[["rwt-resources/generated/eb158db4.png",100,100],null,null,null]}],["create","w149","rwt.widgets.GridItem",{"parent":"w139","index":2,"texts":["Casper","Carter","555 123456","casper@mail.domain"],"images":[["rwt-resources/generated/28a347d3.png",100,100],null,null,null]}],["create","w150","rwt.widgets.GridItem",{"parent":"w139","index":3,"texts":["Damien","Dyer","555 123456","damien@mail.domain"],"images":[["rwt-resources/generated/848e55c5.png",100,100],null,null,null]}],["create","w151","rwt.widgets.GridItem",{"parent":"w139","index":4,"texts":["Edward","Evans","555 123456","edward@mail.domain"],"images":[["rwt-resources/generated/2be27b8d.png",100,100],null,null,null]}],["create","w152","rwt.widgets.GridItem",{"parent":"w139","index":5,"texts":["Frank","Farmer","555 123456","frank@mail.domain"],"images":[["rwt-resources/generated/a3bd73b.png",100,100],null,null,null]}],["create","w153","rwt.widgets.GridItem",{"parent":"w139","index":6,"texts":["Gabriel","Gardener","555 123456","gabriel@mail.domain"],"images":[["rwt-resources/generated/1152573c.png",100,100],null,null,null]}],["create","w154","rwt.widgets.GridItem",{"parent":"w139","index":7,"texts":["Hanna","Hawkins","555 123456","hawkins@mail.domain"],"images":[["rwt-resources/generated/57f83df8.png",100,100],null,null,null]}],["create","w146","rwt.widgets.GridItem",{"parent":"w139","index":8,"texts":["Ian","Ivanov","555 123456","ian@mail.domain"],"images":[["rwt-resources/generated/a4ba79c9.png",100,100],null,null,null]}],["set","w139",{"topItemIndex":0,"scrollLeft":0,"selection":[]}],["call","rwt.client.BrowserNavigation","addToHistory",{"state":"table-template","title":"Table with RowTemplate"}],["call","rwt.client.TextSizeMeasurement","measureItems",{"items":[["t-2009513590","Table with RowTemplate",["Helvetica","Verdana","sans-serif"],20,false,false,-1,false]]}]]}
  Stack: rwt.remote.MessageProcessor._processError@http://127.0.0.1:8080/rapdemo/rwt-resources/rap-client.js:61196:5
rwt.remote.MessageProcessor.processOperationArray@http://127.0.0.1:8080/rapdemo/rwt-resources/rap-client.js:61037:7
rwt.remote.MessageProcessor.processMessage@http://127.0.0.1:8080/rapdemo/rwt-resources/rap-client.js:60990:7
.members._handleSuccess@http://127.0.0.1:8080/rapdemo/rwt-resources/rap-client.js:61681:9
rwt.remote.Request.prototype.setSuccessHandler/this._success@http://127.0.0.1:8080/rapdemo/rwt-resources/rap-client.js:31059:35
rwt.remote.Request.prototype._onReadyStateChange@http://127.0.0.1:8080/rapdemo/rwt-resources/rap-client.js:31110:13
.bind/<@http://127.0.0.1:8080/rapdemo/rwt-resources/rap-client.js:624:7

  Debug: on
  Request: {"head":{"requestCounter":3},"operations":[["notify","w78","Selection",{"button":1,"shiftKey":false,"ctrlKey":false,"altKey":false}],["set","w1",{"cursorLocation":[580,299]}]]}
----------

Probably related to the recent Scrollbar changes.
Comment 1 Ivan Furnadjiev CLA 2014-08-22 09:36:53 EDT
Grid.js#_getItemWidth returns -2 in this case and this value is set as scrollbar maximum value.
Comment 2 Ivan Furnadjiev CLA 2014-09-01 03:30:32 EDT
Quick fix (Grid.js#_layoutX line 1194 ):
--------
var width = Math.max( 0, this.getWidth() - this.getFrameWidth() );
--------
Comment 3 Ivan Furnadjiev CLA 2014-09-03 05:36:14 EDT
Fixed in master with change https://git.eclipse.org/r/32637