--- old/src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.h 2016-11-03 16:27:38.000000000 +0530 +++ new/src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.h 2016-11-03 16:27:38.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-11-03 16:27:39.000000000 +0530 +++ new/src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m 2016-11-03 16:27:39.000000000 +0530 @@ -170,12 +170,27 @@ [self setTrayIcon: theTrayIcon]; isHighlighted = NO; image = nil; - + trackingArea = nil; + + [self addTrackingArea]; + return self; } +- (void)addTrackingArea { + NSTrackingAreaOptions options = NSTrackingMouseMoved | + NSTrackingInVisibleRect | + NSTrackingActiveAlways; + trackingArea = [[NSTrackingArea alloc] initWithRect: CGRectZero + options: options + owner: self + userInfo: nil]; + [self addTrackingArea:trackingArea]; +} + -(void) dealloc { [image release]; + [trackingArea release]; [super dealloc]; } @@ -268,6 +283,10 @@ [trayIcon deliverJavaMouseEvent: event]; } +- (void) mouseMoved: (NSEvent *)event { + [trayIcon deliverJavaMouseEvent: event]; +} + - (void) rightMouseDown:(NSEvent *)event { [trayIcon deliverJavaMouseEvent: event]; }