changeset 13259:cea349b987e4 draft

(svn r17768) -Fix (r17715): [OSX] Newer GCC versions don't like jumping over variable definitions with goto's. (planetmaker)
author michi_cc <michi_cc@openttd.org>
date Mon, 12 Oct 2009 00:19:11 +0000
parents bd27d711755c
children 7abd6e35d9f0
files src/video/cocoa/fullscreen.mm
diffstat 1 files changed, 9 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/video/cocoa/fullscreen.mm
+++ b/src/video/cocoa/fullscreen.mm
@@ -257,6 +257,12 @@
 
 	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 @@
 
 		/* 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 @@
 		 * 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();