Community
Participate
Working Groups
Eclipse: 3.3 M6 Steps to reproduce: 1. Create the Mail Template 2. Change the MessagePopupAction#run() method to: window.getShell().setVisible(false); window.getShell().layout(); window.getShell().setVisible(true); Actual results: The View is overlapping both the Toolbar and the Status area (see attached Screenshot). Would be great if this could be considered as polish item for M7. I am using setVisible() in combination with the System-Tray functionality and its so annoying to have this UI glitch every time I restore the application. Ben
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.