=== modified file 'src/metadata-widget.c'
--- src/metadata-widget.c	2012-03-17 00:37:32 +0000
+++ src/metadata-widget.c	2012-03-19 18:39:20 +0000
@@ -228,7 +228,7 @@
   GtkWidget* player_label;
   player_label = gtk_label_new ("");
   gtk_misc_set_alignment(GTK_MISC(player_label), (gfloat)0, (gfloat)0);
-  gtk_misc_set_padding (GTK_MISC(player_label), (gfloat)1, (gfloat)4);
+  gtk_misc_set_padding (GTK_MISC(player_label), (gfloat)1, (gfloat)3);
   gtk_widget_set_size_request (player_label, 150, 24);
   priv->player_label = player_label;
       

=== modified file 'src/mpris2-controller.vala'
--- src/mpris2-controller.vala	2012-02-29 21:05:26 +0000
+++ src/mpris2-controller.vala	2012-03-19 18:39:20 +0000
@@ -92,7 +92,7 @@
     }
     Variant? playlist_v = changed_properties.lookup("ActivePlaylist");
     if ( playlist_v != null && this.owner.use_playlists == true ){
-      Timeout.add (300, this.fetch_active_playlist);
+      Timeout.add (500, this.fetch_active_playlist);
     }
     Variant? playlist_count_v = changed_properties.lookup("PlaylistCount");
     if ( playlist_count_v != null && this.owner.use_playlists == true ){
@@ -240,14 +240,30 @@
       playlists_item.update(current_playlists);
     }
     else{
-      warning(" Playlists are on but its returning no current_playlists" );
+      warning(" Playlists are on but %s is returning no current_playlists ?",
+              this.owner.app_info.get_name());
       this.owner.use_playlists = false;
     }
   }
 
+  private bool validate_playlists_details()
+  {
+    if (this.playlists.ActivePlaylist.valid == false){
+      return false;
+    }    
+    if (this.playlists.ActivePlaylist.details == null){
+      return false;
+    }
+    if (this.playlists.ActivePlaylist.details.path == null ||
+        this.playlists.ActivePlaylist.details.name == null){
+      return false;      
+    } 
+    return true;
+  }
+
   private bool fetch_active_playlist()
   {    
-    if (this.playlists.ActivePlaylist.valid == false){
+    if (this.validate_playlists_details() == false){
       return false;
     }    
     PlaylistsMenuitem playlists_item = this.owner.custom_items[PlayerController.widget_order.PLAYLISTS] as PlaylistsMenuitem;

=== modified file 'src/mpris2-interfaces.vala'
--- src/mpris2-interfaces.vala	2012-03-12 15:56:26 +0000
+++ src/mpris2-interfaces.vala	2012-03-19 18:39:20 +0000
@@ -65,7 +65,7 @@
   //properties
   public abstract string[] Orderings{owned get; set;}
   public abstract uint32 PlaylistCount{owned get; set;}
-  public abstract ActivePlaylistContainer ActivePlaylist {owned get; set;}
+  public abstract ActivePlaylistContainer? ActivePlaylist {owned get; set;}
   
   //methods
   public abstract async void ActivatePlaylist(ObjectPath playlist_id) throws IOError;

