ab12a32
From e3480dd3e55665e9e48a39a74fd7ee4e56bc0736 Mon Sep 17 00:00:00 2001
9b94ca0
From: Hans de Goede <hdegoede@redhat.com>
9b94ca0
Date: Tue, 18 Jun 2013 11:38:05 +0200
ab12a32
Subject: [PATCH 04/11] cheese_camera_get_camera_devices: Allow calling before
9b94ca0
 cheese_camera_setup()
9b94ca0
9b94ca0
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
9b94ca0
---
9b94ca0
 libcheese/cheese-camera.c | 9 +++++----
9b94ca0
 1 file changed, 5 insertions(+), 4 deletions(-)
9b94ca0
9b94ca0
diff --git a/libcheese/cheese-camera.c b/libcheese/cheese-camera.c
ab12a32
index ab5490d..de066af 100644
9b94ca0
--- a/libcheese/cheese-camera.c
9b94ca0
+++ b/libcheese/cheese-camera.c
9b94ca0
@@ -363,6 +363,9 @@ cheese_camera_detect_camera_devices (CheeseCamera *camera)
9b94ca0
 {
9b94ca0
   CheeseCameraPrivate       *priv = camera->priv;
9b94ca0
 
9b94ca0
+  if (priv->monitor)
9b94ca0
+    return; /* Camera devices already detected */
9b94ca0
+
9b94ca0
   priv->num_camera_devices = 0;
9b94ca0
   priv->camera_devices     = g_ptr_array_new_with_free_func ((GDestroyNotify) g_object_unref);
9b94ca0
 
ab12a32
@@ -1649,13 +1652,11 @@ cheese_camera_setup (CheeseCamera *camera, const gchar *uuid, GError **error)
9b94ca0
 GPtrArray *
9b94ca0
 cheese_camera_get_camera_devices (CheeseCamera *camera)
9b94ca0
 {
9b94ca0
-  CheeseCameraPrivate *priv;
9b94ca0
-
9b94ca0
   g_return_val_if_fail (CHEESE_IS_CAMERA (camera), NULL);
9b94ca0
 
9b94ca0
-  priv = camera->priv;
9b94ca0
+  cheese_camera_detect_camera_devices (camera);
9b94ca0
 
9b94ca0
-  return g_ptr_array_ref (priv->camera_devices);
9b94ca0
+  return g_ptr_array_ref (camera->priv->camera_devices);
9b94ca0
 }
9b94ca0
 
9b94ca0
 /**
9b94ca0
-- 
9b94ca0
1.8.3.1
9b94ca0