From: Robin Dunn <robin@alldunn.com>
Date: Thu, 12 Apr 2007 00:37:24 +0000 (+0000)
Subject: tweaks needed for new GLCanvas API
X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/99953df0649d78bbf5b831644ff97f55210eeb2f

tweaks needed for new GLCanvas API


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45414 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---

diff --git a/wxPython/demo/GLCanvas.py b/wxPython/demo/GLCanvas.py
index efffd3d9b5..3c7f3f7c4c 100644
--- a/wxPython/demo/GLCanvas.py
+++ b/wxPython/demo/GLCanvas.py
@@ -78,6 +78,8 @@ class MyCanvasBase(glcanvas.GLCanvas):
     def __init__(self, parent):
         glcanvas.GLCanvas.__init__(self, parent, -1)
         self.init = False
+        self.context = glcanvas.GLContext(self)
+        
         # initial mouse position
         self.lastx = self.x = 30
         self.lasty = self.y = 30
@@ -95,16 +97,19 @@ class MyCanvasBase(glcanvas.GLCanvas):
 
 
     def OnSize(self, event):
-        size = self.size = self.GetClientSize()
-        if self.GetContext():
-            self.SetCurrent()
-            glViewport(0, 0, size.width, size.height)
+        wx.CallAfter(self.DoSetViewport)
         event.Skip()
 
+    def DoSetViewport(self):
+        size = self.size = self.GetClientSize()
+        self.SetCurrent(self.context)
+        glViewport(0, 0, size.width, size.height)
+        
+
 
     def OnPaint(self, event):
         dc = wx.PaintDC(self)
-        self.SetCurrent()
+        self.SetCurrent(self.context)
         if not self.init:
             self.InitGL()
             self.init = True