From ec8f71d4b55b756047efd298658e26532d716c5e Mon Sep 17 00:00:00 2001 From: Cameron Zwarich Date: Thu, 10 Jul 2014 01:31:48 -0700 Subject: [PATCH] Check whether the render task has permission to paint before painting This matches the behavior of RenderMsg. It doesn't make sense to go to the trouble of rendering if the render task doesn't have permission to paint in the first place. --- src/components/gfx/render_task.rs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/components/gfx/render_task.rs b/src/components/gfx/render_task.rs index c2dffd8273b..4c720653e81 100644 --- a/src/components/gfx/render_task.rs +++ b/src/components/gfx/render_task.rs @@ -238,6 +238,13 @@ impl RenderTask { self.render_layers.as_slice()); } ReRenderMsg(requests) => { + if !self.paint_permission { + debug!("render_task: render ready msg"); + let ConstellationChan(ref mut c) = self.constellation_chan; + c.send(RendererReadyMsg(self.id)); + continue; + } + for ReRenderRequest { buffer_requests, scale, layer_id, epoch } in requests.move_iter() { if self.epoch == epoch { @@ -428,13 +435,7 @@ impl RenderTask { }; debug!("render_task: returning surface"); - if self.paint_permission { - self.compositor.paint(self.id, render_layer.id, layer_buffer_set, self.epoch); - } else { - debug!("render_task: RendererReadyMsg send"); - let ConstellationChan(ref mut c) = self.constellation_chan; - c.send(RendererReadyMsg(self.id)); - } + self.compositor.paint(self.id, render_layer.id, layer_buffer_set, self.epoch); self.compositor.set_render_state(IdleRenderState); }) }