| Summary: | StackRenderer should not hide a placeholder's part's toolbar if that part is not currently being managed by that placeholder | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] e4 | Reporter: | Remy Suen <remy.suen> | ||||
| Component: | UI | Assignee: | Remy Suen <remy.suen> | ||||
| Status: | VERIFIED FIXED | QA Contact: | Eric Moffatt <emoffatt> | ||||
| Severity: | critical | ||||||
| Priority: | P3 | CC: | Olivier_Thomann | ||||
| Version: | 1.0 | ||||||
| Target Milestone: | 4.1 M7 | ||||||
| Hardware: | All | ||||||
| OS: | Windows All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
|
Description
Remy Suen
(In reply to comment #0) > 3. Use the context menu to close the 'Debug' perspective. After step 3 the 'Package Explorer' seems to lose its tool bar. Created attachment 193631 [details]
StackRenderer patch v1
When placeholders were being hidden from a part stack, their toolbars were being indiscriminately parented off to the limbo shell. This is not a necessary step if the placeholder isn't even managing the part it's pointing at at the moment (as that implies it is not currently in control of that part's widget).
In the described scenario, the 'Package Explorer' has a hidden placeholder in the 'Debug' perspective and when that perspective got unrendered, the unrendering process of the part stack caused that view's tool bar to be reparented even though that placeholder was not actually managing the 'Package Explorer'. The resultant reparenting caused problems in CTabFolder while it was trying to manage its top right control.
The fix is to check for this and to not force any reparenting if the part isn't currently pointing at that placeholder.
(In reply to comment #2) > Created attachment 193631 [details] > StackRenderer patch v1 Fix and tests released to CVS HEAD. Thanks for the bug report, Olivier! Verified with I20110426-0200 on Windows XP. |