]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/glcmn.cpp
fix compilation error for wxUSE_DC_CACHEING==0; use more descriptive variables names
[wxWidgets.git] / src / common / glcmn.cpp
index ffcb45a60366083877286f4be102f24b2cf00949..07db44d4c8073d436470bd07bf9681323c13475c 100644 (file)
@@ -41,17 +41,28 @@ IMPLEMENT_CLASS(wxGLApp, wxApp)
 // implementation
 // ============================================================================
 
-void wxGLCanvasBase::SetCurrent(const wxGLContext& context) const
+wxGLCanvasBase::wxGLCanvasBase()
+{
+#if WXWIN_COMPATIBILITY_2_8
+    m_glContext = NULL;
+#endif
+
+    // we always paint background entirely ourselves so prevent wx from erasing
+    // it to avoid flicker
+    SetBackgroundStyle(wxBG_STYLE_CUSTOM);
+}
+
+bool wxGLCanvasBase::SetCurrent(const wxGLContext& context) const
 {
     // although on MSW it works even if the window is still hidden, it doesn't
     // work in other ports (notably X11-based ones) and documentation mentions
     // that SetCurrent() can only be called for a shown window, so check for it
     wxASSERT_MSG( IsShownOnScreen(), _T("can't make hidden GL canvas current") );
 
-    context.SetCurrent(*wx_static_cast(const wxGLCanvas *, this));
+    return context.SetCurrent(*wx_static_cast(const wxGLCanvas *, this));
 }
 
-bool wxGLCanvasBase::SetColour(const wxChar *colour)
+bool wxGLCanvasBase::SetColour(const wxString& colour)
 {
     wxColour col = wxTheColourDatabase->Find(colour);
     if ( !col.Ok() )