commit 3a2c2824d06bff42777a60c7c60872437b862790
Author: Cole Robinson <crobinso@redhat.com>
Date:   Sat Mar 10 21:43:40 2012 -0500

    Fix setting multiple tags with different values
    
    There's a bug setting the genre tag for multiple files. Reproducer:
    
    1) Select 50 songs, right click->properties, change genre to 'foo'
    2) Once dialog closes, select another 50 songs, change genre to 'bar'
    3) Once dialog closes, close rhythmbox
    4) Inspect the files with another program, notice that all files
       have genre 'foo'.
    
    This is doubly frustrating because rhythmbox caches the requested
    values, so you won't see the tagging error until accessing the music
    through other software.
    
    Fix tag list cleanup to be what it was prior to commit 90b7496c

diff --git a/metadata/rb-metadata-gst.c b/metadata/rb-metadata-gst.c
index 52548da..ba56aa2 100644
--- a/metadata/rb-metadata-gst.c
+++ b/metadata/rb-metadata-gst.c
@@ -75,7 +75,8 @@ void
 rb_metadata_reset (RBMetaData *md)
 {
 	if (md->priv->tags != NULL) {
-		g_object_unref (md->priv->tags);
+		gst_tag_list_free (md->priv->tags);
+		md->priv->tags = NULL;
 	}
 
 	if (md->priv->info != NULL) {
@@ -935,7 +936,9 @@ rb_metadata_set (RBMetaData *md, RBMetaDataField field, const GValue *val)
 		tag = rb_metadata_gst_field_to_gst_tag (field);
 		g_value_init (&newval, gst_tag_get_type (tag));
 		if (g_value_transform (val, &newval)) {
-			rb_debug ("Setting %s",tag);
+			gchar *value_str = g_strdup_value_contents (&newval);
+			rb_debug ("Setting %s to %s", tag, value_str);
+			g_free(value_str);
 
 			if (md->priv->tags == NULL) {
 				md->priv->tags = gst_tag_list_new ();
