[7u4] Review request for 7154480: [macosx] Not all popup menu items are visible

Mike Swingler swingler at apple.com
Fri Mar 23 11:49:43 PDT 2012

Actually, popups _can_ occlude the Dock, but it's very bad form for them to do so. Every effort should be taken to push the popup into the usable insets of the screen…but popups definitely overlap the menubar and the Dock when forced.


On Mar 23, 2012, at 11:36 AM, Scott Kovatch wrote:

> No, that's not the right behavior on OS X. The Dock sits above everything else when it's visible -- popups never cover the Dock.  You can see this by taking just about any window and dragging it down so it goes behind the dock, then right-click on the window.  The context menu always gets pushed up so the bottom of the popup menu sits right above the dock.  I think this is the right fix.
> Out of curiosity, why is it necessary to look for SET_WINDOW_ALWAYS_ON_TOP_PERMISSION? Is it considered bad form or some kind of security issue to block a task bar on Windows?
> -- Scott
> On Mar 23, 2012, at 11:14 AM, Anthony Petrov wrote:
>> Hi Leonid,
>> The code changes look good to me. I'm approving the fix given the emergency of the issue.
>> However, I think that a more elegant solution for this bug would be to -setLevel: for always-on-top Java windows of the type POPUP to a value that pushes the windows above the dock. This way we wouldn't need an overridable method in the SunToolkit class. Could you file a CR to investigate this possibility in a future release please?
>> --
>> best regards,
>> Anthony
>> On 3/23/2012 9:48 PM, Leonid Romanov wrote:
>>> Hi,
>>> Release team has decided that we'd better fix 7154480 for 7u4 because of its high impact on users, so please review a fix for it. The fix prevents popups from overlapping with the Dock/menu bar on OS X, keeping the old behavior for other platforms.
>>> Bug:  http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7154480
>>> Webrev: http://cr.openjdk.java.net/~leonidr/7154480/webrev.00/
>>> Thanks,
>>> Leonid.

More information about the macosx-port-dev mailing list