diff options
author | eschweic <eschweickart@mozilla.com> | 2013-07-08 12:01:52 -0700 |
---|---|---|
committer | eschweic <eschweickart@mozilla.com> | 2013-07-10 17:15:20 -0700 |
commit | d40086048cfdccd06dcfec6aaba9cc5de31f2875 (patch) | |
tree | 86c7add4b8242aefec9f074ccf021bcce83bf853 /src/components/gfx/render_task.rs | |
parent | 1b225fbad2c44ddd9fbc7e9bd05cb8e99b9f2d29 (diff) | |
download | servo-d40086048cfdccd06dcfec6aaba9cc5de31f2875.tar.gz servo-d40086048cfdccd06dcfec6aaba9cc5de31f2875.zip |
Fix paint permissions issue, clean up
Diffstat (limited to 'src/components/gfx/render_task.rs')
-rw-r--r-- | src/components/gfx/render_task.rs | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/components/gfx/render_task.rs b/src/components/gfx/render_task.rs index 8d62a57664a..fcc21acce51 100644 --- a/src/components/gfx/render_task.rs +++ b/src/components/gfx/render_task.rs @@ -18,7 +18,6 @@ use render_context::RenderContext; use std::cell::Cell; use std::comm::{Chan, Port, SharedChan}; -use std::uint; use servo_util::time::{ProfilerChan, profile}; use servo_util::time; @@ -118,7 +117,9 @@ impl<C: RenderListener + Send> RenderTask<C> { loop { match self.port.recv() { RenderMsg(render_layer) => { - self.compositor.new_layer(render_layer.size, self.opts.tile_size); + if self.paint_permission { + self.compositor.new_layer(render_layer.size, self.opts.tile_size); + } self.render_layer = Some(render_layer); } ReRenderMsg(tiles, scale) => { @@ -126,10 +127,9 @@ impl<C: RenderListener + Send> RenderTask<C> { } PaintPermissionGranted => { self.paint_permission = true; - match self.last_paint_msg { - Some((ref layer_buffer_set, layer_size)) => { - self.compositor.paint(self.id, layer_buffer_set.clone(), layer_size); - self.compositor.set_render_state(IdleRenderState); + match self.render_layer { + Some(ref render_layer) => { + self.compositor.new_layer(render_layer.size, self.opts.tile_size); } None => {} } @@ -146,8 +146,6 @@ impl<C: RenderListener + Send> RenderTask<C> { } fn render(&mut self, tiles: ~[(Rect<uint>, Rect<f32>)], scale: f32) { - debug!("render_task: rendering"); - let render_layer; match self.render_layer { Some(ref r_layer) => { @@ -158,7 +156,6 @@ impl<C: RenderListener + Send> RenderTask<C> { self.compositor.set_render_state(RenderingRenderState); do time::profile(time::RenderingCategory, self.profiler_chan.clone()) { - let tile_size = self.opts.tile_size; // FIXME: Try not to create a new array here. let mut new_buffers = ~[]; |