From cc9b448d7f92d9225a66fa9333bb4907804a8a4f Mon Sep 17 00:00:00 2001 From: bjarni Date: Fri, 24 Mar 2006 09:47:50 +0000 Subject: [PATCH] (svn r4082) -Fix: [OSX] FS#80 Crash when switching from windowed to fullscreen this bug was introduced in rev 3670, but when undetected for a long time since it was resolution specific this is likely the issue with x86 OSX in fullscreen, so I removed the really slow workaround and will clean it up once I get positive feedback from a x86 mac this means that x86 OSX should now get the 1000% video driver speed boost as well this fix is written by eglandil --- video/cocoa_v.m | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/video/cocoa_v.m b/video/cocoa_v.m index 71065cd25a..a3f3ed0554 100644 --- a/video/cocoa_v.m +++ b/video/cocoa_v.m @@ -1470,7 +1470,7 @@ static void QZ_DrawScreen(void) width = _cocoa_video_data.width; pitch = _cocoa_video_data.pitch; -#ifdef __POWERPC__ +#if 1 // PPC appears to handle updating of rectangles right { uint num_dirty_rects; @@ -1497,9 +1497,9 @@ static void QZ_DrawScreen(void) y = _cocoa_video_data.dirty_rects[i].top; left = _cocoa_video_data.dirty_rects[i].left; - length_drawn = _cocoa_video_data.dirty_rects[i].right - left + 1; + length_drawn = _cocoa_video_data.dirty_rects[i].right - left; height = _cocoa_video_data.dirty_rects[i].bottom; - for (; y <= height; y++) memcpy(dst + y * pitch + left, src + y * width +left, length_drawn); + for (; y < height; y++) memcpy(dst + y * pitch + left, src + y * width +left, length_drawn); } _cocoa_video_data.num_dirty_rects = 0; @@ -1649,8 +1649,8 @@ static void QZ_UpdateVideoModes(void) for (i = 0, j = 0; j < lengthof(_resolutions) && i < count; i++) { if (_cocoa_video_data.fullscreen || ( - (uint)current_modes[i].x <= _cocoa_video_data.device_width && - (uint)current_modes[i].y <= _cocoa_video_data.device_height) + (uint)current_modes[i].x < _cocoa_video_data.device_width && + (uint)current_modes[i].y < _cocoa_video_data.device_height) ) { _resolutions[j][0] = current_modes[i].x; _resolutions[j][1] = current_modes[i].y;