| Summary: | RemoveGui is not recursive | ||
|---|---|---|---|
| Product: | [Eclipse Project] e4 | Reporter: | Remy Suen <remy.suen> |
| Component: | UI | Assignee: | Project Inbox <e4.ui-inbox> |
| Status: | CLOSED DUPLICATE | QA Contact: | Eric Moffatt <emoffatt> |
| Severity: | critical | ||
| Priority: | P3 | ||
| Version: | 1.0 | ||
| Target Milestone: | 4.1 M1 | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
| Attachments: | |||
|
Description
Remy Suen
Created attachment 172472 [details]
PartRenderingEngineTests patch v1
Tests patch to reproduce the problem.
When a part stack is unrendered, its child parts are not disposed. Please note that this happens _regardless_ of whether it is a shared part or not.
The first element to get 'removeGui' called on it is the stack (rather than the part that was initially closed. Perhaps the CleanupAddon should perform *all* its operations in an asynch?? Created attachment 173011 [details]
Ensure that the TBR cascading gets done after the initial element has been handled
Committed in >20100629. Applied the patch. Remy raises the point that for true consistency that setting the TBR to false for a stack should call 'removeGui' on any TBR(true) elements it owns (but *not* set their TBR to false). We should discuss if there's a better way to manage this (perhaps by adding a callback into the renderer ?) Renaming this defect to reflect that the current removeGui code does not explicitly recurse through its children. This is likely to interfere with some of the existing logic however (i.e. we call the parent's 'hideChild' which, for stacks, will force another tab to become the 'selectedElement', leading to badness...;-). For this reason I've moved this post-release for a proper examination. Created attachment 173039 [details]
Patch to explicitly un-inject elements in removeGui
Committed in >20100629. Applied the patch. (In reply to comment #1) > Created an attachment (id=172472) [details] > PartRenderingEngineTests patch v1 Merged into HEAD. *** This bug has been marked as a duplicate of bug 309705 *** |