From 6d50b1007457da26a11f05a5ba53880907d26cef Mon Sep 17 00:00:00 2001 From: michi_cc Date: Mon, 5 Aug 2013 20:35:38 +0000 Subject: [PATCH] (svn r25655) -Fix: [OSX] Mouse cursor wasn't displayed properly after switching to fullscreen on 10.7+. (Based on patch by Maedhros) --- src/video/cocoa/cocoa_v.h | 1 + src/video/cocoa/cocoa_v.mm | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/src/video/cocoa/cocoa_v.h b/src/video/cocoa/cocoa_v.h index 9f7f55c7ce..06bbbfdb2a 100644 --- a/src/video/cocoa/cocoa_v.h +++ b/src/video/cocoa/cocoa_v.h @@ -253,6 +253,7 @@ uint QZ_ListModes(OTTD_Point *modes, uint max_modes, CGDirectDisplayID display_i - (void)setDriver:(CocoaSubdriver*)drv; - (BOOL)windowShouldClose:(id)sender; +- (void)windowDidEnterFullScreen:(NSNotification *)aNotification; @end diff --git a/src/video/cocoa/cocoa_v.mm b/src/video/cocoa/cocoa_v.mm index 9e883928bc..ca81715b18 100644 --- a/src/video/cocoa/cocoa_v.mm +++ b/src/video/cocoa/cocoa_v.mm @@ -776,6 +776,14 @@ void cocoaReleaseAutoreleasePool() { driver->active = false; } +/** Window entered fullscreen mode (10.7). */ +- (void)windowDidEnterFullScreen:(NSNotification *)aNotification +{ + NSPoint loc = [ driver->cocoaview convertPoint:[ [ aNotification object ] mouseLocationOutsideOfEventStream ] fromView:nil ]; + BOOL inside = ([ driver->cocoaview hitTest:loc ] == driver->cocoaview); + + if (inside) [ driver->cocoaview mouseEntered:NULL ]; +} @end