]> git.0d.be Git - empathy.git/commitdiff
CameraMenu: don't crash if there are no cameras
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Mon, 15 Aug 2011 11:07:47 +0000 (12:07 +0100)
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>
Mon, 15 Aug 2011 12:03:28 +0000 (13:03 +0100)
src/empathy-camera-menu.c

index b38cc5f1d0c64831271671f971b0fa543b1389c3..6a7d20c15e47e81b3a1599becf0487b5cb601d81 100644 (file)
@@ -246,7 +246,7 @@ empathy_camera_menu_prefs_camera_changed_cb (GSettings *settings,
     EmpathyCameraMenu *self)
 {
   gchar *device = g_settings_get_string (settings, key);
-  GtkRadioAction *action;
+  GtkRadioAction *action = NULL;
   gboolean found = FALSE;
   GList *l;
 
@@ -266,10 +266,11 @@ empathy_camera_menu_prefs_camera_changed_cb (GSettings *settings,
 
   /* If the selected camera isn't found, we connect the first
    * available one */
-  if (!found)
+  if (!found && self->priv->cameras->head != NULL)
     action = self->priv->cameras->head->data;
 
-  if (!gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)))
+  if (action != NULL &&
+      !gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)))
     {
       g_signal_handlers_block_by_func (settings,
           empathy_camera_menu_prefs_camera_changed_cb, self);