diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2016-02-21 10:42:55 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2016-02-21 10:42:55 +0100 |
commit | 9de3b36b9a1c6cd1b759db7bc34d4172fddf667c (patch) | |
tree | ad82d6d23a5326dff31ab7e5fc08fa71ae73fd74 /debian/patches | |
parent | 5ff37ce30e48d5ad95b047c3a694867c39a98033 (diff) |
new 0100-ios8.patch
Diffstat (limited to 'debian/patches')
-rw-r--r-- | debian/patches/0100-ios8.patch | 96 | ||||
-rw-r--r-- | debian/patches/series | 1 |
2 files changed, 97 insertions, 0 deletions
diff --git a/debian/patches/0100-ios8.patch b/debian/patches/0100-ios8.patch new file mode 100644 index 0000000..c28066f --- /dev/null +++ b/debian/patches/0100-ios8.patch @@ -0,0 +1,96 @@ +Index: trunk/src/camera/ImportPage.vala +=================================================================== +--- trunk.orig/src/camera/ImportPage.vala ++++ trunk/src/camera/ImportPage.vala +@@ -766,6 +766,15 @@ public class ImportPage : CheckerboardPa + ~ImportPage() { + LibraryPhoto.global.contents_altered.disconnect(on_media_added_removed); + Video.global.contents_altered.disconnect(on_media_added_removed); ++ ++ // iOS 8 issue. Release the camera here ++ if (camera != null) { ++ GPhoto.Result res = camera.exit(spin_idle_context.context); ++ if (res != GPhoto.Result.OK) { ++ // log but don't fail ++ warning("ImportPage destructor: Unable to unlock camera: %s", res.to_full_string()); ++ } ++ } + } + + public override Gtk.Toolbar get_toolbar() { +@@ -1153,11 +1162,14 @@ public class ImportPage : CheckerboardPa + update_status(busy, false); + + refresh_error = null; +- refresh_result = camera.init(spin_idle_context.context); +- if (refresh_result != GPhoto.Result.OK) { +- warning("Unable to initialize camera: %s", refresh_result.to_full_string()); +- +- return (refresh_result == GPhoto.Result.IO_LOCK) ? RefreshResult.LOCKED : RefreshResult.LIBRARY_ERROR; ++ // iOS 8 issue ++ if (camera == null) { ++ refresh_result = camera.init(spin_idle_context.context); ++ if (refresh_result != GPhoto.Result.OK) { ++ warning("Unable to initialize camera: %s", refresh_result.to_full_string()); ++ ++ return (refresh_result == GPhoto.Result.IO_LOCK) ? RefreshResult.LOCKED : RefreshResult.LIBRARY_ERROR; ++ } + } + + update_status(true, refreshed); +@@ -1262,13 +1274,15 @@ public class ImportPage : CheckerboardPa + progress_bar.set_ellipsize(Pango.EllipsizeMode.NONE); + progress_bar.set_text(""); + progress_bar.set_fraction(0.0); +- ++ ++#if 0 + GPhoto.Result res = camera.exit(spin_idle_context.context); + if (res != GPhoto.Result.OK) { + // log but don't fail + warning("Unable to unlock camera: %s", res.to_full_string()); + } +- ++#endif ++ + if (refresh_result == GPhoto.Result.OK) { + update_status(false, true); + } else { +@@ -1634,11 +1648,15 @@ public class ImportPage : CheckerboardPa + } + + private void import(Gee.Iterable<DataObject> items) { +- GPhoto.Result res = camera.init(spin_idle_context.context); +- if (res != GPhoto.Result.OK) { +- AppWindow.error_message(_("Unable to lock camera: %s").printf(res.to_full_string())); +- +- return; ++ // We now keep the camera open as long as we can to ++ // work around the iOS 8 directory name shuffling issue. ++ if (camera == null) { ++ GPhoto.Result res = camera.init(spin_idle_context.context); ++ if (res != GPhoto.Result.OK) { ++ AppWindow.error_message(_("Unable to lock camera: %s").printf(res.to_full_string())); ++ ++ return; ++ } + } + + update_status(true, refreshed); +@@ -1774,12 +1792,15 @@ public class ImportPage : CheckerboardPa + } + + private void close_import() { ++// iOS 8 issue ++#if 0 + GPhoto.Result res = camera.exit(spin_idle_context.context); + if (res != GPhoto.Result.OK) { + // log but don't fail + message("Unable to unlock camera: %s", res.to_full_string()); + } +- ++#endif ++ + update_status(false, refreshed); + + on_view_changed(); diff --git a/debian/patches/series b/debian/patches/series index 07037ee..fe75c5e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -5,3 +5,4 @@ 0501-Dont-pack-webview-into-a-scrolled-window.patch 0502-Have-all-soup-sessions-validate-TLS-certificates.patch 0503-facebook-Dont-disable-XSS-auditor.patch +0100-ios8.patch |