rhythmbox r6057 - in trunk: . plugins/iradio sources



Author: jmatthew
Date: Sun Nov 16 06:20:28 2008
New Revision: 6057
URL: http://svn.gnome.org/viewvc/rhythmbox?rev=6057&view=rev

Log:
2008-11-16  Jonathan Matthew  <jonathan d14n org>

	* plugins/iradio/rb-iradio-source.c:
	(stations_view_drag_data_received_cb):
	* sources/rb-podcast-source.c: (impl_receive_drag):
	Apparently _NETSCAPE_URL drag data changed ordering somewhere.
	Fixes #549544.


Modified:
   trunk/ChangeLog
   trunk/plugins/iradio/rb-iradio-source.c
   trunk/sources/rb-podcast-source.c

Modified: trunk/plugins/iradio/rb-iradio-source.c
==============================================================================
--- trunk/plugins/iradio/rb-iradio-source.c	(original)
+++ trunk/plugins/iradio/rb-iradio-source.c	Sun Nov 16 06:20:28 2008
@@ -958,31 +958,21 @@
 	if (uri_list == NULL)
 		return;
 
-	i = uri_list;
-	while (i != NULL) {
+	for (i = uri_list; i != NULL; i = i->next) {
 		char *uri = NULL;
 
-		/* as totem source says, "Super _NETSCAPE_URL trick" */
-		if (info == 1) {
-			if (i != NULL)
-				g_free (i->data);
-			i = i->next;
-			if (i == NULL)
-				break;
-		}
-
 		uri = i->data;
 		if (uri != NULL) {
 			rb_iradio_source_add_station (source, uri, NULL, NULL);
 		}
 
-		g_free (uri);
-
-		if (i != NULL)
+		if (info == 1) {
+			/* for _NETSCAPE_URL drags, this item is the link text */
 			i = i->next;
+		}
 	}
 
-	g_list_free (uri_list);
+	rb_list_deep_free (uri_list);
 	return;
 }
 

Modified: trunk/sources/rb-podcast-source.c
==============================================================================
--- trunk/sources/rb-podcast-source.c	(original)
+++ trunk/sources/rb-podcast-source.c	Sun Nov 16 06:20:28 2008
@@ -1817,23 +1817,18 @@
 	for (i = list; i != NULL; i = i->next) {
 		char *uri = NULL;
 
-		/* as totem source says, "Super _NETSCAPE_URL trick" */
-		if (selection_data->type == gdk_atom_intern ("_NETSCAPE_URL", FALSE)) {
-			if (i != NULL)
-				g_free (i->data);
-			i = i->next;
-			if (i == NULL)
-				break;
-		}
-
 		uri = i->data;
 		if ((uri != NULL) &&
 		    (!rhythmdb_entry_lookup_by_location (source->priv->db, uri))) {
 			rb_podcast_source_add_feed (source, uri);
 		}
+		
+		if (selection_data->type == gdk_atom_intern ("_NETSCAPE_URL", FALSE)) {
+			i = i->next;
+		}
 	}
 
-	g_list_free (list);
+	rb_list_deep_free (list);
 	return TRUE;
 }
 



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