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

Bug 377406

Summary: Seemingly unnecessary request related to active control and focus control
Product: [RT] RAP Reporter: Ralf Sternberg <rsternberg>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 1.5   
Target Milestone: 1.5 M7   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Ralf Sternberg CLA 2012-04-23 09:46:48 EDT
With the following snippet, the initial response contains the operation [ "set", "w1", { "focusControl": "w3" } ]. The client immediately sends another request to tell the server the Shell's activeControl and the Display's focusControl: w2.activeControl=w3&w1.cursorLocation.x=0&w1.cursorLocation.y=0&w1.focusControl=w3&uiRoot=w1&requestCounter=8. I wonder if this second request is really necessary.

    Display display = new Display();
    Shell shell = new Shell( display );
    shell.setLayout( new FillLayout() );

    CTabFolder folder = new CTabFolder( shell, SWT.BOTTOM );
    CTabItem item = new CTabItem( folder, SWT.NONE );
    item.setText( "Item" );

    shell.setSize( 400, 200 );
    shell.open();
Comment 1 Ivan Furnadjiev CLA 2012-04-24 05:25:52 EDT
Through carelessness we removed qx.ui.core.Widget.flushGlobalQueues(); from Request.js#_handleCompleted after the response has been processed. Without it, all properties "changed" events are fired after the EventUtil suspend property is set back to true. Thus, new request is send on property changed event. Fixed in CVS HEAD.