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

Bug 290625

Summary: [ScrolledComposite] When closing dialog (with ScrolledComposite) a Java Script error appears
Product: [RT] RAP Reporter: Sergey N. Yashin <yashin.sergey>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: P3    
Version: 1.3   
Target Milestone: 1.3 M2   
Hardware: All   
OS: All   
Whiteboard:

Description Sergey N. Yashin CLA 2009-09-26 08:25:48 EDT
Bellow i added errors reporting from firefox and opera

1. Firefox

024957 ERROR: org.eclipse.swt.Request[22]: Could not execute javascript: [var req = org.eclipse.swt.Request.getInstance();req.setRequestCounter( "8" );var wm = org.eclipse.swt.WidgetManager.getInstance();var w = wm.findWidgetById( "w130" );w.doClose();wm.dispose( "w130" );wm.dispose( "w131" );wm.dispose( "w269" );wm.dispose( "w268" );wm.dispose( "w267" );wm.dispose( "w266" );wm.dispose( "w265" );wm.dispose( "w264" );wm.dispose( "w132" );wm.dispose( "w261" );wm.dispose( "w262" );wm.dispose( "w263" );wm.dispose( "w133" );wm.dispose( "w135" );wm.dispose( "w260" );wm.dispose( "w198" );wm.dispose( "w259" );wm.dispose( "w258" );wm.dispose( "w257" );wm.dispose( "w199" );wm.dispose( "w204" );wm.dispose( "w205" );wm.dispose( "w206" );wm.dispose( "w256" );wm.dispose( "w255" );wm.dispose( "w254" );wm.dispose( "w253" );wm.dispose( "w252" );wm.dispose( "w251" );wm.dispose( "w250" );wm.dispose( "w249" );wm.dispose( "w248" );wm.dispose( "w247" );wm.dispose( "w246" );wm.dispose( "w245" );wm.dispose( "w244" );wm.dispose( "w243" );wm.dispose( "w242" );wm.dispose( "w241" );wm.dispose( "w240" );wm.dispose( "w239" );wm.dispose( "w238" );wm.dispose( "w237" );wm.dispose( "w236" );wm.dispose( "w235" );wm.dispose( "w234" );wm.dispose( "w233" );wm.dispose( "w232" );wm.dispose( "w231" );wm.dispose( "w230" );wm.dispose( "w229" );wm.dispose( "w228" );wm.dispose( "w227" );wm.dispose( "w226" );wm.dispose( "w225" );wm.dispose( "w224" );wm.dispose( "w223" );wm.dispose( "w222" );wm.dispose( "w221" );wm.dispose( "w220" );wm.dispose( "w219" );wm.dispose( "w218" );wm.dispose( "w217" );wm.dispose( "w216" );wm.dispose( "w215" );wm.dispose( "w214" );wm.dispose( "w213" );wm.dispose( "w212" );wm.dispose( "w211" );wm.dispose( "w210" );wm.dispose( "w209" );wm.dispose( "w208" );wm.dispose( "w207" );wm.dispose( "w200" );wm.dispose( "w203" );wm.dispose( "w201" );wm.dispose( "w202" );wm.dispose( "w136" );wm.dispose( "w197" );wm.dispose( "w196" );wm.dispose( "w195" );wm.dispose( "w137" );wm.dispose( "w142" );wm.dispose( "w143" );wm.dispose( "w144" );wm.dispose( "w194" );wm.dispose( "w193" );wm.dispose( "w192" );wm.dispose( "w191" );wm.dispose( "w190" );wm.dispose( "w189" );wm.dispose( "w188" );wm.dispose( "w187" );wm.dispose( "w186" );wm.dispose( "w185" );wm.dispose( "w184" );wm.dispose( "w183" );wm.dispose( "w182" );wm.dispose( "w181" );wm.dispose( "w180" );wm.dispose( "w179" );wm.dispose( "w178" );wm.dispose( "w177" );wm.dispose( "w176" );wm.dispose( "w175" );wm.dispose( "w174" );wm.dispose( "w173" );wm.dispose( "w172" );wm.dispose( "w171" );wm.dispose( "w170" );wm.dispose( "w169" );wm.dispose( "w168" );wm.dispose( "w167" );wm.dispose( "w166" );wm.dispose( "w165" );wm.dispose( "w164" );wm.dispose( "w163" );wm.dispose( "w162" );wm.dispose( "w161" );wm.dispose( "w160" );wm.dispose( "w159" );wm.dispose( "w158" );wm.dispose( "w157" );wm.dispose( "w156" );wm.dispose( "w155" );wm.dispose( "w154" );wm.dispose( "w153" );wm.dispose( "w152" );wm.dispose( "w151" );wm.dispose( "w150" );wm.dispose( "w149" );wm.dispose( "w148" );wm.dispose( "w147" );wm.dispose( "w146" );wm.dispose( "w145" );wm.dispose( "w138" );wm.dispose( "w141" );wm.dispose( "w139" );wm.dispose( "w140" );wm.dispose( "w134" );var w = wm.findWidgetById( "w2" );w.setActive( true );var w = wm.findWidgetById( "w76" );w.setCursor( "pointer" );var w = wm.findWidgetById( "w2" );w.setActiveControl( wm.findWidgetById( "w3" ) );org.eclipse.swt.WidgetManager.getInstance().focus( "w3" );]: TypeError - this.getFocusRoot() is null
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:25902
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:3250
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:3237
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:3228
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:1959
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:21330
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:21124
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:21124
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:3250
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:3237
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:18739
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:18900
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:3250
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:3237
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:18138
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:1959
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:18064
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:3250
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:3237
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:3216
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:18408
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:1959
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:18306
  at http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516:2986




