diff options
author | Johnathan Corgan <johnathan@corganlabs.com> | 2013-06-22 09:54:30 -0700 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2013-06-22 09:54:30 -0700 |
commit | 48e5bff6fe99b5d4654fcb03a6f8da8a206eb7d7 (patch) | |
tree | 7aa3dd13ca88ef1aa22729a879107c8d3c3638db /gr-wxgui/src/python/plotter/plotter_base.py | |
parent | 5b507f3831afcffc1ee147fe22c31af95b9a7596 (diff) | |
parent | 23737315ad6f2670bd5d54a6c07c36c9124bd372 (diff) |
Merge branch 'fix-wxgui-gl' into maint
Diffstat (limited to 'gr-wxgui/src/python/plotter/plotter_base.py')
-rw-r--r-- | gr-wxgui/src/python/plotter/plotter_base.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gr-wxgui/src/python/plotter/plotter_base.py b/gr-wxgui/src/python/plotter/plotter_base.py index b8a2ce709e..40c157347a 100644 --- a/gr-wxgui/src/python/plotter/plotter_base.py +++ b/gr-wxgui/src/python/plotter/plotter_base.py @@ -87,7 +87,8 @@ class plotter_base(wx.glcanvas.GLCanvas, common.mutex): @param parent the parent widgit """ attribList = (wx.glcanvas.WX_GL_DOUBLEBUFFER, wx.glcanvas.WX_GL_RGBA) - wx.glcanvas.GLCanvas.__init__(self, parent, attribList=attribList); + wx.glcanvas.GLCanvas.__init__(self, parent, wx.ID_ANY, attribList=attribList); # Specifically use the CTOR which does NOT create an implicit GL context + self._gl_ctx = wx.glcanvas.GLContext(self) # Create the explicit GL context self.use_persistence=False self.persist_alpha=2.0/15 self.clear_accum=True @@ -151,10 +152,14 @@ class plotter_base(wx.glcanvas.GLCanvas, common.mutex): Resize the view port if the width or height changed. Redraw the screen, calling the draw functions. """ + if not self.IsShownOnScreen(): # Cannot realise a GL context on OS X if window is not yet shown + return # create device context (needed on Windows, noop on X) - dc = wx.PaintDC(self) + dc = None + if event.GetEventObject(): # Only create DC if paint triggered by WM message (for OS X) + dc = wx.PaintDC(self) self.lock() - self.SetCurrent() + self.SetCurrent(self._gl_ctx) # Real the explicit GL context # check if gl was initialized if not self._gl_init_flag: |