aboutsummaryrefslogtreecommitdiffstats
path: root/components/compositing/compositor_layer.rs
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2015-10-07 11:40:38 -0700
committerEli Friedman <eli.friedman@gmail.com>2015-10-07 11:46:53 -0700
commit0df71c7d19c052f90b057c89c05a12a7b7b0499a (patch)
tree3abb9a8fff3445b647f2bc4f6284677b5a4aeaf7 /components/compositing/compositor_layer.rs
parent04f42271f88a2730ae9ecfe17952580c5885978b (diff)
downloadservo-0df71c7d19c052f90b057c89c05a12a7b7b0499a.tar.gz
servo-0df71c7d19c052f90b057c89c05a12a7b7b0499a.zip
Make sure to correctly destroy old layers in collect_old_layers_for_pipeline.
The previous code would skip calling clear_all_tiles(), which led to a panic in rust-layers. ("You should have disposed of the pixmap properly with destroy()! This pixmap will leak!") Ran into this messing around with pdf.js; no minimized testcase. Maybe related to #7895.
Diffstat (limited to 'components/compositing/compositor_layer.rs')
-rw-r--r--components/compositing/compositor_layer.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/components/compositing/compositor_layer.rs b/components/compositing/compositor_layer.rs
index 261802c9a81..91c8b0d121d 100644
--- a/components/compositing/compositor_layer.rs
+++ b/components/compositing/compositor_layer.rs
@@ -472,7 +472,9 @@ impl RcCompositorLayer for Rc<Layer<CompositorData>> {
}
// Keep this layer if it exists in the new layer list.
- return new_layers.iter().any(|properties| properties.id == extra_data.id);
+ if new_layers.iter().any(|properties| properties.id == extra_data.id) {
+ return true
+ }
}
if let Some(ref subpage_info_for_this_layer) = extra_data.subpage_info {