Quartz: locking should only recheck CGDisplayBaseAddress() for HWSURFACEs.
--- a/src/video/quartz/SDL_QuartzVideo.m Thu Jul 14 15:40:07 2011 +0200
+++ b/src/video/quartz/SDL_QuartzVideo.m Sun Jul 17 01:03:13 2011 -0700
@@ -1252,7 +1252,7 @@
* Always get latest bitmap address and rowbytes for the screen surface;
* they can change dynamically (user has multiple monitors, etc).
*/
- if (surface == SDL_VideoSurface) {
+ if ((surface == SDL_VideoSurface) && (surface->flags & SDL_HWSURFACE)) {
surface->pixels = (void*) CGDisplayBaseAddress (kCGDirectMainDisplay);
surface->pitch = CGDisplayBytesPerRow (kCGDirectMainDisplay);
return (surface->pixels != NULL);