diff --git a/webrender/src/clip.rs b/webrender/src/clip.rs index 25ff86c759..87c46a8cf9 100644 --- a/webrender/src/clip.rs +++ b/webrender/src/clip.rs @@ -696,6 +696,11 @@ impl ClipStore { }) } + pub fn clear_old_instances(&mut self) { + self.clip_node_instances.clear(); + } + + /// Walk the clip chain of a primitive, and calculate a minimal /// local clip rect for the primitive. #[allow(dead_code)] diff --git a/webrender/src/frame_builder.rs b/webrender/src/frame_builder.rs index 6b41bf7cb6..d5ac824024 100644 --- a/webrender/src/frame_builder.rs +++ b/webrender/src/frame_builder.rs @@ -407,6 +407,7 @@ impl FrameBuilder { scene_properties, Some(&mut transform_palette), ); + self.clip_store.clear_old_instances(); let mut render_tasks = RenderTaskTree::new(stamp.frame_id()); let mut surfaces = Vec::new();