2. Opera

Could not evaluate javascript response:
[Error:
name: TypeError
message: Statement on line 25902: Cannot convert undefined or null to Object
Backtrace:
  Line 25902 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
          this.getFocusRoot().addEventListener( "changeFocusedChild",
  ...  Line 3249 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
    func.call(obj,
  Line 3236 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
    }this._dispatchEvent(evt,
  Line 3225 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
    old){if(this.hasEventListeners(type)){this.dispatchEvent(new qx.event.type.ChangeEvent(type,
  Line 2 of eval script 
    ){var prop=qx.core.Property;if(arguments.length!==1)prop.error(this,1,"parent","set",value);if(value===undefined)prop.error(this,2,"parent","set",value);if(this.__user$parent===value)return value;if(value!==null)if(!(value instanceof qx.ui.core.Parent))prop.error(this,5,"parent","set",value);var computed, old;if(this.__user$parent!==undefined){old=this.__user$parent;computed=this.__user$parent=value;}else if(this.__useinit$parent){old=this.__init$parent;delete this.__useinit$parent;computed=this.__user$parent=value;}else{computed=this.__user$parent=value;}if(old===computed)return value;if(old===undefined)old=null;this._applyParent(computed, old);this.createDispatchChangeEvent("changeParent", computed, old);return value;
  Line 21330 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
                widget.setParent( null );
  Line 1 of eval script 
    var req = org.eclipse.swt.Request.getInstance();req.setRequestCounter( "11" );var wm = org.eclipse.swt.WidgetManager.getInstance();var w = wm.findWidgetById( "w130" );w.doClose();wm.dispose( "w130" );wm.dispose( "w131" );wm.dispose( "w269" );wm.dispose( "w268" );wm.dispose( "w267" );wm.dispose( "w266" );wm.dispose( "w265" );wm.dispose( "w264" );wm.dispose( "w132" );wm.dispose( "w261" );wm.dispose( "w262" );wm.dispose( "w263" );wm.dispose( "w133" );wm.dispose( "w135" );wm.dispose( "w260" );wm.dispose( "w198" );wm.dispose( "w259" );wm.dispose( "w258" );wm.dispose( "w257" );wm.dispose( "w199" );wm.dispose( "w204" );wm.dispose( "w205" );wm.dispose( "w206" );wm.dispose( "w256" );wm.dispose( "w255" );wm.dispose( "w254" );wm.dispose( "w253" );wm.dispose( "w252" );wm.dispose( "w251" );wm.dispose( "w250" );wm.dispose( "w249" );wm.dispose( "w248" );wm.dispose( "w247" );wm.dispose( "w246" );wm.dispose( "w245" );wm.dispose( "w244" );wm.dispose( "w243" );wm.dispose( "w242" );wm.dispose( "w241" );wm.dispose( "w240" );wm.dispose( "w239" );wm.dispose( "w238" );wm.dispose( "w237" );wm.dispose( "w236" );wm.dispose( "w235" );wm.dispose( "w234" );wm.dispose( "w233" );wm.dispose( "w232" );wm.dispose( "w231" );wm.dispose( "w230" );wm.dispose( "w229" );wm.dispose( "w228" );wm.dispose( "w227" );wm.dispose( "w226" );wm.dispose( "w225" );wm.dispose( "w224" );wm.dispose( "w223" );wm.dispose( "w222" );wm.dispose( "w221" );wm.dispose( "w220" );wm.dispose( "w219" );wm.dispose( "w218" );wm.dispose( "w217" );wm.dispose( "w216" );wm.dispose( "w215" );wm.dispose( "w214" );wm.dispose( "w213" );wm.dispose( "w212" );wm.dispose( "w211" );wm.dispose( "w210" );wm.dispose( "w209" );wm.dispose( "w208" );wm.dispose( "w207" );wm.dispose( "w200" );wm.dispose( "w203" );wm.dispose( "w201" );wm.dispose( "w202" );wm.dispose( "w136" );wm.dispose( "w197" );wm.dispose( "w196" );wm.dispose( "w195" );wm.dispose( "w137" );wm.dispose( "w142" );wm.dispose( "w143" );wm.dispose( "w144" );wm.dispose( "w369" );wm.dispose( "w368" );wm.dispose( "w367" );wm.dispose( "w366" );wm.dispose( "w365" );wm.dispose( "w364" );wm.dispose( "w363" );wm.dispose( "w362" );wm.dispose( "w361" );wm.dispose( "w360" );wm.dispose( "w359" );wm.dispose( "w358" );wm.dispose( "w357" );wm.dispose( "w356" );wm.dispose( "w355" );wm.dispose( "w354" );wm.dispose( "w353" );wm.dispose( "w352" );wm.dispose( "w351" );wm.dispose( "w350" );wm.dispose( "w349" );wm.dispose( "w348" );wm.dispose( "w347" );wm.dispose( "w346" );wm.dispose( "w345" );wm.dispose( "w344" );wm.dispose( "w343" );wm.dispose( "w342" );wm.dispose( "w341" );wm.dispose( "w340" );wm.dispose( "w339" );wm.dispose( "w338" );wm.dispose( "w337" );wm.dispose( "w336" );wm.dispose( "w335" );wm.dispose( "w334" );wm.dispose( "w333" );wm.dispose( "w332" );wm.dispose( "w331" );wm.dispose( "w330" );wm.dispose( "w329" );wm.dispose( "w328" );wm.dispose( "w327" );wm.dispose( "w326" );wm.dispose( "w325" );wm.dispose( "w324" );wm.dispose( "w323" );wm.dispose( "w322" );wm.dispose( "w321" );wm.dispose( "w320" );wm.dispose( "w138" );wm.dispose( "w141" );wm.dispose( "w139" );wm.dispose( "w140" );wm.dispose( "w134" );var w = wm.findWidgetById( "w2" );w.setActive( true );var w = wm.findWidgetById( "w76" );w.setCursor( "pointer" );var w = wm.findWidgetById( "w2" );w.setActiveControl( wm.findWidgetById( "w3" ) );org.eclipse.swt.WidgetManager.getInstance().focus( "w3" );
  ...  Line 21124 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
                window.eval( text );
  ...  Line 3249 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
    func.call(obj,
  Line 3236 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
    }this._dispatchEvent(evt,
  Line 18739 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
    this.dispatchEvent(e);
  Line 18900 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
    if(vRequest['_on'+e.getType()]){vRequest['_on'+e.getType()](e);
  ...  Line 3249 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
    func.call(obj,
  Line 3236 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
    }this._dispatchEvent(evt,
  Line 18138 of linked script http://localhost:8080/start?custom_service_handler=org.eclipse.rwt.internal.service.JSLibraryServiceHandler&hash=H283872516
    this.dispatchEvent(vResponse);
  Line 2 of eval script 
    ){var prop=qx.core.Property;if(arguments.length!==1)prop.error(this,1,"state","set",value);if(value===undefined)prop.error(this,2,"state","set",value);if(this.__user$state===value)return value;if(value===null)prop.error(this,4,"state","set",value);if(qx.io.remote.Exchange.$$properties.state.checkMap[value]===undefined)prop.error(this,5,"state","set",value);var computed, old;if(this.__user$state!==undefined){old=this.__user$state;computed=this.__user$state=value;}else if(this.__useinit$state){old=this.__init$state;delete this.__useinit$state;computed=this.__user$state=value;}else{computed=this.__user$state=value;}if(old===computed)return value;if(old===undefined)old=null;this._applyState(computed, old);this.createDispatchChangeEvent("changeState", computed, old);return value;

...

]

var req = org.eclipse.swt.Request.getInstance();req.setRequestCounter( "11" );var wm = org.eclipse.swt.WidgetManager.getInstance();var w = wm.findWidgetById( "w130" );w.doClose();wm.dispose( "w130" );wm.dispose( "w131" );wm.dispose( "w269" );wm.dispose( "w268" );wm.dispose( "w267" );wm.dispose( "w266" );wm.dispose( "w265" );wm.dispose( "w264" );wm.dispose( "w132" );wm.dispose( "w261" );wm.dispose( "w262" );wm.dispose( "w263" );wm.dispose( "w133" );wm.dispose( "w135" );wm.dispose( "w260" );wm.dispose( "w198" );wm.dispose( "w259" );wm.dispose( "w258" );wm.dispose( "w257" );wm.dispose( "w199" );wm.dispose( "w204" );wm.dispose( "w205" );wm.dispose( "w206" );wm.dispose( "w256" );wm.dispose( "w255" );wm.dispose( "w254" );wm.dispose( "w253" );wm.dispose( "w252" );wm.dispose( "w251" );wm.dispose( "w250" );wm.dispose( "w249" );wm.dispose( "w248" );wm.dispose( "w247" );wm.dispose( "w246" );wm.dispose( "w245" );wm.dispose( "w244" );wm.dispose( "w243" );wm.dispose( "w242" );wm.dispose( "w241" );wm.dispose( "w240" );wm.dispose( "w239" );wm.dispose( "w238" );wm.dispose( "w237" );wm.dispose( "w236" );wm.dispose( "w235" );wm.dispose( "w234" );wm.dispose( "w233" );wm.dispose( "w232" );wm.dispose( "w231" );wm.dispose( "w230" );wm.dispose( "w229" );wm.dispose( "w228" );wm.dispose( "w227" );wm.dispose( "w226" );wm.dispose( "w225" );wm.dispose( "w224" );wm.dispose( "w223" );wm.dispose( "w222" );wm.dispose( "w221" );wm.dispose( "w220" );wm.dispose( "w219" );wm.dispose( "w218" );wm.dispose( "w217" );wm.dispose( "w216" );wm.dispose( "w215" );wm.dispose( "w214" );wm.dispose( "w213" );wm.dispose( "w212" );wm.dispose( "w211" );wm.dispose( "w210" );wm.dispose( "w209" );wm.dispose( "w208" );wm.dispose( "w207" );wm.dispose( "w200" );wm.dispose( "w203" );wm.dispose( "w201" );wm.dispose( "w202" );wm.dispose( "w136" );wm.dispose( "w197" );wm.dispose( "w196" );wm.dispose( "w195" );wm.dispose( "w137" );wm.dispose( "w142" );wm.dispose( "w143" );wm.dispose( "w144" );wm.dispose( "w369" );wm.dispose( "w368" );wm.dispose( "w367" );wm.dispose( "w366" );wm.dispose( "w365" );wm.dispose( "w364" );wm.dispose( "w363" );wm.dispose( "w362" );wm.dispose( "w361" );wm.dispose( "w360" );wm.dispose( "w359" );wm.dispose( "w358" );wm.dispose( "w357" );wm.dispose( "w356" );wm.dispose( "w355" );wm.dispose( "w354" );wm.dispose( "w353" );wm.dispose( "w352" );wm.dispose( "w351" );wm.dispose( "w350" );wm.dispose( "w349" );wm.dispose( "w348" );wm.dispose( "w347" );wm.dispose( "w346" );wm.dispose( "w345" );wm.dispose( "w344" );wm.dispose( "w343" );wm.dispose( "w342" );wm.dispose( "w341" );wm.dispose( "w340" );wm.dispose( "w339" );wm.dispose( "w338" );wm.dispose( "w337" );wm.dispose( "w336" );wm.dispose( "w335" );wm.dispose( "w334" );wm.dispose( "w333" );wm.dispose( "w332" );wm.dispose( "w331" );wm.dispose( "w330" );wm.dispose( "w329" );wm.dispose( "w328" );wm.dispose( "w327" );wm.dispose( "w326" );wm.dispose( "w325" );wm.dispose( "w324" );wm.dispose( "w323" );wm.dispose( "w322" );wm.dispose( "w321" );wm.dispose( "w320" );wm.dispose( "w138" );wm.dispose( "w141" );wm.dispose( "w139" );wm.dispose( "w140" );wm.dispose( "w134" );var w = wm.findWidgetById( "w2" );w.setActive( true );var w = wm.findWidgetById( "w76" );w.setCursor( "pointer" );var w = wm.findWidgetById( "w2" );w.setActiveControl( wm.findWidgetById( "w3" ) );org.eclipse.swt.WidgetManager.getInstance().focus( "w3" );
Comment 1 Sergey N. Yashin CLA 2009-09-26 08:29:57 EDT
It happens when dialog contains ScrolledComposite control.
Comment 2 Ivan Furnadjiev CLA 2009-09-26 10:58:00 EDT
When the ScrolledComposite is disposed, the parent is set to null. Reworked ScrolledComposite.js#_onChangeParent function to handle setting of null parent (focusRoot).