0

MAC OS X 10.5 での非常に興味深いクラッシュを修正しようとしています。

コードは次のとおりです。

CGLPixelFormatObj pixelFormatObj ;
GLint numPixelFormats ;
CGLPixelFormatAttribute attribs[] =
{
    kCGLPFAFullScreen,
    kCGLPFADisplayMask,
    (CGLPixelFormatAttribute) 0,    /* Display mask bit goes here */
    (CGLPixelFormatAttribute) 0
} ;


if ( display == kCGNullDirectDisplay )
    display = CGMainDisplayID();
attribs[2] = (CGLPixelFormatAttribute) CGDisplayIDToOpenGLDisplayMask(display);


/* Build a full-screen GL context */
CGError error = CGLChoosePixelFormat( attribs, &pixelFormatObj, &numPixelFormats );
if ( pixelFormatObj == NULL )    // No full screen context support
    return NULL;

CGLChoosePixelFormat() を呼び出すと「CGNoError」が返されますが、「pixelFormatObj」は NULL です。

このコードは、画面をキャプチャするための参照をオンラインで見たので、おそらく機能するはずです(参照http://cocoadev.com/wiki/ScreenShotCode)。

XCode のデバッガーの下を見ると、attribs[2] は "kCGLPFAAllRenderers" になります。

これがどのような条件で発生する可能性があるかについて、誰かが考えを持っていますか? そして、これを克服する方法は?

4

0 に答える 0