]> git.0d.be Git - empathy.git/commitdiff
mic-menu: don't show the menu if we can't switch microphones
authorJonny Lamb <jonny.lamb@collabora.co.uk>
Wed, 17 Aug 2011 15:04:30 +0000 (16:04 +0100)
committerJonny Lamb <jonny.lamb@collabora.co.uk>
Thu, 18 Aug 2011 14:59:11 +0000 (15:59 +0100)
Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
src/empathy-mic-menu.c

index 7f5cd23809577357c171939f2318919ed25217ef..f3d46b17e69c28eff8d379466adcbc1b458bebf4 100644 (file)
@@ -372,6 +372,14 @@ empathy_mic_menu_constructed (GObject *obj)
   gtk_action_group_add_action (priv->action_group, priv->anchor_action);
   g_object_unref (priv->anchor_action);
 
+  priv->microphones = g_queue_new ();
+
+  /* Don't bother with any of this if we don't support changing
+   * microphone, so don't listen for microphone changes or enumerate
+   * the available microphones. */
+  if (!empathy_audio_src_supports_changing_mic (audio))
+    return;
+
   tp_g_signal_connect_object (audio, "notify::microphone",
       G_CALLBACK (empathy_mic_menu_notify_microphone_cb), self, 0);
   tp_g_signal_connect_object (priv->mic_monitor, "microphone-added",
@@ -379,8 +387,6 @@ empathy_mic_menu_constructed (GObject *obj)
   tp_g_signal_connect_object (priv->mic_monitor, "microphone-removed",
       G_CALLBACK (empathy_mic_menu_microphone_removed_cb), self, 0);
 
-  priv->microphones = g_queue_new ();
-
   empathy_mic_monitor_list_microphones_async (priv->mic_monitor,
       empathy_mic_menu_list_microphones_cb, self);
 }