diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2021-05-24 15:23:46 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2021-05-24 15:23:46 +0200 |
commit | eee242571f78cedcca283c6396026c80640572c9 (patch) | |
tree | 4a2c26f76694c127d213fd344c95579ba6179207 /src/camera/ImportPage.vala | |
parent | 62419f2d51a3a9dda833aaeeb9e5bc7c4af547d6 (diff) |
New upstream version 0.30.12upstream/0.30.12
Diffstat (limited to 'src/camera/ImportPage.vala')
-rw-r--r-- | src/camera/ImportPage.vala | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/camera/ImportPage.vala b/src/camera/ImportPage.vala index 3f70f08..5aab9b3 100644 --- a/src/camera/ImportPage.vala +++ b/src/camera/ImportPage.vala @@ -1208,9 +1208,9 @@ public class ImportPage : CheckerboardPage { Gee.ArrayList<ImportSource> import_list = new Gee.ArrayList<ImportSource>(); - GPhoto.CameraStorageInformation *sifs = null; + GPhoto.CameraStorageInformation[] sifs = null; int count = 0; - refresh_result = camera.get_storageinfo(&sifs, out count, spin_idle_context.context); + refresh_result = camera.get_storageinfo(out sifs, spin_idle_context.context); if (refresh_result == GPhoto.Result.OK) { for (int fsid = 0; fsid < count; fsid++) { // Check well-known video and image paths first to prevent accidental @@ -1353,18 +1353,16 @@ public class ImportPage : CheckerboardPage { // Need to do this because some phones (iPhone, in particular) changes the name of their filesystem // between each mount public static string? get_fs_basedir(GPhoto.Camera camera, int fsid) { - GPhoto.CameraStorageInformation *sifs = null; + GPhoto.CameraStorageInformation[] sifs = null; int count = 0; - GPhoto.Result res = camera.get_storageinfo(&sifs, out count, null_context.context); + GPhoto.Result res = camera.get_storageinfo(out sifs, null_context.context); if (res != GPhoto.Result.OK) return null; - if (fsid >= count) + if (fsid >= sifs.length) return null; - GPhoto.CameraStorageInformation *ifs = sifs + fsid; - - return (ifs->fields & GPhoto.CameraStorageInfoFields.BASE) != 0 ? ifs->basedir : "/"; + return (sifs[fsid].fields & GPhoto.CameraStorageInfoFields.BASE) != 0 ? (string)sifs[fsid].basedir : "/"; } public static string? get_fulldir(GPhoto.Camera camera, string camera_name, int fsid, string folder) { @@ -1439,12 +1437,13 @@ public class ImportPage : CheckerboardPage { import_list.add(video_source); } else { // determine file format from type, and then from file extension - PhotoFileFormat file_format = PhotoFileFormat.from_gphoto_type(info.file.type); + string file_type = (string)info.file.type; + PhotoFileFormat file_format = PhotoFileFormat.from_gphoto_type(file_type); if (file_format == PhotoFileFormat.UNKNOWN) { file_format = PhotoFileFormat.get_by_basename_extension(filename); if (file_format == PhotoFileFormat.UNKNOWN) { message("Skipping %s/%s: Not a supported file extension (%s)", fulldir, - filename, info.file.type); + filename, file_type); continue; } |