[rhythmbox] xfade: don't leak tags for streams that never get played



commit 195c2a7b4fbdead120b6355c1570496bd638dbe8
Author: Jonathan Matthew <jonathan d14n org>
Date:   Wed Jun 13 19:14:03 2012 +1000

    xfade: don't leak tags for streams that never get played
    
    When a track gets skipped before it even starts playing, the
    buffered tag lists that would have been processed when it started
    need to be cleaned up in the dispose function.

 backends/gstreamer/rb-player-gst-xfade.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/backends/gstreamer/rb-player-gst-xfade.c b/backends/gstreamer/rb-player-gst-xfade.c
index e6e1b73..ff42f0a 100644
--- a/backends/gstreamer/rb-player-gst-xfade.c
+++ b/backends/gstreamer/rb-player-gst-xfade.c
@@ -447,6 +447,11 @@ rb_xfade_stream_dispose (GObject *object)
 		sd->player = NULL;
 	}
 
+	if (sd->tags != NULL) {
+		rb_list_destroy_free (sd->tags, (GDestroyNotify) gst_tag_list_free);
+		sd->tags = NULL;
+	}
+
 	rb_xfade_stream_dispose_stream_data (sd);
 
 	G_OBJECT_CLASS (rb_xfade_stream_parent_class)->dispose (object);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]