$NetBSD: patch-aa,v 1.6 2007/01/30 16:33:59 joerg Exp $

--- src/gtkam-chooser.c.orig	2007-01-30 14:45:30.000000000 +0000
+++ src/gtkam-chooser.c
@@ -428,18 +428,21 @@ static void
 on_detect_clicked (GtkButton *button, GtkamChooser *chooser)
 {
 	GtkWidget *d, *status;
-	CameraList list;
+	CameraList *list;
 	int result;
 	const char *name;
 
+	result = gp_list_new(&list);
+	if (result < GP_OK)
+		return;
 	status = gtkam_status_new (_("Detecting cameras..."));
 	gtkam_dialog_add_status (GTKAM_DIALOG (chooser), status);
 	result = gp_abilities_list_detect (chooser->priv->al,
-		chooser->priv->il, &list,
+		chooser->priv->il, list,
 		GTKAM_STATUS (status)->context->context);
 	switch (result) {
 	case GP_OK:
-		if (!gp_list_count (&list)) {
+		if (!gp_list_count (list)) {
 			d = gtkam_close_new (_("No cameras detected."));
 			gtk_window_set_transient_for (GTK_WINDOW (d),
 						      GTK_WINDOW (chooser));
@@ -461,6 +464,7 @@ on_detect_clicked (GtkButton *button, Gt
 		gtk_widget_show (d);
 		break;
 	}
+	gp_list_free(list);
 	gtk_object_destroy (GTK_OBJECT (status));
 }
 
