I agree that we need Apple/ATI to fix this bug. But we're never going
to see a fix in 10.4.7. (It would have to be 10.4.8 or later because
video drivers are part of the system update.)

But shell scripts are kind of messy when you're trying to create a
nicely polished Mac application. At least in the naive approach, it
breaks all the drag and drop and packaging paradigms and circumvents
all the nice application icons you might have gone to the trouble of
creating for your app.

So maybe the thing to do is to case for the operating system version.
We can add code like the following:

#ifdef __APPLE__
SInt32 MacVersion;

if (Gestalt(gestaltSystemVersion, &MacVersion) == noErr)
{
   // For 10.4.7
   if (MacVersion == 0x1047)
   {
        // Test for the specific video cards giving problems and set the proper 
flags
   }
   // For 10.4.8
   else if (MacVersion <= 0x1048)
   {
        // Do we assume the problem is still broken or do we assume it's fixed?
   }
   // By the way, did things work okay in 10.4.6?

}
#endif

The API above is from Carbon. Unfortunately, I don't know any other
APIs in the system that can tell you this information. Using this
means we need to link against -framework Carbon if we don't already.
(If this goes in the core osg library, then I don't think we currently
do so in the Xcode project so I'll need to update that if we do this.)

(There is a BSD API called sysctl that can be used to get the kernel
version, but because the kernel is open source, it's actually possible
to change/update your kernel without changing the OS X version.)

-Eric
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to