[empathy/gnome-3-2] Don't try to access non-existing properties



commit 4ec40a51cb71576e253c162a61d07e8b6cca78a1
Author: Sjoerd Simons <sjoerd simons collabora co uk>
Date:   Wed Oct 12 18:12:05 2011 +0100

    Don't try to access non-existing properties

 src/empathy-audio-src.c |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)
---
diff --git a/src/empathy-audio-src.c b/src/empathy-audio-src.c
index 203082d..6378dd0 100644
--- a/src/empathy-audio-src.c
+++ b/src/empathy-audio-src.c
@@ -92,6 +92,21 @@ empathy_audio_src_supports_changing_mic (EmpathyGstAudioSrc *self)
           "source-output-index") != NULL);
 }
 
+static guint
+empathy_audio_src_get_mic_index (EmpathyGstAudioSrc *self)
+{
+  EmpathyGstAudioSrcPrivate *priv = EMPATHY_GST_AUDIO_SRC_GET_PRIVATE (self);
+  guint audio_src_idx = PA_INVALID_INDEX;
+
+  if (empathy_audio_src_supports_changing_mic (self))
+    g_object_get (priv->src,
+      "source-output-index", &audio_src_idx,
+      NULL);
+
+  return audio_src_idx;
+}
+
+
 static void
 empathy_audio_src_microphone_changed_cb (EmpathyMicMonitor *monitor,
     guint source_output_idx,
@@ -100,9 +115,9 @@ empathy_audio_src_microphone_changed_cb (EmpathyMicMonitor *monitor,
 {
   EmpathyGstAudioSrc *self = user_data;
   EmpathyGstAudioSrcPrivate *priv = EMPATHY_GST_AUDIO_SRC_GET_PRIVATE (self);
-  guint audio_src_idx = PA_INVALID_INDEX;
+  guint audio_src_idx;
 
-  g_object_get (priv->src, "source-output-index", &audio_src_idx, NULL);
+  audio_src_idx = empathy_audio_src_get_mic_index (self);
 
   if (source_output_idx == PA_INVALID_INDEX
       || source_output_idx != audio_src_idx)
@@ -148,9 +163,9 @@ empathy_audio_src_source_output_index_notify (GObject *object,
     EmpathyGstAudioSrc *self)
 {
   EmpathyGstAudioSrcPrivate *priv = EMPATHY_GST_AUDIO_SRC_GET_PRIVATE (self);
-  guint source_output_idx = PA_INVALID_INDEX;
+  guint source_output_idx;
 
-  g_object_get (priv->src, "source-output-index", &source_output_idx, NULL);
+  source_output_idx = empathy_audio_src_get_mic_index (self);
 
   if (source_output_idx == PA_INVALID_INDEX)
     return;
@@ -562,7 +577,7 @@ empathy_audio_src_change_microphone_async (EmpathyGstAudioSrc *src,
       return;
     }
 
-  g_object_get (priv->src, "source-output-index", &source_output_idx, NULL);
+  source_output_idx = empathy_audio_src_get_mic_index (src);
 
   if (source_output_idx == PA_INVALID_INDEX)
     {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]