summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2015-03-17 12:15:42 +0100
committerBastien Nocera <hadess@hadess.net>2015-03-17 12:21:22 +0100
commit5e7c1544fd12739d4da80cf0d6b2680f9d4b16d6 (patch)
tree86cf57c02480e808aafef6e4bd3146a5be0afde1
parent2476dde3b5ecffdfeba6b0e48694589081e2af82 (diff)
downloadgnome-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.c9
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