From 0df71c7d19c052f90b057c89c05a12a7b7b0499a Mon Sep 17 00:00:00 2001 From: Eli Friedman Date: Wed, 7 Oct 2015 11:40:38 -0700 Subject: [PATCH] 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. --- components/compositing/compositor_layer.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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> { } // 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 {