[8] Review request for 8007267: [macosx] com.apple.eawt.Application.setDefaultMenuBar is not working (original) (raw)

Anthony Petrov anthony.petrov at oracle.com
Fri Jul 26 04:22:02 PDT 2013


Sounds good then. Thanks.

-- best regards, Anthony

On 07/26/2013 03:02 PM, Leonid Romanov wrote:

On Jul 26, 2013, at 12:56 PM, Anthony Petrov <anthony.petrov at oracle.com> wrote:

Hi Leonid,

AWTWindow.m 568 - (void) windowDidResignKey: (NSNotification *) notification { 572 [self.javaMenuBar deactivate]; 574 CMenuBar* defaultMenu = [[ApplicationDelegate sharedDelegate] defaultMenuBar]; 575 if (defaultMenu != nil) { 576 [CMenuBar activate:defaultMenu modallyDisabled:NO]; 577 } Note that this may cause brief menu flickering if the very next event is windowDidBecomeKey for another window with a non-null menu bar. But we really can't predict whether a window belonging to our app will receive focus or not, so there doesn't seem to be a better way to handle this situation anyway. I'd suggest to add a comment here stating that the problem is known. The fix looks fine otherwise. Please consider it approved. Yeah, I've tried, but couldn't cause any flickering. My guess this is because windowDidBecomeKey/windowDiidResignKey are called within the same internal method, so perhaps all menus redrawing happens only during the next run loop iteration, or may be the interval between windowDidBecomeKey/windowDiidResignKey is too short. -- best regards, Anthony On 07/26/2013 04:54 AM, Leonid Romanov wrote: Hi, Please review a fix for 8007267: [macosx] com.apple.eawt.Application.setDefaultMenuBar is not working. It doesn't work because a bunch of code required to make it work is commented out. So, I've uncommented it, but since it isn't enough, I've also done a number of additional minor modifications.

Bug: http://bugs.sun.com/viewbug.do?bugid=8007267 webrev: http://cr.openjdk.java.net/~leonidr/8007267/webrev.00/ Thanks, Leonid.



More information about the macosx-port-dev mailing list