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
This commit is contained in:
parent
1635cd5be9
commit
22fa7f1292
1 changed files with 3 additions and 11 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue