| Summary: | [Table] "Widget is disposed" when closing UML model editor | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Nicolas Bros <nicolas.bros> | ||||
| Component: | EMF-Facet | Assignee: | Nicolas Bros <nicolas.bros> | ||||
| Status: | ASSIGNED --- | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P5 | CC: | emft.facet-inbox, gdupe | ||||
| Version: | unspecified | Flags: | gdupe:
indigo+
gdupe: iplog+ |
||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows 7 | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | 355218 | ||||||
| Bug Blocks: | |||||||
| Attachments: |
|
||||||
The problem comes from the UMLEditor : when it is closed, it doesn't remove its listener on its CommandStack, which is shared with the NatTableWidget. Then, when the NatTableWidget tries to execute a command on this CommandStack, the UMLEditor is notified and tries to update itself while disposed. I tested on my laptop today and I couldn't reproduce the bug. I'm wondering whether this could be a race-condition, or maybe another commit fixed this bug too. I will test again on my main PC with the latest version. (In reply to comment #2) > I will test again on my main PC with the latest version. I have tested again, and the issue is still happening. I have added a "known problems" section in the documentation with a workaround for this issue. Note: the issue also happened in EMF Facet unit tests. I had to modify the tests so that they close the table editor/view before the UML editor. |
Created attachment 201089 [details] stacktraces - Open a UML model with the UML editor - Select a Class and do "Edit in a table editor" - Close the UML editor This results in a "Widget is disposed" exception from SWT, a broken table editor, and other exceptions when you click on other views or editors in Eclipse (because of a NPE in NatTableWidget#usesTmpResource). See attached stacktraces.