| Summary: | Disposing TabFolder does not destruct TabFolder children on Client side | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [RT] RAP | Reporter: | Arnaud MERGEY <a_mergey> | ||||||
| Component: | RWT | Assignee: | Project Inbox <rap-inbox> | ||||||
| Status: | RESOLVED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P2 | CC: | tbuschto | ||||||
| Version: | 2.3 | ||||||||
| Target Milestone: | 2.3 | ||||||||
| Hardware: | All | ||||||||
| OS: | All | ||||||||
| Whiteboard: | |||||||||
| Attachments: |
|
||||||||
Created attachment 244028 [details]
Very simple snippet without workbench
Snippet to reproduce the crash without workbench
Pending changes - https://git.eclipse.org/r/#/c/28108/ and https://git.eclipse.org/r/#/c/28109/. Note that the error can also occur when only the TabItem is disposed, in which case the Combo is not supposed to be disposed (and isn't), but still becomes parentless due to the way TabFolder is implemented. That's why that other change in DropDown (https://git.eclipse.org/r/#/c/28108/) is also needed. Apply the fix to 2.3-maintenance branch with changes https://git.eclipse.org/r/28115 and https://git.eclipse.org/r/28116. |
Created attachment 244020 [details] Sample code reproducing the issue Sometimes I add Error: TypeError: Cannot read property 'getFocusedChild' of null error on client with Combo Widget Debugging this I noticed destruct was not called on Combo Widget on client side (even disposed was called on server side), so changeFocusedChild listener was not removed and then the error occured. This issue is caused by TabFolder, disposing a TabFolder dispose its children on server side correctly, but does not destruct children on client side. To reproduce the issue open updated workbench demo, - click on open editor action, - click on "click me" button - close opened editor - click again on "click me" button The error Error: TypeError: Cannot read property 'getFocusedChild' of null occurs Code is in /org.eclipse.rap.demo/src/snippet/editor/StackEditor.java class The Combo is a child of TabFolder.