diff --git a/src/components/compositing/compositor_task.rs b/src/components/compositing/compositor_task.rs index 7534131a935..888fc650767 100644 --- a/src/components/compositing/compositor_task.rs +++ b/src/components/compositing/compositor_task.rs @@ -96,10 +96,11 @@ impl RenderListener for CompositorChan { fn paint(&self, pipeline_id: PipelineId, - layer_id: LayerId, - layer_buffer_set: Box, - epoch: Epoch) { - self.chan.send(Paint(pipeline_id, layer_id, layer_buffer_set, epoch)) + epoch: Epoch, + replies: Vec<(LayerId, Box)>) { + for (layer_id, layer_buffer_set) in replies.move_iter() { + self.chan.send(Paint(pipeline_id, layer_id, layer_buffer_set, epoch)) + } } fn initialize_layers_for_pipeline(&self, diff --git a/src/components/gfx/render_task.rs b/src/components/gfx/render_task.rs index 36c990a57f9..6d5e45ebbe9 100644 --- a/src/components/gfx/render_task.rs +++ b/src/components/gfx/render_task.rs @@ -256,9 +256,7 @@ impl RenderTask { } debug!("render_task: returning surfaces"); - for (layer_id, layer_buffer_set) in replies.move_iter() { - self.compositor.paint(self.id, layer_id, layer_buffer_set, self.epoch); - } + self.compositor.paint(self.id, self.epoch, replies); } UnusedBufferMsg(unused_buffers) => { for buffer in unused_buffers.move_iter().rev() { diff --git a/src/components/msg/compositor_msg.rs b/src/components/msg/compositor_msg.rs index b1e4ae210a0..48d7600a0ae 100644 --- a/src/components/msg/compositor_msg.rs +++ b/src/components/msg/compositor_msg.rs @@ -102,9 +102,8 @@ pub trait RenderListener { /// Sends new tiles for the given layer to the compositor. fn paint(&self, pipeline_id: PipelineId, - layer_id: LayerId, - layer_buffer_set: Box, - epoch: Epoch); + epoch: Epoch, + replies: Vec<(LayerId, Box)>); fn set_render_state(&self, render_state: RenderState); }