--- old/src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.h 2016-10-21 12:10:23.000000000 +0530 +++ new/src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.h 2016-10-21 12:10:23.000000000 +0530 @@ -26,6 +26,7 @@ #include #import #import +#import #import "CPopupMenu.h" @@ -64,12 +65,14 @@ @public AWTTrayIcon *trayIcon; NSImage* image; + NSTrackingArea *trackingArea; BOOL isHighlighted; } -(id)initWithTrayIcon:(AWTTrayIcon *)theTrayIcon; -(void)setHighlighted:(BOOL)aFlag; -(void)setImage:(NSImage*)anImage; -(void)setTrayIcon:(AWTTrayIcon*)theTrayIcon; +-(void)addTrackingArea; @end //AWTTrayIconView --- old/src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m 2016-10-21 12:10:24.000000000 +0530 +++ new/src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m 2016-10-21 12:10:24.000000000 +0530 @@ -170,10 +170,26 @@ [self setTrayIcon: theTrayIcon]; isHighlighted = NO; image = nil; - + [self addTrackingArea]; + return self; } +- (void)addTrackingArea { + if (trackingArea) { + [self removeTrackingArea:trackingArea]; + } + + NSTrackingAreaOptions options = NSTrackingMouseMoved | + NSTrackingInVisibleRect | + NSTrackingActiveAlways; + trackingArea = [[NSTrackingArea alloc] initWithRect: CGRectZero + options: options + owner: self + userInfo: nil]; + [self addTrackingArea:trackingArea]; +} + -(void) dealloc { [image release]; [super dealloc]; @@ -268,6 +284,10 @@ [trayIcon deliverJavaMouseEvent: event]; } +- (void) mouseMoved: (NSEvent *)event { + [trayIcon deliverJavaMouseEvent: event]; +} + - (void) rightMouseDown:(NSEvent *)event { [trayIcon deliverJavaMouseEvent: event]; }