From 2b7e2428720783166726c1193d865084f5ac2946 Mon Sep 17 00:00:00 2001 From: michi_cc Date: Mon, 12 Oct 2009 00:19:11 +0000 Subject: (svn r17768) -Fix (r17715): [OSX] Newer GCC versions don't like jumping over variable definitions with goto's. (planetmaker) --- src/video/cocoa/fullscreen.mm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/video') diff --git a/src/video/cocoa/fullscreen.mm b/src/video/cocoa/fullscreen.mm index 435436b0e..d6ec8f4e0 100644 --- a/src/video/cocoa/fullscreen.mm +++ b/src/video/cocoa/fullscreen.mm @@ -257,6 +257,12 @@ class FullscreenSubdriver: public CocoaSubdriver { bool SetVideoMode(int w, int h) { + /* Define this variables at the top (against coding style) because + * otherwise GCC barfs at the goto's jumping over variable initialization. */ + NSRect screen_rect; + NSPoint pt; + int gamma_error; + /* Destroy any previous mode */ if (this->pixel_buffer != NULL) { free(this->pixel_buffer); @@ -286,7 +292,7 @@ class FullscreenSubdriver: public CocoaSubdriver { /* Fade display to zero gamma */ OTTD_QuartzGammaTable gamma_table; - int gamma_error = this->FadeGammaOut(&gamma_table); + gamma_error = this->FadeGammaOut(&gamma_table); /* Put up the blanking window (a window above all other windows) */ if (CGDisplayCapture(this->display_id) != CGDisplayNoErr ) { @@ -330,11 +336,10 @@ class FullscreenSubdriver: public CocoaSubdriver { * We can hack around this bug by setting the screen rect ourselves. * This hack should be removed if/when the bug is fixed. */ - NSRect screen_rect = NSMakeRect(0, 0, this->display_width, this->display_height); + screen_rect = NSMakeRect(0, 0, this->display_width, this->display_height); [ [ NSScreen mainScreen ] setFrame:screen_rect ]; - - NSPoint pt = [ NSEvent mouseLocation ]; + pt = [ NSEvent mouseLocation ]; pt.y = this->display_height - pt.y; if (this->MouseIsInsideView(&pt)) QZ_HideMouse(); -- cgit v1.2.3-54-g00ecf