diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2015-10-07 11:40:38 -0700 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2015-10-07 11:46:53 -0700 |
commit | 0df71c7d19c052f90b057c89c05a12a7b7b0499a (patch) | |
tree | 3abb9a8fff3445b647f2bc4f6284677b5a4aeaf7 /components/compositing/compositor_layer.rs | |
parent | 04f42271f88a2730ae9ecfe17952580c5885978b (diff) | |
download | servo-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.rs | 4 |
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 { |