aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas/canvas_paint_thread.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <me@emiliocobos.me>2016-06-15 14:17:13 +0200
committerEmilio Cobos Álvarez <ecoal95@gmail.com>2016-07-10 19:24:15 -0700
commitb7d45fe0968c433c01def72b3f74e2334bd1e4e7 (patch)
tree1635cf1673f3dc10d69d96a174941eb211c5f912 /components/canvas/canvas_paint_thread.rs
parent68aca87e305138b2851c853149e0606756eb02b8 (diff)
downloadservo-b7d45fe0968c433c01def72b3f74e2334bd1e4e7.tar.gz
servo-b7d45fe0968c433c01def72b3f74e2334bd1e4e7.zip
canvas: Deallocate WebRender images on canvas
Fixes #11062 Depends on: #11744, https://github.com/servo/webrender_traits/pull/57, and https://github.com/servo/webrender/pull/292
Diffstat (limited to 'components/canvas/canvas_paint_thread.rs')
-rw-r--r--components/canvas/canvas_paint_thread.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/components/canvas/canvas_paint_thread.rs b/components/canvas/canvas_paint_thread.rs
index 28a1e46e7b6..23989a45f18 100644
--- a/components/canvas/canvas_paint_thread.rs
+++ b/components/canvas/canvas_paint_thread.rs
@@ -706,6 +706,14 @@ impl<'a> CanvasPaintThread<'a> {
}
}
+impl<'a> Drop for CanvasPaintThread<'a> {
+ fn drop(&mut self) {
+ if let Some(ref mut wr) = self.webrender_api {
+ wr.delete_image(self.webrender_image_key.unwrap());
+ }
+ }
+}
+
/// Used by drawImage to get rid of the extra pixels of the image data that
/// won't be copied to the canvas
/// image_data: Color pixel data of the image