diff options
author | Ken VanDine <ken.vandine@canonical.com> | 2012-03-30 14:07:44 -0400 |
---|---|---|
committer | Ken VanDine <ken.vandine@canonical.com> | 2012-03-30 14:07:44 -0400 |
commit | d738d091793595d86f1a2353b06bf3584b0afbf9 (patch) | |
tree | 41006b12bcb17a20ba7621279557303b0f88ca9e /src/mpris2-controller.vala | |
parent | a198e844b900a514a4735cb17dd21ccf6a6a85ee (diff) | |
download | ayatana-indicator-sound-d738d091793595d86f1a2353b06bf3584b0afbf9.tar.gz ayatana-indicator-sound-d738d091793595d86f1a2353b06bf3584b0afbf9.tar.bz2 ayatana-indicator-sound-d738d091793595d86f1a2353b06bf3584b0afbf9.zip |
releasing version 0.8.4.1-0ubuntu4
Diffstat (limited to 'src/mpris2-controller.vala')
-rw-r--r-- | src/mpris2-controller.vala | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/mpris2-controller.vala b/src/mpris2-controller.vala index 0fa7b6c..2cc8d12 100644 --- a/src/mpris2-controller.vala +++ b/src/mpris2-controller.vala @@ -92,7 +92,7 @@ public class Mpris2Controller : GLib.Object } 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,33 @@ public class Mpris2Controller : GLib.Object 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 == null){ + return false; + } + 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; |