Index: plugins/artdisplay/artdisplay/PodcastCoverArtSearch.py
===================================================================
--- plugins/artdisplay/artdisplay/PodcastCoverArtSearch.py	(revision 5445)
+++ plugins/artdisplay/artdisplay/PodcastCoverArtSearch.py	(working copy)
@@ -56,4 +56,4 @@
 
 	def get_best_match_urls (self, search_results):
 		# Return image URL
-		return [search_results]
+		return [None, search_results]
Index: plugins/artdisplay/artdisplay/CoverArtDatabase.py
===================================================================
--- plugins/artdisplay/artdisplay/CoverArtDatabase.py	(revision 5445)
+++ plugins/artdisplay/artdisplay/CoverArtDatabase.py	(working copy)
@@ -153,13 +153,14 @@
 				_, (engine, entry, results) = plexer.receive ()
 				if not results:
 					break
-				for url in engine.get_best_match_urls (results):
-					if str(url) == "":
-						print "got empty url from engine %s." % (engine)
-						continue
-
-					yield self.loader.get_url (str (url), plexer.send ())
-					_, (data, ) = plexer.receive ()
+				for data, url in engine.get_best_match_urls (results):
+					if not data:
+						if str(url) == "":
+							print "got empty url from engine %s." % (engine)
+							continue
+							
+						yield self.loader.get_url (str (url), plexer.send ())
+						_, (data, ) = plexer.receive ()
 					pixbuf = self.image_data_load (data)
 					if pixbuf:
 						if self.ticket.release (entry, ticket):
Index: plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py
===================================================================
--- plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py	(revision 5445)
+++ plugins/artdisplay/artdisplay/AmazonCoverArtSearch.py	(working copy)
@@ -272,7 +272,8 @@
 							break
 
 			if best_match:
-				return filter(lambda x: x != "", [item.ImageUrlLarge, item.ImageUrlMedium])
+				return ((None, url) for url in (item.ImageUrlLarge, item.ImageUrlMedium)
+				        if url != '')
 			else:
 				return []
 
Index: plugins/artdisplay/artdisplay/LocalCoverArtSearch.py
===================================================================
--- plugins/artdisplay/artdisplay/LocalCoverArtSearch.py	(revision 5445)
+++ plugins/artdisplay/artdisplay/LocalCoverArtSearch.py	(working copy)
@@ -68,7 +68,7 @@
 		for name in [file_root (self.uri.short_name)] + IMAGE_NAMES:
 			for f_name in results:
 				if file_root (f_name) == name:
-					yield self.uri.parent.append_file_name (f_name).path
+					yield None, self.uri.parent.append_file_name (f_name).path
 
 	def pixbuf_save (self, plexer, pixbuf, uri):
 		gnomevfs.async.create (uri, plexer.send (), gnomevfs.OPEN_WRITE | gnomevfs.OPEN_TRUNCATE, False, 0644, gnomevfs.PRIORITY_DEFAULT)
