struct _EmpathyCameraMonitorPrivate
{
CheeseCameraDeviceMonitor *cheese_monitor;
- GQueue cameras;
+ GQueue *cameras;
gint num_cameras;
};
{
EmpathyCamera *camera = empathy_camera_new (id, filename, product_name);
- g_queue_push_tail (&self->priv->cameras, camera);
+ if (self->priv->cameras == NULL)
+ return;
+
+ g_queue_push_tail (self->priv->cameras, camera);
self->priv->num_cameras++;
EmpathyCamera *camera;
GList *l;
- l = g_queue_find_custom (&self->priv->cameras, id, empathy_camera_find);
+ if (self->priv->cameras == NULL)
+ return;
+
+ l = g_queue_find_custom (self->priv->cameras, id, empathy_camera_find);
g_return_if_fail (l != NULL);
camera = l->data;
- g_queue_delete_link (&self->priv->cameras, l);
+ g_queue_delete_link (self->priv->cameras, l);
self->priv->num_cameras--;
const GList *
empathy_camera_monitor_get_cameras (EmpathyCameraMonitor *self)
{
- return self->priv->cameras.head;
+ if (self->priv->cameras != NULL)
+ return self->priv->cameras->head;
+ else
+ return NULL;
}
static void
tp_clear_object (&self->priv->cheese_monitor);
- g_queue_foreach (&self->priv->cameras,
+ g_queue_foreach (self->priv->cameras,
empathy_camera_monitor_free_camera_foreach, NULL);
- g_queue_clear (&self->priv->cameras);
+ tp_clear_pointer (&self->priv->cameras, g_queue_free);
G_OBJECT_CLASS (empathy_camera_monitor_parent_class)->dispose (object);
}
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
EMPATHY_TYPE_CAMERA_MONITOR, EmpathyCameraMonitorPrivate);
- g_queue_init (&self->priv->cameras);
+ self->priv->cameras = g_queue_new ();
self->priv->cheese_monitor = cheese_camera_device_monitor_new ();