diff --git a/fsl/fsleyes/gl/lightboxcanvas.py b/fsl/fsleyes/gl/lightboxcanvas.py index 5f6b21d319f51ab253e79f626ee1e8381b47da74..b99431415a510a315c4d4a8640e0ef826bcb612f 100644 --- a/fsl/fsleyes/gl/lightboxcanvas.py +++ b/fsl/fsleyes/gl/lightboxcanvas.py @@ -740,15 +740,21 @@ class LightBoxCanvas(slicecanvas.SliceCanvas): if not self._setGLContext(): return - + + # See comments regarding this process in + # SliceCanvas.._draw. I guess I should + # put this in a method or something. overlays = self.displayCtx.getOrderedOverlays() - globjs = [self._glObjects.get(o, None) for o in overlays] - globjs = [g for g in globjs if g is not None] - - # Skip the render if any GLObjects are not - # ready - see comments in SliceCanvas._draw. + globjs = [] + + for ovl in overlays: + globj = self._glObjects.get(ovl, None) + + if globj is None: self.__genGLObject(ovl) + elif globj: globjs.append(globj) + if any([not g.ready() for g in globjs]): - return + return if self.renderMode == 'offscreen':