| Summary: | [Trim] Cheese when calling Shell#layout() on invisible Shell in RCP | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Platform | Reporter: | Benjamin Pasero <bpasero> | ||||||
| Component: | UI | Assignee: | Eric Moffatt <emoffatt> | ||||||
| Status: | VERIFIED FIXED | QA Contact: | |||||||
| Severity: | normal | ||||||||
| Priority: | P3 | CC: | bpasero, emoffatt, ramfree17 | ||||||
| Version: | 3.3 | Keywords: | helpwanted | ||||||
| Target Milestone: | 3.5 | ||||||||
| Hardware: | PC | ||||||||
| OS: | Windows XP | ||||||||
| Whiteboard: | |||||||||
| Bug Depends on: | |||||||||
| Bug Blocks: | 245125 | ||||||||
| Attachments: |
|
||||||||
|
Description
Benjamin Pasero
Created attachment 62890 [details]
Picture showing the problem
Watch the top area of both views being hidden by the toolbar.
My first guess would be that Control#isVisible() is being used to determine if the Toolbar and Statusbar is visible instead of Control#getVisible(). So, when the Shell is invisible, any call to isVisible() from a child-control of the Shell will return FALSE. When layout() is called, I guess the View is spanning both Toolbar and Statusline because it thinks those areas are not enabled and free to occupy. I seem to be able to workaround this issue by calling Shell#setLayoutDeferred(true) when the shell is invisible. Benjamin, since you indicate that you have a work-around (and I'm swamped...;-) I'm going to defer this to post 3.3. Note that I still expect to work on RCP issues in general so this may get fixed indirectly in any case. Ping. I am still seeing weird effects (at least some users seem to have it) that I think are caused by this (my workaround does not seem to be perfect). This behavior also appears in Eclipse 3.3.3 when using a virtual window application (http://virtuawin.sourceforge.net). Created attachment 110598 [details]
Changes to using 'getVisible' in TrimLayout
Committed to HEAD in >20080821. Ben, you were bang on...the TrimLayout code was using 'isVisible'. Thanks! Please, please consider it for 3.4.1 :) Done, see bug 245125... Cool! Verified in I20081027-1300. |