gvfs/gvfs-1.5.1-gphoto2-no-storageinfo-support.patch
Tomas Bzatek e9af85216f - Don't leak mount job operation (#552842)
- Recognize gphoto2 cameras which don't implement get storageinfo (#552856)
- ObexFTP: Use a private D-Bus connection for obex-data-server (#539347)
2010-01-12 15:12:56 +00:00

34 lines
1.4 KiB
Diff

Not all gphoto drivers implement get storage info (drivers for proprietary
protocols often don't). This patch fixes the gphoto2volumemonitor to still
recognize cams which gphoto driver does not implement get storage info.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
diff -up gvfs-1.5.1/monitor/gphoto2/ggphoto2volumemonitor.c~ gvfs-1.5.1/monitor/gphoto2/ggphoto2volumemonitor.c
--- gvfs-1.5.1/monitor/gphoto2/ggphoto2volumemonitor.c~ 2009-11-18 13:14:51.000000000 +0100
+++ gvfs-1.5.1/monitor/gphoto2/ggphoto2volumemonitor.c 2010-01-06 11:46:16.000000000 +0100
@@ -605,7 +605,7 @@ get_stores_for_camera (int bus_num, int
GPContext *context;
GPPortInfo info;
GPPortInfoList *il;
- int num_storage_info, n;
+ int num_storage_info, n, rc;
Camera *camera;
char *port;
guint i;
@@ -637,8 +637,14 @@ get_stores_for_camera (int bus_num, int
goto out;
/* Get information about the storage heads */
- if (gp_camera_get_storageinfo (camera, &storage_info, &num_storage_info, context) != 0)
+ rc = gp_camera_get_storageinfo (camera, &storage_info, &num_storage_info, context);
+ if (rc != 0) {
+ /* Not all gphoto drivers implement get storage info (drivers for proprietary
+ protocols often don't) */
+ if (rc == GP_ERROR_NOT_SUPPORTED)
+ l = g_list_prepend (l, g_strdup ("/"));
goto out;
+ }
/* Append the data to the list */
for (i = 0; i < num_storage_info; i++)