Disable a WorldView's rendering if an error occurs.

This commit is contained in:
David Vierra 2016-01-19 22:14:29 -10:00
parent 60923091a8
commit 9809f27022

View File

@ -564,18 +564,25 @@ class WorldView(QGLWidget):
return
super(WorldView, self).glDraw(*args, **kwargs)
shouldRender = True
def paintGL(self):
with profiler.context("paintGL: %s" % self):
self.frameSamples.append(time.time())
if self.textureAtlas:
self.textureAtlas.update()
if not self.shouldRender:
return
try:
with profiler.context("paintGL: %s" % self):
self.frameSamples.append(time.time())
if self.textureAtlas:
self.textureAtlas.update()
with profiler.context("renderScene"):
rendernode.renderScene(self.renderGraph)
with profiler.context("renderScene"):
rendernode.renderScene(self.renderGraph)
self.doneCurrent()
self.bufferSwapDone = False
self.doSwapBuffers.emit()
self.doneCurrent()
self.bufferSwapDone = False
self.doSwapBuffers.emit()
except:
self.shouldRender = False
raise
def swapDone(self):
self.bufferSwapDone = True