diff -Nru shotwell-0.11.2/debian/changelog shotwell-0.11.6/debian/changelog --- shotwell-0.11.2/debian/changelog 2011-09-21 14:27:47.000000000 +0000 +++ shotwell-0.11.6/debian/changelog 2012-05-06 12:27:35.000000000 +0000 @@ -1,3 +1,24 @@ +shotwell (0.11.6-0ubuntu0.1.g1) oneiric; urgency=low + + * add 2048 size parameter to allow proper "free" sizing for + picasa/google+ uploads + - plugins/shotwell-publishing/PicasaPublishing.vala + + -- Alexander Sack Sun, 06 May 2012 14:26:45 +0200 + +shotwell (0.11.6-0ubuntu0.1) oneiric-proposed; urgency=low + + * New upstream version, fixes a tag corruption issue (lp: #894145) + + -- Sebastien Bacher Wed, 23 Nov 2011 21:46:43 +0100 + +shotwell (0.11.4-0ubuntu1) oneiric-proposed; urgency=low + + * New upstream version: + - don't abort on corrupted video import (lp: #862347) + + -- Sebastien Bacher Tue, 18 Oct 2011 15:10:48 +0200 + shotwell (0.11.2-0ubuntu1) oneiric; urgency=low * New upstream version diff -Nru shotwell-0.11.2/debian/patches/06-google-plus-free-size.patch shotwell-0.11.6/debian/patches/06-google-plus-free-size.patch --- shotwell-0.11.2/debian/patches/06-google-plus-free-size.patch 1970-01-01 00:00:00.000000000 +0000 +++ shotwell-0.11.6/debian/patches/06-google-plus-free-size.patch 2012-05-06 12:28:44.000000000 +0000 @@ -0,0 +1,34 @@ +Description: adds the G+ free size as an option for publishing + . + shotwell (0.12.2-0ubuntu2.g1) precise; urgency=low + . + * add 2048 size parameter to allow proper "free" sizing for + picasa/google+ uploads + - plugins/shotwell-publishing/PicasaPublishing.vala +Author: Alexander Sack + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: , +Bug: +Bug-Debian: http://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: +Reviewed-By: +Last-Update: + +Index: shotwell-0.11.6/plugins/shotwell-publishing/PicasaPublishing.vala +=================================================================== +--- shotwell-0.11.6.orig/plugins/shotwell-publishing/PicasaPublishing.vala 2011-11-03 22:25:02.000000000 +0100 ++++ shotwell-0.11.6/plugins/shotwell-publishing/PicasaPublishing.vala 2012-05-06 14:28:20.943708497 +0200 +@@ -1247,6 +1247,7 @@ + result += SizeDescription(_("Small (640 x 480 pixels)"), 640); + result += SizeDescription(_("Medium (1024 x 768 pixels)"), 1024); + result += SizeDescription(_("Recommended (1600 x 1200 pixels)"), 1600); ++ result += SizeDescription(_("Google+ (2048 pixels max)"), 2048); + result += SizeDescription(_("Original Size"), PublishingParameters.ORIGINAL_SIZE); + + return result; diff -Nru shotwell-0.11.2/debian/patches/series shotwell-0.11.6/debian/patches/series --- shotwell-0.11.2/debian/patches/series 2011-09-21 14:27:47.000000000 +0000 +++ shotwell-0.11.6/debian/patches/series 2012-05-06 12:26:31.000000000 +0000 @@ -3,3 +3,4 @@ 03_appmenu_no_stubs.patch 04_no_resize_grip.patch +06-google-plus-free-size.patch diff -Nru shotwell-0.11.2/Makefile shotwell-0.11.6/Makefile --- shotwell-0.11.2/Makefile 2011-09-20 20:33:53.000000000 +0000 +++ shotwell-0.11.6/Makefile 2011-11-03 21:39:05.000000000 +0000 @@ -1,7 +1,7 @@ PROGRAM = shotwell PROGRAM_THUMBNAILER = shotwell-video-thumbnailer -VERSION = 0.11.2 +VERSION = 0.11.6 GETTEXT_PACKAGE = $(PROGRAM) BUILD_ROOT = 1 diff -Nru shotwell-0.11.2/NEWS shotwell-0.11.6/NEWS --- shotwell-0.11.2/NEWS 2011-09-20 20:29:16.000000000 +0000 +++ shotwell-0.11.6/NEWS 2011-11-03 21:48:46.000000000 +0000 @@ -1,3 +1,37 @@ +Shotwell 0.11.6 - 3 November 2011 - "I know you can't, and I'm positive that + you won't" +---------------------------------------------------------------------------- + + * Fixes a critical bug in which adding or modifying tags in the + single-photo view could result in the loss of tag data + + +Shotwell 0.11.5 - 18 October 2011 - "I hate anyone that ever had a pony" +------------------------------------------------------------------------ + + * Fixes a collection concurrent access issue that could cause + Shotwell to crash during F-Spot import for users still + affected by this issue even after installing Shotwell 0.11.4. + + +Shotwell 0.11.4 - 13 October 2011 - "The Pony Remark" +--------------------------------------------------------------------- + + * Fixes two collection concurrent access issues that could cause + Shotwell to crash during F-Spot import. + + +Shotwell 0.11.3 - 11 October 2011 - "All Old People Steal" +--------------------------------------------------------------------- + + * Fixes a critical issue where Shotwell could crash immediately + following a photo import + * Fixes a critical issue where Shotwell could crash if the user + entered a tag name containing a slash ("/") character + * Long error messages in the Publishing dialog box are now wrapped + correctly + + Shotwell 0.11.2 - 20 September 2011 - "Strap them to a Rickshaw" --------------------------------------------------------------------- diff -Nru shotwell-0.11.2/src/alien_db/AlienDatabaseImportJob.vala shotwell-0.11.6/src/alien_db/AlienDatabaseImportJob.vala --- shotwell-0.11.2/src/alien_db/AlienDatabaseImportJob.vala 2011-09-20 20:15:40.000000000 +0000 +++ shotwell-0.11.6/src/alien_db/AlienDatabaseImportJob.vala 2011-11-03 21:25:02.000000000 +0000 @@ -15,6 +15,7 @@ private uint64 filesize; private time_t exposure_time; private AlienDatabaseImportJob? associated = null; + private HierarchicalTagIndex? detected_htags = null; public AlienDatabaseImportJob(AlienDatabaseImportSource import_source) { this.import_source = import_source; @@ -85,15 +86,7 @@ file_to_import = src_file; copy_to_library = false; - HierarchicalTagIndex? detected_htags = - build_exclusion_index(import_source.get_photo().get_tags()); - - if (detected_htags != null) { - Gee.Collection paths = detected_htags.get_all_paths(); - - foreach (string path in paths) - Tag.for_path(path); - } + detected_htags = build_exclusion_index(import_source.get_photo().get_tags()); return true; } @@ -106,6 +99,13 @@ AlienDatabasePhoto src_photo = import_source.get_photo(); // tags + if (detected_htags != null) { + Gee.Collection paths = detected_htags.get_all_paths(); + + foreach (string path in paths) + Tag.for_path(path); + } + Gee.Collection src_tags = src_photo.get_tags(); foreach (AlienDatabaseTag src_tag in src_tags) { string? prepped = HierarchicalTagUtilities.join_path_components( diff -Nru shotwell-0.11.2/src/BatchImport.vala shotwell-0.11.6/src/BatchImport.vala --- shotwell-0.11.2/src/BatchImport.vala 2011-09-14 21:35:06.000000000 +0000 +++ shotwell-0.11.6/src/BatchImport.vala 2011-11-03 21:25:02.000000000 +0000 @@ -153,6 +153,7 @@ // filesize should only be returned if BatchImportJob represents a single file. public abstract bool determine_file_size(out uint64 filesize, out File file_or_dir); + // NOTE: prepare( ) is called from a background thread in the worker pool public abstract bool prepare(out File file_to_import, out bool copy_to_library) throws Error; // Completes the import for the new library photo once it's been imported. @@ -161,6 +162,8 @@ // that have been successfully imported. // // Returns true if any action was taken, false otherwise. + // + // NOTE: complete( )is called from the foreground thread public virtual bool complete(MediaSource source, BatchImportRoll import_roll) throws Error { return false; } diff -Nru shotwell-0.11.2/src/Dialogs.vala shotwell-0.11.6/src/Dialogs.vala --- shotwell-0.11.2/src/Dialogs.vala 2011-09-20 20:15:40.000000000 +0000 +++ shotwell-0.11.6/src/Dialogs.vala 2011-11-03 21:25:02.000000000 +0000 @@ -497,7 +497,7 @@ } public string get_media_specific_string(Gee.Collection import_collection, - string photos_msg, string videos_msg, string both_msg, string? neither_msg) { + string photos_msg, string videos_msg, string both_msg, string neither_msg) { bool has_photos = import_has_photos(import_collection); bool has_videos = import_has_videos(import_collection); @@ -507,10 +507,8 @@ return photos_msg; else if (has_videos) return videos_msg; - else if (neither_msg != null) - return neither_msg; else - assert_not_reached(); + return neither_msg; } // Returns true if the user selected the yes action, false otherwise. @@ -530,7 +528,7 @@ manifest.already_imported.size)).printf(manifest.already_imported.size); message += get_media_specific_string(manifest.already_imported, photos_message, - videos_message, both_message, null); + videos_message, both_message, both_message); message += generate_import_failure_list(manifest.already_imported, show_dest_id); } @@ -671,7 +669,7 @@ manifest.success.size)).printf(manifest.success.size); message += get_media_specific_string(manifest.success, photos_message, videos_message, - both_message, null); + both_message, ""); } int total = manifest.success.size + manifest.failed.size + manifest.camera_failed.size diff -Nru shotwell-0.11.2/src/PhotoPage.vala shotwell-0.11.6/src/PhotoPage.vala --- shotwell-0.11.2/src/PhotoPage.vala 2011-09-14 21:35:06.000000000 +0000 +++ shotwell-0.11.6/src/PhotoPage.vala 2011-11-03 21:28:17.000000000 +0000 @@ -3198,7 +3198,8 @@ AddTagsDialog dialog = new AddTagsDialog(); string[]? names = dialog.execute(); if (names != null) { - get_command_manager().execute(new AddTagsCommand(names, + get_command_manager().execute(new AddTagsCommand( + HierarchicalTagIndex.get_global_index().get_paths_for_names_array(names), (Gee.Collection) get_view().get_selected_sources())); } } diff -Nru shotwell-0.11.2/src/publishing/PublishingPluginHost.vala shotwell-0.11.6/src/publishing/PublishingPluginHost.vala --- shotwell-0.11.2/src/publishing/PublishingPluginHost.vala 2011-09-14 21:35:06.000000000 +0000 +++ shotwell-0.11.6/src/publishing/PublishingPluginHost.vala 2011-11-03 21:25:02.000000000 +0000 @@ -80,7 +80,7 @@ public void post_error(Error err) { string msg = _("Publishing to %s can't continue because an error occurred:").printf( active_publisher.get_service().get_pluggable_name()); - msg += GLib.Markup.printf_escaped("\n\n\t%s\n\n", err.message); + msg += GLib.Markup.printf_escaped("\n\n%s\n\n", err.message); msg += _("To try publishing to another service, select one from the above menu."); dialog.install_pane(new PublishingUI.StaticMessagePane.with_pango(msg)); diff -Nru shotwell-0.11.2/src/publishing/PublishingUI.vala shotwell-0.11.6/src/publishing/PublishingUI.vala --- shotwell-0.11.2/src/publishing/PublishingUI.vala 2011-09-20 20:15:39.000000000 +0000 +++ shotwell-0.11.6/src/publishing/PublishingUI.vala 2011-11-03 21:25:02.000000000 +0000 @@ -37,6 +37,7 @@ public StaticMessagePane.with_pango(string msg) { Gtk.Label label = new Gtk.Label(null); label.set_markup(msg); + label.set_line_wrap(true); (get_widget() as Gtk.Container).add(label); } diff -Nru shotwell-0.11.2/src/tags/Branch.vala shotwell-0.11.6/src/tags/Branch.vala --- shotwell-0.11.2/src/tags/Branch.vala 2011-09-20 20:15:40.000000000 +0000 +++ shotwell-0.11.6/src/tags/Branch.vala 2011-11-03 21:24:26.000000000 +0000 @@ -224,10 +224,15 @@ string? prepped = Tag.prep_tag_name(new_name); if (prepped == null) return; + + prepped = prepped.replace("/", ""); if (prepped == tag.get_user_visible_name()) return; + if (prepped == "") + return; + AppWindow.get_command_manager().execute(new RenameTagCommand(tag, prepped)); } diff -Nru shotwell-0.11.2/src/tags/HierarchicalTagIndex.vala shotwell-0.11.6/src/tags/HierarchicalTagIndex.vala --- shotwell-0.11.2/src/tags/HierarchicalTagIndex.vala 2011-09-14 21:35:06.000000000 +0000 +++ shotwell-0.11.6/src/tags/HierarchicalTagIndex.vala 2011-11-03 21:24:26.000000000 +0000 @@ -13,7 +13,9 @@ this.known_paths = new Gee.TreeSet(); } - public static HierarchicalTagIndex from_paths(Gee.Collection paths) { + public static HierarchicalTagIndex from_paths(Gee.Collection client_paths) { + Gee.Collection paths = client_paths.read_only_view; + HierarchicalTagIndex result = new HierarchicalTagIndex(); foreach (string path in paths) { @@ -45,7 +47,7 @@ } public Gee.Collection get_all_paths() { - return known_paths; + return known_paths.read_only_view; } public bool is_tag_in_index(string tag) {