diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2018-09-30 14:09:32 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2018-09-30 14:09:32 +0200 |
commit | 0537caaf4af94a9ead8b292679f6b34c90b55e06 (patch) | |
tree | 6761cfdf959926be7af3147cf770e7f253390fe8 /src/Photo.vala | |
parent | eca5837e235a356c8db9416bbbc13577db3e6f76 (diff) | |
parent | 5e9f4eea451a77ba3b93db3747841ed2bd969e9f (diff) |
Update upstream source from tag 'upstream/0.30.1'
Update to upstream version '0.30.1'
with Debian dir dc242531effff8d9c6fab093414edee28b403c6a
Diffstat (limited to 'src/Photo.vala')
-rw-r--r-- | src/Photo.vala | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/Photo.vala b/src/Photo.vala index f089d79..0d8e955 100644 --- a/src/Photo.vala +++ b/src/Photo.vala @@ -4698,7 +4698,7 @@ public class LibraryPhotoSourceCollection : MediaSourceCollection { Gee.HashMultiMap<Tag, LibraryPhoto> map = new Gee.HashMultiMap<Tag, LibraryPhoto>(); foreach (MediaSource media in media_sources) { LibraryPhoto photo = (LibraryPhoto) media; - PhotoMetadata metadata = photo.get_metadata(); + PhotoMetadata? metadata = photo.get_metadata(); // get an index of all the htags in the application HierarchicalTagIndex global_index = HierarchicalTagIndex.get_global_index(); @@ -4709,7 +4709,7 @@ public class LibraryPhotoSourceCollection : MediaSourceCollection { // hierarchical tag information as plain old tags. If a tag name appears as part of // a hierarchical path, it needs to be excluded from being processed as a flat tag HierarchicalTagIndex? htag_index = null; - if (metadata.has_hierarchical_keywords()) { + if (metadata != null && metadata.has_hierarchical_keywords()) { htag_index = HierarchicalTagUtilities.process_hierarchical_import_keywords( metadata.get_hierarchical_keywords()); } @@ -4732,7 +4732,7 @@ public class LibraryPhotoSourceCollection : MediaSourceCollection { } } - if (metadata.has_hierarchical_keywords()) { + if (metadata != null && metadata.has_hierarchical_keywords()) { foreach (string path in htag_index.get_all_paths()) { string? name = Tag.prep_tag_name(path); if (name != null) @@ -5216,6 +5216,22 @@ public class LibraryPhoto : Photo, Flaggable, Monitorable { } } +#if ENABLE_FACES + // Attach faces. + Gee.Collection<Face>? faces = Face.global.fetch_for_source(this); + if (faces != null) { + foreach (Face face in faces) { + FaceLocation? location = FaceLocation.get_face_location(face.get_face_id(), + this.get_photo_id()); + if (location != null) { + face.attach(dupe); + FaceLocation.create(face.get_face_id(), dupe.get_photo_id(), + location.get_serialized_geometry()); + } + } + } +#endif + return dupe; } |