From 50ccc908dc4e6376de91edd7f74018898fd690b1 Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Mon, 24 Dec 2007 00:05:24 +0000 Subject: [PATCH] update mac gl, after rev 50900 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/mac/carbon/glcanvas.h | 4 ++-- src/mac/carbon/glcanvas.cpp | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/include/wx/mac/carbon/glcanvas.h b/include/wx/mac/carbon/glcanvas.h index 4daedf6dc6..79069995d1 100644 --- a/include/wx/mac/carbon/glcanvas.h +++ b/include/wx/mac/carbon/glcanvas.h @@ -26,7 +26,7 @@ public: wxGLContext(wxGLCanvas *win, const wxGLContext *other = NULL); virtual ~wxGLContext(); - virtual void SetCurrent(const wxGLCanvas& win) const; + virtual bool SetCurrent(const wxGLCanvas& win) const; // Mac-specific AGLContext GetAGLContext() const { return m_aglContext; } @@ -61,7 +61,7 @@ public: virtual ~wxGLCanvas(); // implement wxGLCanvasBase methods - virtual void SwapBuffers(); + virtual bool SwapBuffers(); // Mac-specific functions diff --git a/src/mac/carbon/glcanvas.cpp b/src/mac/carbon/glcanvas.cpp index a65fbe680a..b3a2a81245 100644 --- a/src/mac/carbon/glcanvas.cpp +++ b/src/mac/carbon/glcanvas.cpp @@ -75,20 +75,27 @@ wxGLContext::~wxGLContext() } } -void wxGLContext::SetCurrent(const wxGLCanvas& win) const +bool wxGLContext::SetCurrent(const wxGLCanvas& win) const { if ( !m_aglContext ) - return; + return false; AGLDrawable drawable = (AGLDrawable)GetWindowPort( MAC_WXHWND(win.MacGetTopLevelWindowRef())); if ( !aglSetDrawable(m_aglContext, drawable) ) + { wxLogAGLError("aglSetDrawable"); + return false; + } if ( !aglSetCurrentContext(m_aglContext) ) + { wxLogAGLError("aglSetCurrentContext"); + return false; + } wx_const_cast(wxGLCanvas&, win).SetViewport(); + return true; } // ---------------------------------------------------------------------------- @@ -305,12 +312,13 @@ wxGLCanvas::~wxGLCanvas() aglDestroyPixelFormat(m_aglFormat); } -void wxGLCanvas::SwapBuffers() +bool wxGLCanvas::SwapBuffers() { AGLContext context = aglGetCurrentContext(); - wxCHECK_RET( context, _T("should have current context") ); + wxCHECK_MSG(context, false, _T("should have current context")); aglSwapBuffers(context); + return true; } void wxGLCanvas::SetViewport() -- 2.45.2