diff options
author | Bastien Nocera <hadess@hadess.net> | 2015-03-17 12:15:42 +0100 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2015-03-17 12:21:22 +0100 |
commit | 5e7c1544fd12739d4da80cf0d6b2680f9d4b16d6 (patch) | |
tree | 86cf57c02480e808aafef6e4bd3146a5be0afde1 | |
parent | 2476dde3b5ecffdfeba6b0e48694589081e2af82 (diff) | |
download | gnome-control-center-5e7c1544fd12739d4da80cf0d6b2680f9d4b16d6.tar.gz |
sound: Fix output/output bars not following external changes
When looking up a bar for a particular stream, special-case the input
and output bars/streams, as they will not be added to the "bars"
hashtable (which is, as per comment, only for applications and the sound
events bar).
https://bugzilla.gnome.org/show_bug.cgi?id=738869
-rw-r--r-- | panels/sound/gvc-mixer-dialog.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/panels/sound/gvc-mixer-dialog.c b/panels/sound/gvc-mixer-dialog.c index f47325540..de70367ac 100644 --- a/panels/sound/gvc-mixer-dialog.c +++ b/panels/sound/gvc-mixer-dialog.c @@ -689,8 +689,15 @@ lookup_bar_for_stream (GvcMixerDialog *dialog, GtkWidget *bar; bar = g_hash_table_lookup (dialog->priv->bars, GUINT_TO_POINTER (gvc_mixer_stream_get_id (stream))); + if (bar) + return bar; - return bar; + if (g_object_get_data (G_OBJECT (dialog->priv->output_bar), "gvc-mixer-dialog-stream") == stream) + return dialog->priv->output_bar; + if (g_object_get_data (G_OBJECT (dialog->priv->input_bar), "gvc-mixer-dialog-stream") == stream) + return dialog->priv->input_bar; + + return NULL; } static void |