(svn r10124) -Fix r10123: fix the OSX video driver properly
authortruelight
Tue, 12 Jun 2007 23:10:47 +0000
changeset 6881 292d1e727096
parent 6880 d5741c45fcd8
child 6882 10263ea04cf3
(svn r10124) -Fix r10123: fix the OSX video driver properly
src/video/cocoa_v.mm
--- a/src/video/cocoa_v.mm	Tue Jun 12 23:06:56 2007 +0000
+++ b/src/video/cocoa_v.mm	Tue Jun 12 23:10:47 2007 +0000
@@ -873,9 +873,6 @@
 	_screen.width = _cocoa_video_data.width;
 	_screen.height = _cocoa_video_data.height;
 	_screen.pitch = _cocoa_video_data.width;
-	_screen.renderer = RendererFactoryBase::SelectRenderer(BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
-
-	if (_screen.renderer == NULL) error("Couldn't load the renderer '%s' the selected blitter depends on", BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
 
 	GameSizeChanged();
 
@@ -1711,9 +1708,6 @@
 	_screen.width = _cocoa_video_data.width;
 	_screen.height = _cocoa_video_data.height;
 	_screen.pitch = _cocoa_video_data.width;
-	_screen.renderer = RendererFactoryBase::SelectRenderer(BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
-
-	if (_screen.renderer == NULL) error("Couldn't load the renderer '%s' the selected blitter depends on", BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
 
 	QZ_UpdateVideoModes();
 	GameSizeChanged();
@@ -1739,6 +1733,8 @@
 
 static void QZ_VideoInit()
 {
+	if (BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth() == 0) error("Can't use a blitter that blits 0 bpp for normal visuals");
+
 	memset(&_cocoa_video_data, 0, sizeof(_cocoa_video_data));
 
 	/* Initialize the video settings; this data persists between mode switches */
@@ -1766,6 +1762,9 @@
 
 	_cocoa_video_data.cursor_visible = true;
 
+	_screen.renderer = RendererFactoryBase::SelectRenderer(BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
+	if (_screen.renderer == NULL) error("Couldn't load the renderer '%s' the selected blitter depends on", BlitterFactoryBase::GetCurrentBlitter()->GetRenderer());
+
 	/* register for sleep notifications so wake from sleep generates SDL_VIDEOEXPOSE */
 //	QZ_RegisterForSleepNotifications();
 }