diff --git a/src/components/compositing/compositor.rs b/src/components/compositing/compositor.rs index 2bd4900735a..38cfdf5e46f 100644 --- a/src/components/compositing/compositor.rs +++ b/src/components/compositing/compositor.rs @@ -753,9 +753,7 @@ impl IOCompositor { rect, scale.get()); for (_pipeline_id, (chan, requests)) in request_map.move_iter() { - for request in requests.move_iter() { - let _ = chan.send_opt(ReRenderMsg(request)); - } + let _ = chan.send_opt(ReRenderMsg(requests)); } self.recomposite = self.recomposite || recomposite; } diff --git a/src/components/gfx/render_task.rs b/src/components/gfx/render_task.rs index a87a6738607..c2dffd8273b 100644 --- a/src/components/gfx/render_task.rs +++ b/src/components/gfx/render_task.rs @@ -59,7 +59,7 @@ pub struct ReRenderRequest { pub enum Msg { RenderMsg(SmallVec1), - ReRenderMsg(ReRenderRequest), + ReRenderMsg(Vec), UnusedBufferMsg(Vec>), PaintPermissionGranted, PaintPermissionRevoked, @@ -237,11 +237,14 @@ impl RenderTask { self.epoch, self.render_layers.as_slice()); } - ReRenderMsg(ReRenderRequest { buffer_requests, scale, layer_id, epoch }) => { - if self.epoch == epoch { - self.render(buffer_requests, scale, layer_id); - } else { - debug!("renderer epoch mismatch: {:?} != {:?}", self.epoch, epoch); + ReRenderMsg(requests) => { + for ReRenderRequest { buffer_requests, scale, layer_id, epoch } + in requests.move_iter() { + if self.epoch == epoch { + self.render(buffer_requests, scale, layer_id); + } else { + debug!("renderer epoch mismatch: {:?} != {:?}", self.epoch, epoch); + } } } UnusedBufferMsg(unused_buffers) => {