[gnome-control-center/gnome-3-12] sound: Fix the main volume bars to correctly display changes in volume
- From: Rui Matos <rtcm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/gnome-3-12] sound: Fix the main volume bars to correctly display changes in volume
- Date: Tue, 21 Oct 2014 13:48:05 +0000 (UTC)
commit 7430f41568eacbb73381c1f5618b3223ab748859
Author: Rui Matos <tiagomatos gmail com>
Date: Mon Oct 20 15:48:40 2014 +0200
sound: Fix the main volume bars to correctly display changes in volume
The active input and output streams aren't added through add_stream()
so they weren't being mapped to their respective volume bars,
resulting in updates to the volume through other means not being
reflected in our UI.
Moving the mapping to bar_set_stream() which is called for every
stream fixes the problem. Also, there's no value in having a
helper function to do a g_hash_table_insert() and not doing the same
for the respective g_hash_table_remove()s so remove it.
https://bugzilla.gnome.org/show_bug.cgi?id=738869
panels/sound/gvc-mixer-dialog.c | 14 +++-----------
1 files changed, 3 insertions(+), 11 deletions(-)
---
diff --git a/panels/sound/gvc-mixer-dialog.c b/panels/sound/gvc-mixer-dialog.c
index 554d91e..36903f6 100644
--- a/panels/sound/gvc-mixer-dialog.c
+++ b/panels/sound/gvc-mixer-dialog.c
@@ -755,16 +755,6 @@ on_stream_is_muted_notify (GObject *object,
}
-static void
-save_bar_for_stream (GvcMixerDialog *dialog,
- GvcMixerStream *stream,
- GtkWidget *bar)
-{
- g_hash_table_insert (dialog->priv->bars,
- GUINT_TO_POINTER (gvc_mixer_stream_get_id (stream)),
- bar);
-}
-
static GtkWidget *
create_bar (GvcMixerDialog *dialog,
gboolean add_to_size_group,
@@ -990,6 +980,9 @@ bar_set_stream (GvcMixerDialog *dialog,
"value-changed",
G_CALLBACK (on_adjustment_value_changed),
dialog);
+ g_hash_table_insert (dialog->priv->bars,
+ GUINT_TO_POINTER (gvc_mixer_stream_get_id (stream)),
+ bar);
}
}
@@ -1037,7 +1030,6 @@ add_stream (GvcMixerDialog *dialog,
g_signal_handlers_disconnect_by_func (old_stream, on_stream_volume_notify, dialog);
g_hash_table_remove (dialog->priv->bars, GUINT_TO_POINTER (gvc_mixer_stream_get_id
(old_stream)));
}
- save_bar_for_stream (dialog, stream, bar);
bar_set_stream (dialog, bar, stream);
gtk_widget_show (bar);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]