(svn r3742) -codechange: [OSX] changed an assert to use the new error window and added another two to show if the screen buffer fails for some reason in cocoa driver (instead of just crashing)
authorbjarni
Thu, 02 Mar 2006 22:21:27 +0000
changeset 3129 6643450b6aa4
parent 3128 1a6b26d523f4
child 3130 87a9577f6945
(svn r3742) -codechange: [OSX] changed an assert to use the new error window and added another two to show if the screen buffer fails for some reason in cocoa driver (instead of just crashing)
video/cocoa_v.m
--- a/video/cocoa_v.m	Thu Mar 02 22:00:57 2006 +0000
+++ b/video/cocoa_v.m	Thu Mar 02 22:21:27 2006 +0000
@@ -847,6 +847,10 @@
 	_cocoa_video_data.realpixels = GetPixBaseAddr(GetPortPixMap(thePort));
 	_cocoa_video_data.pitch      = GetPixRowBytes(GetPortPixMap(thePort));
 
+	if (_cocoa_video_data.realpixels == NULL) {
+		ShowMacErrorDialog("Error: failure to locate screen buffer in the OS");
+	}
+
 	/* _cocoa_video_data.realpixels now points to the window's pixels
 	 * We want it to point to the *view's* pixels
 	 */
@@ -862,7 +866,9 @@
 	/* Allocate new buffer */
 	free(_cocoa_video_data.pixels);
 	_cocoa_video_data.pixels = (uint8*)malloc(newViewFrame.size.width * newViewFrame.size.height);
-	assert(_cocoa_video_data.pixels != NULL);
+	if (_cocoa_video_data.pixels == NULL) {
+		ShowMacErrorDialog("Error: failed to allocate frame buffer");
+	}
 
 
 	/* Tell the game that the resolution changed */
@@ -1352,6 +1358,10 @@
 	_cocoa_video_data.realpixels = (uint8*)CGDisplayBaseAddress(_cocoa_video_data.display_id);
 	_cocoa_video_data.pitch  = CGDisplayBytesPerRow(_cocoa_video_data.display_id);
 
+	if (_cocoa_video_data.realpixels == NULL ) {
+		ShowMacErrorDialog("Error: failure to locate screen buffer in the OS for full screen mode");
+	}
+
 	_cocoa_video_data.width = CGDisplayPixelsWide(_cocoa_video_data.display_id);
 	_cocoa_video_data.height = CGDisplayPixelsHigh(_cocoa_video_data.display_id);
 	_cocoa_video_data.fullscreen = true;