src/macosx/native/sun/awt/AWTView.m

Print this page

        

*** 80,89 **** --- 80,90 ---- fEnablePressAndHold = shouldUsePressAndHold(); fInPressAndHold = NO; fPAHNeedsToSelect = NO; mouseIsOver = NO; + [self resetTrackingArea]; if (windowLayer != nil) { self.cglLayer = windowLayer; [self setWantsLayer: YES]; [self.layer addSublayer: (CALayer *)cglLayer];
*** 144,154 **** [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^() { [[self window] makeFirstResponder: self]; }]; if ([self window] != NULL) { ! [self resetTrackingRect]; } } - (BOOL) acceptsFirstMouse: (NSEvent *)event { return YES; --- 145,155 ---- [JNFRunLoop performOnMainThreadWaiting:NO withBlock:^() { [[self window] makeFirstResponder: self]; }]; if ([self window] != NULL) { ! [self resetTrackingArea]; } } - (BOOL) acceptsFirstMouse: (NSEvent *)event { return YES;
*** 366,399 **** static JNF_CLASS_CACHE(jc_PlatformView, "sun/lwawt/macosx/CPlatformView"); static JNF_MEMBER_CACHE(jm_deliverMouseEvent, jc_PlatformView, "deliverMouseEvent", "(Lsun/lwawt/macosx/event/NSEvent;)V"); JNFCallVoidMethod(env, m_cPlatformView, jm_deliverMouseEvent, jEvent); } ! ! - (void) clearTrackingRect { ! if (rolloverTrackingRectTag > 0) { ! [self removeTrackingRect:rolloverTrackingRectTag]; ! rolloverTrackingRectTag = 0; } - } ! - (void) resetTrackingRect { ! [self clearTrackingRect]; ! rolloverTrackingRectTag = [self addTrackingRect:[self visibleRect] owner:self ! userData:NULL ! assumeInside:NO]; } - (void)updateTrackingAreas { [super updateTrackingAreas]; ! [self resetTrackingRect]; } - (void) resetCursorRects { [super resetCursorRects]; ! [self resetTrackingRect]; } -(void) deliverJavaKeyEventHelper: (NSEvent *) event { static NSEvent* sLastKeyEvent = nil; if (event == sLastKeyEvent) { --- 367,402 ---- static JNF_CLASS_CACHE(jc_PlatformView, "sun/lwawt/macosx/CPlatformView"); static JNF_MEMBER_CACHE(jm_deliverMouseEvent, jc_PlatformView, "deliverMouseEvent", "(Lsun/lwawt/macosx/event/NSEvent;)V"); JNFCallVoidMethod(env, m_cPlatformView, jm_deliverMouseEvent, jEvent); } ! - (void) resetTrackingArea { ! if (rolloverTrackingArea != nil) { ! [self removeTrackingArea:rolloverTrackingArea]; ! [rolloverTrackingArea release]; } ! int options = (NSTrackingActiveInActiveApp | NSTrackingCursorUpdate | ! NSTrackingMouseEnteredAndExited | NSTrackingMouseMoved | ! NSTrackingEnabledDuringMouseDrag); ! ! rolloverTrackingArea = [[NSTrackingArea alloc] initWithRect:[self visibleRect] ! options: options owner:self ! userInfo:nil ! ]; ! [self addTrackingArea:rolloverTrackingArea]; } - (void)updateTrackingAreas { [super updateTrackingAreas]; ! [self resetTrackingArea]; } - (void) resetCursorRects { [super resetCursorRects]; ! [self resetTrackingArea]; } -(void) deliverJavaKeyEventHelper: (NSEvent *) event { static NSEvent* sLastKeyEvent = nil; if (event == sLastKeyEvent) {