Blob Blame History Raw
diff -Nur audacious-2.2-orig/src/audacious/ui_albumart.c audacious-2.2/src/audacious/ui_albumart.c
--- audacious-2.2-orig/src/audacious/ui_albumart.c	2009-11-22 23:43:47.000000000 +0100
+++ audacious-2.2/src/audacious/ui_albumart.c	2010-06-09 11:35:40.000000000 +0200
@@ -123,6 +123,8 @@
 {
 	GDir *d;
 
+    if (!path)
+        return NULL;
 	if (cfg.recurse_for_cover && depth > cfg.recurse_for_cover_depth)
 		return NULL;
 
diff -Nur audacious-2.2-orig/src/audacious/ui_fileinfo.c audacious-2.2/src/audacious/ui_fileinfo.c
--- audacious-2.2-orig/src/audacious/ui_fileinfo.c	2009-11-22 23:43:47.000000000 +0100
+++ audacious-2.2/src/audacious/ui_fileinfo.c	2010-06-09 11:40:16.000000000 +0200
@@ -790,7 +790,7 @@
 fileinfo_show_for_tuple(Tuple *tuple, gboolean updating_enabled)
 {
     gchar *tmp = NULL;
-    GdkPixbuf *icon = NULL;
+    GdkPixbuf *icon = NULL, *localpath = NULL;
     GtkTreeIter iter;
     GtkListStore *store;
     mowgli_dictionary_iteration_state_t state;
@@ -849,13 +849,16 @@
         g_object_unref(icon);
     }
 
-    tmp = fileinfo_recursive_get_image(
-            tuple_get_string(tuple, FIELD_FILE_PATH, NULL),
-            tuple_get_string(tuple, FIELD_FILE_NAME, NULL), 0);
-
+    tmp = tuple_get_string(tuple, FIELD_FILE_PATH, NULL);
     if (tmp) {
-        fileinfo_entry_set_image(image_artwork, tmp);
-        g_free(tmp);
+        localpath = g_filename_from_uri( tmp, NULL, NULL );
+        tmp = fileinfo_recursive_get_image(localpath,
+                                           tuple_get_string(tuple, FIELD_FILE_NAME, NULL), 0);
+        g_free(localpath);
+        if (tmp) {
+            fileinfo_entry_set_image(image_artwork, tmp);
+            g_free(tmp);
+        }
     }
 
     gtk_widget_set_sensitive(btn_apply, FALSE);
diff -Nur audacious-2.2-orig/src/audacious/ui_fileinfopopup.c audacious-2.2/src/audacious/ui_fileinfopopup.c
--- audacious-2.2-orig/src/audacious/ui_fileinfopopup.c	2009-11-22 23:43:47.000000000 +0100
+++ audacious-2.2/src/audacious/ui_fileinfopopup.c	2010-06-09 11:35:40.000000000 +0200
@@ -340,6 +340,7 @@
     gchar *last_artwork;
     const static gchar default_artwork[] = DATA_DIR "/images/audio.png";
     gint length;
+    const gchar *fpath, *fname;
 
     last_artwork =
         g_object_get_data(G_OBJECT(filepopup_win), "last_artwork");
@@ -352,11 +353,16 @@
         tmp = NULL;
         g_object_set_data(G_OBJECT(filepopup_win), "file", NULL);
     }
-    if (tuple_get_string(tuple, FIELD_FILE_PATH, NULL) && tuple_get_string(tuple, FIELD_FILE_NAME, NULL))
+    fpath = tuple_get_string(tuple, FIELD_FILE_PATH, NULL);
+    fname = tuple_get_string(tuple, FIELD_FILE_NAME, NULL);
+    if (fpath && fname)
         g_object_set_data(G_OBJECT(filepopup_win), "file",
-                          g_build_filename(tuple_get_string(tuple, FIELD_FILE_PATH, NULL),
-                                           tuple_get_string(tuple, FIELD_FILE_NAME, NULL),
+                          g_build_filename(fpath,fname,
                                            NULL));
+    else {
+        if (!tuple_get_string(tuple, FIELD_TITLE, NULL))
+            return;
+    }
 
     gtk_widget_realize(filepopup_win);
 
@@ -408,7 +414,9 @@
     g_free(track_string);
 
     if (tuple_get_string(tuple, FIELD_FILE_NAME, NULL) && tuple_get_string(tuple, FIELD_FILE_PATH, NULL)) {
-        tmp = fileinfo_recursive_get_image(tuple_get_string(tuple, FIELD_FILE_PATH, NULL), tuple_get_string(tuple, FIELD_FILE_NAME, NULL), 0);
+        gchar *localpath = g_filename_from_uri( tuple_get_string(tuple, FIELD_FILE_PATH, NULL), NULL, NULL );
+        tmp = fileinfo_recursive_get_image( localpath, tuple_get_string(tuple, FIELD_FILE_NAME, NULL), 0);
+        g_free(localpath);
         if (tmp) { // picture found
             if (!last_artwork || strcmp(last_artwork, tmp)) { // new picture
                 filepopup_entry_set_image(filepopup_win, "image_artwork", tmp);