commit d2375bf3c13e6a6e82314604286349e109b8de67
Author: phantomjinx <p.g.richard...@phantomjinx.co.uk>
Date:   Sat Jul 17 18:42:21 2010 +0100

    Cover art fix for select cover failures
    
    * gtkpod_app_iface.c
     * set_current_playlist is broadcasting the selection of a playlist's
       tracks before broadcasting the playlist selection itself
    
    * display_coverart.c
     * Should not rely on gtkpod_get_selected_tracks for its tracks as these
       may not have been set when coverart_update has been called. Besides the
       display should show all albums in a selected playlist.
    
    * misc_playlist.h
     * Some error messages should be available cross-library

 libgtkpod/gtkpod_app_iface.c |    5 +++--
 libgtkpod/misc_playlist.h    |    4 ++++
 src/display_coverart.c       |    7 ++++++-
 3 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/libgtkpod/gtkpod_app_iface.c b/libgtkpod/gtkpod_app_iface.c
index 7a4e9b6..96cbb9e 100644
--- a/libgtkpod/gtkpod_app_iface.c
+++ b/libgtkpod/gtkpod_app_iface.c
@@ -260,15 +260,16 @@ void gtkpod_set_current_playlist(Playlist* playlist) {
     g_return_if_fail (GTKPOD_IS_APP(gtkpod_app));
 
     GTKPOD_APP_GET_INTERFACE (gtkpod_app)->current_playlist = playlist;
+    GList *tracks = NULL;
     if (playlist) {// if playlist not null then set its itdb as current
         GTKPOD_APP_GET_INTERFACE (gtkpod_app)->current_itdb = playlist->itdb;
-        gtkpod_set_displayed_tracks(playlist->members);
+        tracks = playlist->members;
     } else {
         GTKPOD_APP_GET_INTERFACE (gtkpod_app)->current_itdb = NULL;
-        gtkpod_set_displayed_tracks(NULL);
     }
 
     g_signal_emit(gtkpod_app, gtkpod_app_signals[PLAYLIST_SELECTED], 0, 
playlist);
+    gtkpod_set_displayed_tracks(tracks);
 }
 
 void gtkpod_track_added(Track *track) {
diff --git a/libgtkpod/misc_playlist.h b/libgtkpod/misc_playlist.h
index ee4d9a8..46c5cf8 100644
--- a/libgtkpod/misc_playlist.h
+++ b/libgtkpod/misc_playlist.h
@@ -59,4 +59,8 @@ void copy_playlist_to_target_itdb(Playlist *pl, iTunesDB 
*t_itdb);
 
 const gchar* return_playlist_stock_image(Playlist *playlist);
 
+void message_sb_no_itdb_selected();
+void message_sb_no_playlist_selected();
+void message_sb_no_ipod_itdb_selected();
+
 #endif /* MISC_PLAYLIST_H_ */
diff --git a/src/display_coverart.c b/src/display_coverart.c
index d7a9ffa..51e0711 100644
--- a/src/display_coverart.c
+++ b/src/display_coverart.c
@@ -521,8 +521,13 @@ void coverart_display_update(gboolean clear_track_list) {
         album_key_list = NULL;
 
         /* Find the selected playlist */
-        tracks = gtkpod_get_selected_tracks();
+        Playlist *pl = gtkpod_get_current_playlist();
+        if (!pl) {
+            redraw(FALSE);
+            return;
+        }
 
+        tracks = pl->members;
         if (!tracks) {
             redraw(FALSE);
             return;

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to