We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 108

Summary: Quartz driver compiler warnings on Intel Macs (10.4 SDK?)
Product: SDL Reporter: Ryan C. Gordon <icculus>
Component: videoAssignee: Ryan C. Gordon <icculus>
Status: RESOLVED FIXED QA Contact: Sam Lantinga <slouken>
Severity: normal    
Priority: P2 CC: max
Version: 2.0.0   
Hardware: PowerPC   
OS: Mac OS X (All)   

Description Ryan C. Gordon 2006-01-29 22:41:28 UTC
More Mac OS X warnings...the "deprecated" stuff is deprecated in (I think) the 10.4 SDK, which is all you get on the Intel Macs. We need to get rid of this stuff in some form sooner or later, although it does appear to work for now...at best, QuickDraw will become a slower codepath over time, probably layered on something else, the way Sound Manager eventually got layered inefficiently over CoreAudio.

Here's the gcc4 output:

SDL_QuartzVideo.m: In function 'QZ_FadeGammaOut':
SDL_QuartzVideo.m:365: warning: pointer targets in passing argument 6 of 'CGGetDisplayTransferByTable' differ in signedness
SDL_QuartzVideo.m: In function 'QZ_SetVideoWindowed':
SDL_QuartzVideo.m:808: warning: 'LockPortBits' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1652)
SDL_QuartzVideo.m:809: warning: 'GetPixBaseAddr' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/QDOffscreen.h:364)
SDL_QuartzVideo.m:809: warning: 'GetPortPixMap' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:6049)
SDL_QuartzVideo.m:810: warning: 'GetPixRowBytes' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/QDOffscreen.h:376)
SDL_QuartzVideo.m:810: warning: 'GetPortPixMap' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:6049)
SDL_QuartzVideo.m:811: warning: 'GetPixDepth' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:6933)
SDL_QuartzVideo.m:811: warning: 'GetPortPixMap' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:6049)
SDL_QuartzVideo.m:812: warning: 'UnlockPortBits' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1667)
SDL_QuartzVideo.m: In function 'QZ_LockWindow':
SDL_QuartzVideo.m:1328: warning: 'LockPortBits' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1652)
SDL_QuartzVideo.m: In function 'QZ_UnlockWindow':
SDL_QuartzVideo.m:1333: warning: 'UnlockPortBits' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1667)
SDL_QuartzVideo.m: In function 'QZ_DrawResizeIcon':
SDL_QuartzVideo.m:1382: warning: 'SetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:2401)
SDL_QuartzVideo.m:1385: warning: 'RectInRgn' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:3206)
SDL_QuartzVideo.m: In function 'QZ_UpdateRects':
SDL_QuartzVideo.m:1434: warning: 'GetPort' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1862)
SDL_QuartzVideo.m:1436: warning: 'CreateNewPortForCGDisplayID' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:7687)
SDL_QuartzVideo.m:1441: warning: 'SetPort' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1847)
SDL_QuartzVideo.m:1442: warning: 'LocalToGlobal' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:3705)
SDL_QuartzVideo.m:1444: warning: 'SetPort' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1847)
SDL_QuartzVideo.m:1446: warning: 'LockPortBits' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1652)
SDL_QuartzVideo.m:1447: warning: 'LockPortBits' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1652)
SDL_QuartzVideo.m:1454: warning: 'SetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:2401)
SDL_QuartzVideo.m:1458: warning: 'SetRect' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:2401)
SDL_QuartzVideo.m:1464: warning: 'CopyBits' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:3370)
SDL_QuartzVideo.m:1469: warning: 'SetPort' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:1847)
SDL_QuartzVideo.m:1474: warning: 'NewRgn' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:2877)
SDL_QuartzVideo.m:1475: warning: 'NewRgn' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:2877)
SDL_QuartzVideo.m:1477: warning: 'SetEmptyRgn' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:3032)
SDL_QuartzVideo.m:1482: warning: 'SetRectRgn' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:3055)
SDL_QuartzVideo.m:1484: warning: 'UnionRgn' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:3150)
SDL_QuartzVideo.m:1490: warning: 'QDFlushPortBuffer' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:7341)
SDL_QuartzVideo.m:1491: warning: 'DisposeRgn' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:2997)
SDL_QuartzVideo.m:1492: warning: 'DisposeRgn' is deprecated (declared at /System/Library/Frameworks/ApplicationServices.framework/Frameworks/QD.framework/Headers/Quickdraw.h:2997)

--ryan.
Comment 1 Max Horn 2006-03-22 12:46:40 UTC
So to "fix" this, we'd have to move away from QuickDraw completly and try to use e.g. CoreGraphics directly.

I looked into this a loooong time ago (read: 10.1 :-), but back then CoreGraphics just wasn't something you wanted to use to do bitmap graphics (not to mention the docs, or the lack thereof). Maybe the situation has been improved today? Then we could indeed try to do that, and it would possibly even benefit PowerPC users.
Comment 2 Sam Lantinga 2006-06-21 04:08:34 UTC
Moving this to 1.3, since it'll involve a big overhaul of the Quartz driver, and we're going to be doing that in 1.3 anyway...
Comment 3 Sam Lantinga 2006-07-25 11:02:32 UTC
This is implemented in SDL 1.3 in subversion.  The Quartz driver is gone, replaced with Cocoa+OpenGL.