[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#683924: unblock: shotwell/0.12.3-2



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package shotwell
It provides a fix for #665498, which has been tested and applied upstream.

unblock shotwell/0.12.3-2

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-3-amd64 (SMP w/8 CPU cores)
diff -Nru shotwell-0.12.3/debian/changelog shotwell-0.12.3/debian/changelog
--- shotwell-0.12.3/debian/changelog	2012-06-03 15:18:23.000000000 +0200
+++ shotwell-0.12.3/debian/changelog	2012-08-05 14:54:36.000000000 +0200
@@ -1,3 +1,12 @@
+shotwell (0.12.3-2) unstable; urgency=low
+
+  * Team upload.
+  * debian/patches/metadata.patch:
+    - Cherry-pick patches from upstream repository to fix crashes while
+      managing metadata (Closes: #665498).
+
+ -- Luca Falavigna <dktrkranz@debian.org>  Sun, 22 Jul 2012 11:56:51 +0200
+
 shotwell (0.12.3-1) unstable; urgency=low
 
   * Team upload.
diff -Nru shotwell-0.12.3/debian/patches/metadata.patch shotwell-0.12.3/debian/patches/metadata.patch
--- shotwell-0.12.3/debian/patches/metadata.patch	1970-01-01 01:00:00.000000000 +0100
+++ shotwell-0.12.3/debian/patches/metadata.patch	2012-07-22 11:56:42.000000000 +0200
@@ -0,0 +1,33 @@
+Description: Writing metadata ends up in a neverending cycle
+Author: Clinton Rogers
+
+Index: shotwell-0.12.3/src/MetadataWriter.vala
+===================================================================
+--- shotwell-0.12.3.orig/src/MetadataWriter.vala	2012-05-08 23:46:35.000000000 +0200
++++ shotwell-0.12.3/src/MetadataWriter.vala	2012-07-22 11:55:09.212907651 +0200
+@@ -103,7 +103,24 @@
+             }
+             
+             // tags (keywords) ... replace (or clear) entirely rather than union or intersection
+-            if (!equal_sets(current_keywords, metadata.get_keywords())) {
++
++            Gee.Set<string> safe_keywords = new Gee.HashSet<string>();
++
++            // Since the tags are stored in an image file's `keywords' field in
++            // non-hierarchical format, before checking whether the tags that
++            // should be associated with this image have been written, we'll need
++            // to produce non-hierarchical versions of the tags to be tested.
++            // get_user_visible_name() does this by returning the most deeply-nested
++            // portion of a given hierarchical tag; that is, for a tag "/a/b/c",
++            // it'll return "c", which is exactly the form we want here.
++            if (current_keywords != null) {
++                foreach(string tmp in current_keywords) {
++                    Tag tag = Tag.for_path(tmp);
++                    safe_keywords.add(tag.get_user_visible_name());
++                }
++            }
++
++            if (!equal_sets(safe_keywords, metadata.get_keywords())) {
+                 metadata.set_keywords(current_keywords);
+                 changed = true;
+             }
diff -Nru shotwell-0.12.3/debian/patches/series shotwell-0.12.3/debian/patches/series
--- shotwell-0.12.3/debian/patches/series	2012-06-03 12:23:14.000000000 +0200
+++ shotwell-0.12.3/debian/patches/series	2012-07-22 11:35:17.000000000 +0200
@@ -1,3 +1,4 @@
 gettext.patch
 format_string.patch
 openmp.patch
+metadata.patch

Reply to: