e9af85216f
- Recognize gphoto2 cameras which don't implement get storageinfo (#552856) - ObexFTP: Use a private D-Bus connection for obex-data-server (#539347)
34 lines
1.4 KiB
Diff
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++)
|