aboutsummaryrefslogtreecommitdiff
path: root/src/media-player-list-greeter.vala
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2014-02-28 16:25:09 -0600
committerTed Gould <ted@gould.cx>2014-02-28 16:25:09 -0600
commitdd42fb51e44d1a1233e6a803a997af7c20b8dc56 (patch)
tree4a6746c989e5677af1ba29f7bfaaeb41fa26dd45 /src/media-player-list-greeter.vala
parent3847d2c622e3cd838bd485403c1c4378aa57a637 (diff)
downloadayatana-indicator-sound-dd42fb51e44d1a1233e6a803a997af7c20b8dc56.tar.gz
ayatana-indicator-sound-dd42fb51e44d1a1233e6a803a997af7c20b8dc56.tar.bz2
ayatana-indicator-sound-dd42fb51e44d1a1233e6a803a997af7c20b8dc56.zip
Wait until we have data before saying that we can add the player
Diffstat (limited to 'src/media-player-list-greeter.vala')
-rw-r--r--src/media-player-list-greeter.vala14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/media-player-list-greeter.vala b/src/media-player-list-greeter.vala
index 2f1962e..101211d 100644
--- a/src/media-player-list-greeter.vala
+++ b/src/media-player-list-greeter.vala
@@ -73,7 +73,15 @@ public class MediaPlayerListGreeter : MediaPlayerList {
}
if (selected_user != null && !players.contains(selected_user)) {
- players.insert(selected_user, new MediaPlayerUser(selected_user));
+ var newplayer = new MediaPlayerUser(selected_user);
+ newplayer.notify["is-running"].connect((obj, prop) => {
+ MediaPlayerUser? player = obj as MediaPlayerUser;
+ if (player == null) return;
+ if (player.is_running && player.id == this.selected_user)
+ this.player_added(player);
+ });
+
+ players.insert(selected_user, newplayer);
}
if (old_user != null) {
@@ -83,7 +91,9 @@ public class MediaPlayerListGreeter : MediaPlayerList {
if (selected_user != null) {
var new_player = players.lookup(selected_user);
- player_added(new_player);
+
+ if (new_player.is_running)
+ player_added(new_player);
}
}