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
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits