]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/glcanvas_osx.cpp
wxMessageBox off the main thread lost result code.
[wxWidgets.git] / src / osx / glcanvas_osx.cpp
index 5811ff545d442d3304b616e8116e5fa5d309b6f9..3610ccff48393f78ba5ad723a74de28f780e6de0 100644 (file)
@@ -1,10 +1,9 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        src/mac/carbon/glcanvas.cpp
+// Name:        src/osx/glcanvas_osx.cpp
 // Purpose:     wxGLCanvas, for using OpenGL with wxWidgets under Macintosh
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     1998-01-01
-// RCS-ID:      $Id: glcanvas.cpp 54129 2008-06-11 19:30:52Z SC $
 // Copyright:   (c) Stefan Csomor
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
@@ -60,7 +59,9 @@ wxGLContext::~wxGLContext()
 IMPLEMENT_CLASS(wxGLCanvas, wxWindow)
 
 BEGIN_EVENT_TABLE(wxGLCanvas, wxWindow)
+#if wxOSX_USE_CARBON
     EVT_SIZE(wxGLCanvas::OnSize)
+#endif
 END_EVENT_TABLE()
 
 wxGLCanvas::wxGLCanvas(wxWindow *parent,
@@ -143,15 +144,6 @@ bool wxGLCanvasBase::IsDisplaySupported(const int *attribList)
     return true;
 }
 
-bool wxGLCanvas::SwapBuffers()
-{
-    WXGLContext context = WXGLGetCurrentContext();
-    wxCHECK_MSG(context, false, _T("should have current context"));
-
-    WXGLSwapBuffers(context);
-    return true;
-}
-
 bool wxGLCanvasBase::IsExtensionSupported(const char *extension)
 {
     // we need a valid context to query for extensions.
@@ -160,12 +152,16 @@ bool wxGLCanvasBase::IsExtensionSupported(const char *extension)
     if ( !ctx )
         return false;
 
+    WXGLContext ctxOld = WXGLGetCurrentContext();
+    WXGLSetCurrentContext(ctx);
+
     wxString extensions = wxString::FromAscii(glGetString(GL_EXTENSIONS));
 
+    WXGLSetCurrentContext(ctxOld);
     WXGLDestroyPixelFormat(fmt);
     WXGLDestroyContext(ctx);
 
-    return IsExtensionInList(extensions, extension);
+    return IsExtensionInList(extensions.ToAscii(), extension);
 }
 
 // ----------------------------------------------------------------------------