changeset 18100:05a2b40c0df9 draft

(svn r22921) -Fix: [OSX] Don't allow the old fullscreen mode also not as fallback on OSX 10.7. Also add a few sprinkles of coding style accross cocoa display drivers
author planetmaker <planetmaker@openttd.org>
date Sun, 11 Sep 2011 12:52:44 +0000
parents 73132c970152
children 3a5a17348a42
files src/video/cocoa/cocoa_v.mm src/video/cocoa/fullscreen.mm
diffstat 2 files changed, 21 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/src/video/cocoa/cocoa_v.mm
+++ b/src/video/cocoa/cocoa_v.mm
@@ -143,7 +143,7 @@
 	[ menuItem setSubmenu:windowMenu ];
 	[ [ NSApp mainMenu ] addItem:menuItem ];
 
-	if(MacOSVersionIsAtLeast(10, 7, 0)) {
+	if (MacOSVersionIsAtLeast(10, 7, 0)) {
 		/* The OS will change the name of this menu item automatically */
 		[ windowMenu addItemWithTitle:@"Fullscreen" action:@selector(toggleFullScreen:) keyEquivalent:@"^f" ];
 	}
@@ -241,23 +241,20 @@
 	CocoaSubdriver *ret;
 #endif
 
-#ifdef ENABLE_COCOA_QUARTZ
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+#ifdef ENABLE_COCOA_QUARTZ && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4)
 	/* The reason for the version mismatch is due to the fact that the 10.4 binary needs to work on 10.5 as well. */
 	if (MacOSVersionIsAtLeast(10, 5, 0)) {
 		ret = QZ_CreateWindowQuartzSubdriver(width, height, bpp);
 		if (ret != NULL) return ret;
 	}
 #endif
-#endif
 
 #ifdef ENABLE_COCOA_QUICKDRAW
 	ret = QZ_CreateWindowQuickdrawSubdriver(width, height, bpp);
 	if (ret != NULL) return ret;
 #endif
 
-#ifdef ENABLE_COCOA_QUARTZ
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
+#ifdef ENABLE_COCOA_QUARTZ && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4)
 	/*
 	 * If we get here we are running 10.4 or earlier and either openttd was compiled without the QuickDraw driver
 	 * or it failed to load for some reason. Fall back to Quartz if possible even though that driver is slower.
@@ -267,7 +264,6 @@
 		if (ret != NULL) return ret;
 	}
 #endif
-#endif
 
 	return NULL;
 }
@@ -307,11 +303,14 @@
 	ret = QZ_CreateWindowSubdriver(640, 480, bpp);
 	if (ret != NULL) return ret;
 
-#ifdef _DEBUG && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7)
-	/* Try fullscreen too when in debug mode */
-	DEBUG(driver, 0, "Setting video mode failed, falling back to 640x480 fullscreen mode.");
-	ret = QZ_CreateFullscreenSubdriver(640, 480, bpp);
-	if (ret != NULL) return ret;
+#ifdef _DEBUG
+	/* This Fullscreen mode crashes on OSX 10.7 */
+	if !(MacOSVersionIsAtLeast(10, 7, 0) {
+		/* Try fullscreen too when in debug mode */
+		DEBUG(driver, 0, "Setting video mode failed, falling back to 640x480 fullscreen mode.");
+		ret = QZ_CreateFullscreenSubdriver(640, 480, bpp);
+		if (ret != NULL) return ret;
+	}
 #endif
 
 	return NULL;
@@ -681,8 +680,8 @@
 {
 	NSPoint loc = [ self convertPoint:[ [ self window ] mouseLocationOutsideOfEventStream ] fromView:nil ];
 	BOOL inside = ([ self hitTest:loc ]==self);
-	if(inside) [ [ self window] makeFirstResponder:self ];
-	trackingtag = [ self addTrackingRect:[self visibleRect] owner:self userData:nil assumeInside:inside ];
+	if (inside) [ [ self window ] makeFirstResponder:self ];
+	trackingtag = [ self addTrackingRect:[ self visibleRect ] owner:self userData:nil assumeInside:inside ];
 }
 /**
  * Return responsibility for the application window to system
@@ -713,7 +712,7 @@
  */
 - (void)viewDidMoveToWindow
 {
-	if([ self window ]) [ self setTrackingRect ];
+	if ([ self window ]) [ self setTrackingRect ];
 }
 /**
  * Make OpenTTD aware that it has control over the mouse
--- a/src/video/cocoa/fullscreen.mm
+++ b/src/video/cocoa/fullscreen.mm
@@ -311,15 +311,15 @@
 
 		/* Since CGDisplayBaseAddress and CGDisplayBytesPerRow are no longer available on 10.7,
 		 * disable until a replacement can be found. */
-        if (MacOSVersionIsAtLeast(10, 7, 0)) {
-            this->window_buffer = NULL;
-            this->window_pitch  = NULL;
-        } else {
+		if (MacOSVersionIsAtLeast(10, 7, 0)) {
+			this->window_buffer = NULL;
+			this->window_pitch  = NULL;
+		} else {
 #if (MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_7)
-            this->window_buffer = CGDisplayBaseAddress(this->display_id);
-            this->window_pitch  = CGDisplayBytesPerRow(this->display_id);
+			this->window_buffer = CGDisplayBaseAddress(this->display_id);
+			this->window_pitch  = CGDisplayBytesPerRow(this->display_id);
 #endif
-        }
+		}
 
 		this->device_width  = CGDisplayPixelsWide(this->display_id);
 		this->device_height = CGDisplayPixelsHigh(this->display_id);