From 37ba1b0a6be5d8607b4b0693f0319a4654d4f8ee Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Mon, 5 Jun 2017 12:55:39 -0700 Subject: [PATCH] Declare mouse inside variable in interface --- atom/browser/native_window_mac.mm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/atom/browser/native_window_mac.mm b/atom/browser/native_window_mac.mm index 1ffe708a8a53..7763098e7781 100644 --- a/atom/browser/native_window_mac.mm +++ b/atom/browser/native_window_mac.mm @@ -46,19 +46,22 @@ bool ScopedDisableResize::disable_resize_ = false; } // namespace -// This view encapsuate Quit, Minimize and Full Screen buttons. It is being -// used for frameless window. -@interface SemaphoreView : NSView +// This view encapsuates the Quit, Minimize and Full Screen buttons. It is being +// used for frameless windows. +@interface SemaphoreView : NSView { + @private + BOOL mouse_inside_; +} @end @implementation SemaphoreView -BOOL mouseInside = NO; - - (id)initWithFrame:(NSRect)frame { self = [super initWithFrame:frame]; if (self) { + mouse_inside_ = NO; + // create buttons NSButton* closeButton = [NSWindow standardWindowButton:NSWindowCloseButton forStyleMask:NSTitledWindowMask]; @@ -112,7 +115,7 @@ BOOL mouseInside = NO; } - (BOOL)_mouseInGroup:(NSButton*)button { - return mouseInside; + return mouse_inside_; } - (void)updateTrackingAreas { @@ -126,19 +129,19 @@ BOOL mouseInside = NO; - (void)mouseEntered:(NSEvent*)event { [super mouseEntered:event]; - mouseInside = YES; + mouse_inside_ = YES; [self setNeedsDisplayForButtons]; } - (void)mouseExited:(NSEvent*)event { [super mouseExited:event]; - mouseInside = NO; + mouse_inside_ = NO; [self setNeedsDisplayForButtons]; } - (void)setNeedsDisplayForButtons { for (NSView* subview in self.subviews) { - [subview setHidden:!mouseInside]; + [subview setHidden:!mouse_inside_]; [subview setNeedsDisplay:YES]; } }