diff --git a/display.js b/display.js index 6c6b962..d9bdd9f 100644 --- a/display.js +++ b/display.js @@ -933,7 +933,7 @@ function handle_draw_jpeg_onload() // Give the Garbage collector a clue to recycle this; avoids // fairly massive memory leaks during video playback - this.src = null; + this.src = EMPTY_GIF_IMAGE; if (this.o.descriptor && (this.o.descriptor.flags & SPICE_IMAGE_FLAGS_CACHE_ME)) diff --git a/utils.js b/utils.js index a22d0ae..7aeefdb 100644 --- a/utils.js +++ b/utils.js @@ -27,6 +27,11 @@ var STREAM_DEBUG = 0; var DUMP_DRAWS = false; var DUMP_CANVASES = false; +/*---------------------------------------------------------------------------- +** We use an Image temporarily, and the image/src does not get garbage +** collected as quickly as we might like. This blank image helps with that. +**--------------------------------------------------------------------------*/ +var EMPTY_GIF_IMAGE = "data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="; /*---------------------------------------------------------------------------- ** combine_array_buffers