Author: jannis Date: 2008-06-22 13:35:51 +0000 (Sun, 22 Jun 2008) New Revision: 27134
Modified: xfce4-mixer/trunk/ChangeLog xfce4-mixer/trunk/panel-plugin/xfce-mixer-plugin.c Log: * panel-plugin/xfce-mixer-plugin.c: Ignore GstBus messages while applying changes to the active card/track to avoid conflicting states. Modified: xfce4-mixer/trunk/ChangeLog =================================================================== --- xfce4-mixer/trunk/ChangeLog 2008-06-22 13:27:43 UTC (rev 27133) +++ xfce4-mixer/trunk/ChangeLog 2008-06-22 13:35:51 UTC (rev 27134) @@ -1,5 +1,11 @@ 2008-06-22 Jannis Pohlmann <[EMAIL PROTECTED]> + * panel-plugin/xfce-mixer-plugin.c: Ignore GstBus messages + while applying changes to the active card/track to avoid + conflicting states. + +2008-06-22 Jannis Pohlmann <[EMAIL PROTECTED]> + * icons/: Revamp icons yet again. 2008-06-22 Jannis Pohlmann <[EMAIL PROTECTED]> Modified: xfce4-mixer/trunk/panel-plugin/xfce-mixer-plugin.c =================================================================== --- xfce4-mixer/trunk/panel-plugin/xfce-mixer-plugin.c 2008-06-22 13:27:43 UTC (rev 27133) +++ xfce4-mixer/trunk/panel-plugin/xfce-mixer-plugin.c 2008-06-22 13:35:51 UTC (rev 27134) @@ -58,6 +58,8 @@ GtkWidget *hvbox; GtkWidget *button; + + gboolean ignore_bus_messages; }; @@ -108,6 +110,7 @@ mixer_plugin->card = NULL; mixer_plugin->track = NULL; + mixer_plugin->ignore_bus_messages = FALSE; mixer_plugin->tooltips = gtk_tooltips_new (); gtk_tooltips_set_delay (mixer_plugin->tooltips, 10); @@ -217,6 +220,8 @@ g_return_if_fail (IS_XFCE_MIXER_CARD (mixer_plugin->card)); g_return_if_fail (GST_IS_MIXER_TRACK (mixer_plugin->track)); + mixer_plugin->ignore_bus_messages = TRUE; + /* Set tooltip (e.g. 'Master: 50%') */ tip_text = g_strdup_printf (_("%s: %i%%"), GST_MIXER_TRACK (mixer_plugin->track)->label, (gint) (volume * 100)); gtk_tooltips_set_tip (mixer_plugin->tooltips, mixer_plugin->button, tip_text, "test"); @@ -233,6 +238,8 @@ xfce_mixer_card_set_track_volume (mixer_plugin->card, mixer_plugin->track, volumes); g_free (volumes); + + mixer_plugin->ignore_bus_messages = FALSE; } @@ -245,7 +252,11 @@ g_return_if_fail (IS_XFCE_MIXER_CARD (mixer_plugin->card)); g_return_if_fail (GST_IS_MIXER_TRACK (mixer_plugin->track)); + mixer_plugin->ignore_bus_messages = TRUE; + xfce_mixer_card_set_track_muted (mixer_plugin->card, mixer_plugin->track, mute); + + mixer_plugin->ignore_bus_messages = FALSE; } @@ -442,6 +453,9 @@ gint num_channels; gboolean mute; + if (G_UNLIKELY (mixer_plugin->ignore_bus_messages)) + return; + if (G_UNLIKELY (!xfce_mixer_card_get_message_owner (mixer_plugin->card, message))) return TRUE; _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits