GNOME Bugzilla – Bug 348216
camera auto-detect should show multiple choices when available
Last modified: 2006-10-13 16:50:52 UTC
This is a two-part bug report on version 2.7.7 of gthumb (with gphoto 2.1.6): I connect my Kodak P850 camera (which works as a generic USB camera on libgphoto) and gthumb loads but tells me that there are no images in the camera. But there are 3 KDC Kodak RAW photos in the internal memory of the camera and gthumb can't see them! I had to use gtkam to get these pictures (gtkam worked)! Also, if I click on the camera button in the Import window to change my camera type, NOTHING happens! gThumb stays locked on the USB PTP generic type and won't let me switch to something else... Again, gtkam does let me do that...
Please submit two bugs if you have two problems to report - it makes it easier to correctly track, prioritize and categorize the bugs. Raw image issue: gthumb simply doesn't have raw image support at this time. See bug 145564. Camera type issue: Does this prevent you from using the camera? If you run gthumb from the command line, are any messages reported to the console when you click the camera type button?
(Renaming bug to reflect auto-detect bug). gthumb's auto-detection selects the first available camera match, in contrast to libgphoto's recommended code. It needs to be fixed. I'll see if I can develop a patch. For now, here's the reference material: From libgphoto's libgphoto2/gphoto2-list.h: /* Usage pattern for CameraList for users external of * libgphoto2, such as libgphoto2 frontends: * * CameraList *list; * gp_list_new (&list); * init_list_somehow (list); * for (i=0; i < gp_list_count(list); i++) { * char *name, *value; * gp_list_get_name (list, i, &name); * gp_list_get_name (list, i, &value); * do_something_with (name, value); * } * gp_list_free (list); From gthumb's src/dlg-photo-importer.c: static gboolean autodetect_camera (DialogData *data) { gp_list_new (&list); gp_abilities_list_detect (data->abilities_list, data->port_list, list, data->context); count = gp_list_count (list); ** if (count >= 1) { ** gp_list_get_name (list, 0, &model); ** gp_list_get_value (list, 0, &port); ** detected = TRUE; } else { model = NULL; port = NULL; } set_camera_model (data, model, port); gp_list_free (list); ** = should be a loop!
Created attachment 73553 [details] [review] Patch to allow override of camera autodetection. The previous comment relates to the situation where more than one camera is reported by libgphoto. However, the more urgent problem is that the user can not override an auto-detected camera selection. The attached mini-patch fixes this, but it needs testing to make sure it actually works as expected. I can't test it in situations were cameras are misdetected, because my cameras are detected correctly! Please review and test.
*** This bug has been marked as a duplicate of 361967 ***