diffstat for shotwell-0.13.0 shotwell-0.13.1 Makefile | 5 - NEWS | 24 +++++++ THANKS | 1 debian/changelog | 12 +++ debian/control | 4 - misc/org.yorba.shotwell-extras.gschema.xml | 50 --------------- misc/org.yorba.shotwell.gschema.xml | 50 +++++++++++++++ plugins/common/RESTSupport.vala | 19 +++++ plugins/shotwell-publishing-extras/TumblrPublishing.vala | 12 ++- po/shotwell-core/ar.po | 2 po/shotwell-core/de.po | 4 - po/shotwell-core/es.po | 2 po/shotwell-core/zh_TW.po | 2 settings-migrator/shotwell-settings-migrator | 3 src/AppDirs.vala | 22 ++++++ src/AppWindow.vala | 13 +-- src/Application.vala | 19 +++++ src/Dialogs.vala | 8 +- src/Exporter.vala | 2 src/MediaPage.vala | 10 ++- src/Screensaver.vala | 34 +--------- src/SearchFilter.vala | 13 +++ src/camera/ImportPage.vala | 10 +++ src/config/GSettingsEngine.vala | 2 src/core/util.vala | 2 src/library/LibraryWindow.vala | 3 src/util/ui.vala | 19 ----- 27 files changed, 216 insertions(+), 131 deletions(-) diff -Nru shotwell-0.13.0/Makefile shotwell-0.13.1/Makefile --- shotwell-0.13.0/Makefile 2012-09-19 23:24:26.000000000 +0000 +++ shotwell-0.13.1/Makefile 2012-10-05 18:07:37.000000000 +0000 @@ -2,7 +2,7 @@ PROGRAM_THUMBNAILER = shotwell-video-thumbnailer PROGRAM_MIGRATOR = shotwell-settings-migrator -VERSION = 0.13.0 +VERSION = 0.13.1 GETTEXT_PACKAGE = $(PROGRAM) BUILD_ROOT = 1 @@ -558,7 +558,8 @@ mkdir -p $(DESTDIR)$(PREFIX)/bin $(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(PREFIX)/bin $(INSTALL_PROGRAM) $(THUMBNAILER_BIN) $(DESTDIR)$(PREFIX)/bin - $(INSTALL_PROGRAM) $(MIGRATOR_BIN) $(DESTDIR)$(PREFIX)/bin + mkdir -p $(DESTDIR)$(PREFIX)/libexec/shotwell + $(INSTALL_PROGRAM) $(MIGRATOR_BIN) $(DESTDIR)$(PREFIX)/libexec/shotwell mkdir -p $(DESTDIR)$(PREFIX)/share/shotwell/icons $(INSTALL_DATA) icons/* $(DESTDIR)$(PREFIX)/share/shotwell/icons mkdir -p $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps diff -Nru shotwell-0.13.0/NEWS shotwell-0.13.1/NEWS --- shotwell-0.13.0/NEWS 2012-09-19 23:07:03.000000000 +0000 +++ shotwell-0.13.1/NEWS 2012-10-05 18:22:34.000000000 +0000 @@ -1,3 +1,27 @@ +Shotwell 0.13.1 - 5 October 2012 - "A Date at the Diplomat's Club" +---------------------------------------------------------------------------- + + * Fixes an issue in which Shotwell would crash after deleting + all photos present in a view + * Fixes an issue where Shotwell would not include all + selected photos during a Nautilus "Send To..." export + operation + * Corrects a problem in which the file chooser dialog + used to select Shotwell's library location would + inappropriately select the parent directory of the chosen + directory + * Shotwell now properly inhibits the system screensaver when + playing a slideshow + * Fixes an issue in which the search filter bar could become + invisible even though a filter was being applied + * A progress bar now correctly appears during long batch + rotate and auto-enhance operations + * Shotwell no longer crashes when certain kinds of malformed + responses are received from remote servers during photo + publishing + * Corrected translation and desktop integration errors + + Shotwell 0.13.0 - 19 September 2012 - "Peanuts, Coffee, Soda, and Magazines" ---------------------------------------------------------------------------- diff -Nru shotwell-0.13.0/THANKS shotwell-0.13.1/THANKS --- shotwell-0.13.0/THANKS 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/THANKS 2012-10-05 17:56:28.000000000 +0000 @@ -59,6 +59,7 @@ Alexander Wilms Timo Witte Shan Xiong +Damien Lallement Translations courtesy of: diff -Nru shotwell-0.13.0/debian/changelog shotwell-0.13.1/debian/changelog --- shotwell-0.13.0/debian/changelog 2012-09-29 12:58:53.000000000 +0000 +++ shotwell-0.13.1/debian/changelog 2012-11-25 05:32:25.000000000 +0000 @@ -1,3 +1,15 @@ +shotwell (0.13.1-SprezzOS2) unstable; urgency=low + + * Rebuild against libgphoto 2.5 + + -- nick black Sun, 25 Nov 2012 00:15:36 -0500 + +shotwell (0.13.1-SprezzOS1) unstable; urgency=low + + * New upstream 0.13.1 + + -- nick black Mon, 29 Oct 2012 00:06:01 -0400 + shotwell (0.13.0-1) experimental; urgency=low * Team upload. diff -Nru shotwell-0.13.0/debian/control shotwell-0.13.1/debian/control --- shotwell-0.13.0/debian/control 2012-09-29 13:03:06.000000000 +0000 +++ shotwell-0.13.1/debian/control 2012-11-25 05:32:25.000000000 +0000 @@ -1,8 +1,8 @@ Source: shotwell Section: gnome Priority: optional -Maintainer: Debian Shotwell Maintainers -Uploaders: Devid Antonio Filoni +Maintainer: Nick Black +XSBC-Original-Maintainer: Debian Shotwell Maintainers Build-Depends: debhelper (>= 9), m4, valac-0.18 (>= 0.17.2), diff -Nru shotwell-0.13.0/misc/org.yorba.shotwell-extras.gschema.xml shotwell-0.13.1/misc/org.yorba.shotwell-extras.gschema.xml --- shotwell-0.13.0/misc/org.yorba.shotwell-extras.gschema.xml 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/misc/org.yorba.shotwell-extras.gschema.xml 2012-10-05 17:55:20.000000000 +0000 @@ -1,55 +1,5 @@ - - - "" - Piwigio URL - URL of the Piwigo server. - - - - "" - username - Piwigo username, if logged in. - - - - "" - password - Piwigo password, if logged in. - - - - false - remember password - If true, remember the Piwigo password. - - - - -1 - last category - The last selected Piwigo category. - - - - -1 - last permission level - The last chosen Piwigo permission level. - - - - -1 - last photo size - A numeric code representing the last photo size preset used when publishing to Piwigo. - - - - false - remove sensitive info from uploads - Whether images being uploaded to Piwigo should have their metadata removed first - - - "" diff -Nru shotwell-0.13.0/misc/org.yorba.shotwell.gschema.xml shotwell-0.13.1/misc/org.yorba.shotwell.gschema.xml --- shotwell-0.13.0/misc/org.yorba.shotwell.gschema.xml 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/misc/org.yorba.shotwell.gschema.xml 2012-10-05 17:55:20.000000000 +0000 @@ -393,6 +393,56 @@ + + + "" + Piwigio URL + URL of the Piwigo server. + + + + "" + username + Piwigo username, if logged in. + + + + "" + password + Piwigo password, if logged in. + + + + false + remember password + If true, remember the Piwigo password. + + + + -1 + last category + The last selected Piwigo category. + + + + -1 + last permission level + The last chosen Piwigo permission level. + + + + -1 + last photo size + A numeric code representing the last photo size preset used when publishing to Piwigo. + + + + false + remove sensitive info from uploads + Whether images being uploaded to Piwigo should have their metadata removed first + + + "" diff -Nru shotwell-0.13.0/plugins/common/RESTSupport.vala shotwell-0.13.1/plugins/common/RESTSupport.vala --- shotwell-0.13.0/plugins/common/RESTSupport.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/plugins/common/RESTSupport.vala 2012-10-05 17:59:25.000000000 +0000 @@ -501,7 +501,15 @@ CheckForErrorResponse check_for_error_response) throws Spit.Publishing.PublishingError { if (input_string == null || input_string.length == 0) throw new Spit.Publishing.PublishingError.MALFORMED_RESPONSE("Empty XML string"); - + + // Does this even start and end with the right characters? + if (!input_string.chug().chomp().has_prefix("<") || + !input_string.chug().chomp().has_suffix(">")) { + // Didn't start or end with a < or > and can't be parsed as XML - treat as malformed. + throw new Spit.Publishing.PublishingError.MALFORMED_RESPONSE("Unable to parse XML " + + "document"); + } + // Don't want blanks to be included as text nodes, and want the XML parser to tolerate // tolerable XML Xml.Doc* doc = Xml.Parser.read_memory(input_string, (int) input_string.length, null, null, @@ -509,9 +517,16 @@ if (doc == null) throw new Spit.Publishing.PublishingError.MALFORMED_RESPONSE("Unable to parse XML " + "document"); + + // Since 'doc' is the top level, if it has no children, something is wrong + // with the XML; we cannot continue normally here. + if (doc->children == null) { + throw new Spit.Publishing.PublishingError.MALFORMED_RESPONSE("Unable to parse XML " + + "document"); + } XmlDocument rest_doc = new XmlDocument(doc); - + string? result = check_for_error_response(rest_doc); if (result != null) throw new Spit.Publishing.PublishingError.SERVICE_ERROR("%s", result); diff -Nru shotwell-0.13.0/plugins/shotwell-publishing-extras/TumblrPublishing.vala shotwell-0.13.1/plugins/shotwell-publishing-extras/TumblrPublishing.vala --- shotwell-0.13.0/plugins/shotwell-publishing-extras/TumblrPublishing.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/plugins/shotwell-publishing-extras/TumblrPublishing.vala 2012-10-05 17:54:36.000000000 +0000 @@ -415,8 +415,10 @@ private void on_publishing_options_pane_publish() { - publishing_options_pane.publish.disconnect(on_publishing_options_pane_publish); - publishing_options_pane.logout.disconnect(on_publishing_options_pane_logout); + if (publishing_options_pane != null) { + publishing_options_pane.publish.disconnect(on_publishing_options_pane_publish); + publishing_options_pane.logout.disconnect(on_publishing_options_pane_logout); + } if (!is_running()) return; @@ -426,8 +428,10 @@ } private void on_publishing_options_pane_logout() { - publishing_options_pane.publish.disconnect(on_publishing_options_pane_publish); - publishing_options_pane.logout.disconnect(on_publishing_options_pane_logout); + if (publishing_options_pane != null) { + publishing_options_pane.publish.disconnect(on_publishing_options_pane_publish); + publishing_options_pane.logout.disconnect(on_publishing_options_pane_logout); + } if (!is_running()) return; diff -Nru shotwell-0.13.0/po/shotwell-core/ar.po shotwell-0.13.1/po/shotwell-core/ar.po --- shotwell-0.13.0/po/shotwell-core/ar.po 2012-09-19 19:59:05.000000000 +0000 +++ shotwell-0.13.1/po/shotwell-core/ar.po 2012-10-05 17:56:28.000000000 +0000 @@ -57,7 +57,7 @@ # GNOME Application Keywords msgid "Camera;Picture;Photo;" -msgstr "كاميرا;صورة;صور" +msgstr "كاميرا;صورة;صور;" #: src/AppWindow.vala:54 msgid "Pin Toolbar" diff -Nru shotwell-0.13.0/po/shotwell-core/de.po shotwell-0.13.1/po/shotwell-core/de.po --- shotwell-0.13.0/po/shotwell-core/de.po 2012-09-19 20:23:46.000000000 +0000 +++ shotwell-0.13.1/po/shotwell-core/de.po 2012-10-05 17:56:56.000000000 +0000 @@ -63,7 +63,7 @@ # GNOME Application Keywords msgid "Camera;Picture;Photo;" -msgstr "Kamera;Bild;Foto" +msgstr "Kamera;Bild;Foto;" #: src/AppWindow.vala:54 msgid "Pin Toolbar" @@ -2769,7 +2769,7 @@ #: src/Resources.vala:269 msgid "Send T_o..." -msgstr "Senden _An" +msgstr "Senden _an …" #: src/Resources.vala:271 msgid "_Find..." diff -Nru shotwell-0.13.0/po/shotwell-core/es.po shotwell-0.13.1/po/shotwell-core/es.po --- shotwell-0.13.0/po/shotwell-core/es.po 2012-09-19 20:09:11.000000000 +0000 +++ shotwell-0.13.1/po/shotwell-core/es.po 2012-10-05 17:56:28.000000000 +0000 @@ -56,7 +56,7 @@ # GNOME Application Keywords msgid "Camera;Picture;Photo;" -msgstr "Cámara;Imagen;Foto" +msgstr "Cámara;Imagen;Foto;" #: src/AppWindow.vala:54 msgid "Pin Toolbar" diff -Nru shotwell-0.13.0/po/shotwell-core/zh_TW.po shotwell-0.13.1/po/shotwell-core/zh_TW.po --- shotwell-0.13.0/po/shotwell-core/zh_TW.po 2012-09-19 21:07:48.000000000 +0000 +++ shotwell-0.13.1/po/shotwell-core/zh_TW.po 2012-10-05 17:56:28.000000000 +0000 @@ -50,7 +50,7 @@ # GNOME Application Keywords msgid "Camera;Picture;Photo;" -msgstr "相機;圖片;相片;攝影" +msgstr "相機;圖片;相片;攝影;" #: src/AppWindow.vala:54 msgid "Pin Toolbar" diff -Nru shotwell-0.13.0/settings-migrator/shotwell-settings-migrator shotwell-0.13.1/settings-migrator/shotwell-settings-migrator --- shotwell-0.13.0/settings-migrator/shotwell-settings-migrator 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/settings-migrator/shotwell-settings-migrator 2012-10-05 17:56:07.000000000 +0000 @@ -26,5 +26,8 @@ # ...and into officially-blessed one. dconf load /org/yorba/shotwell/ < $temp_file_path +# Clean out the stale paths... +dconf reset -f /apps/shotwell/ + # temp file not needed anymore, zap it. rm -f $temp_file_path diff -Nru shotwell-0.13.0/src/AppDirs.vala shotwell-0.13.1/src/AppDirs.vala --- shotwell-0.13.0/src/AppDirs.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/AppDirs.vala 2012-10-05 17:56:07.000000000 +0000 @@ -10,6 +10,7 @@ private static File exec_dir; private static File data_dir = null; private static File tmp_dir = null; + private static File libexec_dir = null; // Because this is called prior to Debug.init(), this function cannot do any logging calls public static void init(string arg0) { @@ -97,6 +98,23 @@ err.message)); } } + + /** + * @brief Returns the build directory if not installed yet, or a path + * to where any helper applets we need will live if installed. + */ + public static File get_libexec_dir() { + if (libexec_dir == null) { + if (get_install_dir() == null) { + // not installed yet - use wherever we were run from + libexec_dir = get_exec_dir(); + } else { + libexec_dir = File.new_for_path(Resources.PREFIX + "/libexec/shotwell"); + } + } + + return libexec_dir; + } // Return the directory in which Shotwell is installed, or null if uninstalled. public static File? get_install_dir() { @@ -254,10 +272,10 @@ public static File get_settings_migrator_bin() { const string filename = "shotwell-settings-migrator"; - File f = File.new_for_path(AppDirs.get_exec_dir().get_path() + "/settings-migrator/" + filename); + File f = File.new_for_path(AppDirs.get_libexec_dir().get_path() + "/settings-migrator/" + filename); if (!f.query_exists()) { // If we're running installed. - f = File.new_for_path(AppDirs.get_exec_dir().get_path() + "/" + filename); + f = File.new_for_path(AppDirs.get_libexec_dir().get_path() + "/" + filename); } return f; } diff -Nru shotwell-0.13.0/src/AppWindow.vala shotwell-0.13.1/src/AppWindow.vala --- shotwell-0.13.0/src/AppWindow.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/AppWindow.vala 2012-10-05 17:59:11.000000000 +0000 @@ -4,11 +4,6 @@ * See the COPYING file in this distribution. */ -// This is required due to a binding error. This is fixed in 0.13 trunk and can be removed when -// Shotwell is ported to that version of Vala. -extern void gdk_device_get_position(Gdk.Device device, out unowned Gdk.Screen screen, - out int x, out int y); - public class FullscreenWindow : PageWindow { public const int TOOLBAR_INVOCATION_MSEC = 250; public const int TOOLBAR_DISMISSAL_SEC = 2; @@ -207,11 +202,11 @@ } int py; - gdk_device_get_position(devmgr.get_client_pointer(), null, null, out py); + devmgr.get_client_pointer().get_position(null, null, out py); int wy; toolbar_window.get_window().get_geometry(null, out wy, null, null); - + return (py >= wy); } @@ -399,7 +394,7 @@ return; get_window().set_cursor(new Gdk.Cursor(Gdk.CursorType.WATCH)); - spin_event_loop(10); + spin_event_loop(); } public void set_normal_cursor() { @@ -411,7 +406,7 @@ } get_window().set_cursor(new Gdk.Cursor(Gdk.CursorType.LEFT_PTR)); - spin_event_loop(10); + spin_event_loop(); } } diff -Nru shotwell-0.13.0/src/Application.vala shotwell-0.13.1/src/Application.vala --- shotwell-0.13.0/src/Application.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/Application.vala 2012-10-05 17:58:34.000000000 +0000 @@ -189,6 +189,25 @@ Posix.exit(1); } + /** + * @brief Allows the caller to ask for some part of the desktop session's functionality to + * be prevented from running; wrapper for Gtk.Application.inhibit(). + * + * @note The return value is a 'cookie' that needs to be passed to 'uninhibit' to turn + * off a requested inhibition and should be saved by the caller. + */ + public uint inhibit(Gtk.ApplicationInhibitFlags what, string? reason="none given") { + return system_app.inhibit(AppWindow.get_instance(), what, reason); + } + + /** + * @brief Turns off a previously-requested inhibition. Wrapper for + * Gtk.Application.uninhibit(). + */ + public void uninhibit(uint cookie) { + system_app.uninhibit(cookie); + } + public int get_run_return_value() { return system_app_run_retval; } diff -Nru shotwell-0.13.0/src/Dialogs.vala shotwell-0.13.1/src/Dialogs.vala --- shotwell-0.13.0/src/Dialogs.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/Dialogs.vala 2012-10-05 17:58:13.000000000 +0000 @@ -1192,7 +1192,7 @@ } // This can be used as a ProgressMonitor delegate. - public bool monitor(uint64 count, uint64 total) { + public bool monitor(uint64 count, uint64 total, bool do_event_loop = true) { if ((last_count == uint64.MAX) || (count - last_count) >= update_every) { set_percentage((double) count / (double) total); last_count = count; @@ -1205,7 +1205,9 @@ // // Important: Since it's possible the progress dialog might be destroyed inside this call, // avoid referring to "this" afterwards at all costs (in case all refs have been dropped) - spin_event_loop(); + + if (do_event_loop) + spin_event_loop(); return keep_going; } @@ -2275,7 +2277,7 @@ } private void on_current_folder_changed() { - lib_dir = library_dir_button.get_current_folder(); + lib_dir = library_dir_button.get_filename(); } private bool map_event() { diff -Nru shotwell-0.13.0/src/Exporter.vala shotwell-0.13.1/src/Exporter.vala --- shotwell-0.13.0/src/Exporter.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/Exporter.vala 2012-10-05 17:57:42.000000000 +0000 @@ -168,7 +168,7 @@ } if (!aborted && monitor != null) { - if (!monitor(completed_count, to_export.size)) { + if (!monitor(completed_count, to_export.size, false)) { aborted = true; if (!completed) diff -Nru shotwell-0.13.0/src/MediaPage.vala shotwell-0.13.1/src/MediaPage.vala --- shotwell-0.13.0/src/MediaPage.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/MediaPage.vala 2012-10-05 17:57:16.000000000 +0000 @@ -986,10 +986,14 @@ private void on_remove_from_library() { remove_photos_from_library((Gee.Collection) get_view().get_selected_sources()); } - + protected virtual void on_move_to_trash() { - CheckerboardItem? restore_point = get_view().get_next(cursor) as CheckerboardItem; - + CheckerboardItem? restore_point = null; + + if (cursor != null) { + restore_point = get_view().get_next(cursor) as CheckerboardItem; + } + if (get_view().get_selected_count() > 0) { get_command_manager().execute(new TrashUntrashPhotosCommand( (Gee.Collection) get_view().get_selected_sources(), true)); diff -Nru shotwell-0.13.0/src/Screensaver.vala shotwell-0.13.1/src/Screensaver.vala --- shotwell-0.13.0/src/Screensaver.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/Screensaver.vala 2012-10-05 17:58:34.000000000 +0000 @@ -4,47 +4,25 @@ * See the COPYING file in this distribution. */ -[DBus (name="org.gnome.ScreenSaver")] -interface ScreensaverControl : Object { - public abstract void Inhibit(string app, string reason, out uint32 cookie) throws IOError; - - public abstract void UnInhibit(uint32 cookie) throws IOError; -} - public class Screensaver { - private ScreensaverControl? ctrl = null; private uint32 cookie = 0; public Screensaver() { - try { - ctrl = Bus.get_proxy_sync(BusType.SESSION, "org.gnome.ScreenSaver", - "/org/gnome/ScreenSaver"); - } catch (IOError ioe) { - warning("Unable to obtain connection to screensaver control: %s", ioe.message); - } } public void inhibit(string reason) { - if (ctrl == null || cookie != 0) + if (cookie != 0) return; - - try { - ctrl.Inhibit("Shotwell", reason, out cookie); - } catch (IOError ioe) { - warning("Unable to inhibit screensaver: %s", ioe.message); - } + + cookie = Application.get_instance().inhibit( + Gtk.ApplicationInhibitFlags.IDLE | Gtk.ApplicationInhibitFlags.SUSPEND, _("Slideshow")); } public void uninhibit() { - if (ctrl == null || cookie == 0) + if (cookie == 0) return; - try { - ctrl.UnInhibit(cookie); - } catch (IOError ioe) { - warning("Unable to uninhibit screensaver: %s", ioe.message); - } - + Application.get_instance().uninhibit(cookie); cookie = 0; } } diff -Nru shotwell-0.13.0/src/SearchFilter.vala shotwell-0.13.1/src/SearchFilter.vala --- shotwell-0.13.0/src/SearchFilter.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/SearchFilter.vala 2012-10-05 17:59:02.000000000 +0000 @@ -1174,11 +1174,20 @@ private void on_search_text_changed() { update(); } - + private void on_rating_changed() { + AppWindow aw = LibraryWindow.get_app(); + + if (aw == null) + return; + + Gtk.ToggleAction searchbar_toggle = aw.get_common_action("CommonDisplaySearchbar") as Gtk.ToggleAction; + if(searchbar_toggle != null) + searchbar_toggle.set_active(true); + update(); } - + // Ticket #3290, part II - listen for criteria change signals, // and show or hide widgets based on the criteria we just // changed to. diff -Nru shotwell-0.13.0/src/camera/ImportPage.vala shotwell-0.13.1/src/camera/ImportPage.vala --- shotwell-0.13.0/src/camera/ImportPage.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/camera/ImportPage.vala 2012-10-05 17:55:00.000000000 +0000 @@ -1185,6 +1185,16 @@ got_well_known_dir = true; } + // Check common video paths for Sony NEX3, PSP addon camera + if (check_directory_exists(fsid, "/", "MP_ROOT")) { + enumerate_files(fsid, "/MP_ROOT", import_list); + got_well_known_dir = true; + } + if (check_directory_exists(fsid, "/", "mp_root")) { + enumerate_files(fsid, "/mp_root", import_list); + got_well_known_dir = true; + } + // Didn't find any of the common directories we know about // already - try scanning from device root. if (!got_well_known_dir) { diff -Nru shotwell-0.13.0/src/config/GSettingsEngine.vala shotwell-0.13.1/src/config/GSettingsEngine.vala --- shotwell-0.13.0/src/config/GSettingsEngine.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/config/GSettingsEngine.vala 2012-10-05 17:56:07.000000000 +0000 @@ -474,7 +474,7 @@ * over newer data by accident. */ public static void run_gsettings_migrator() { - string cmd_line = AppDirs.get_settings_migrator_bin().get_path(); + string cmd_line = "sh " + AppDirs.get_settings_migrator_bin().get_path(); try { Process.spawn_command_line_sync(cmd_line); diff -Nru shotwell-0.13.0/src/core/util.vala shotwell-0.13.1/src/core/util.vala --- shotwell-0.13.0/src/core/util.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/core/util.vala 2012-10-05 17:57:42.000000000 +0000 @@ -127,7 +127,7 @@ // A ProgressMonitor allows for notifications of progress on operations on multiple items (via // the marked interfaces). Return false if the operation is cancelled and should end immediately. -public delegate bool ProgressMonitor(uint64 current, uint64 total); +public delegate bool ProgressMonitor(uint64 current, uint64 total, bool do_event_loop = true); // UnknownTotalMonitor is useful when an interface cannot report the total count to a ProgressMonitor, // only a count, but the total is known by the caller. diff -Nru shotwell-0.13.0/src/library/LibraryWindow.vala shotwell-0.13.1/src/library/LibraryWindow.vala --- shotwell-0.13.0/src/library/LibraryWindow.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/library/LibraryWindow.vala 2012-10-05 17:59:29.000000000 +0000 @@ -1392,6 +1392,9 @@ assert(null != page); search_toolbar.set_view_filter(page.get_search_view_filter()); page.get_view().install_view_filter(page.get_search_view_filter()); + } else { + if (page != null) + page.get_view().remove_view_filter(page.get_search_view_filter()); } } diff -Nru shotwell-0.13.0/src/util/ui.vala shotwell-0.13.1/src/util/ui.vala --- shotwell-0.13.0/src/util/ui.vala 2012-09-19 19:08:59.000000000 +0000 +++ shotwell-0.13.1/src/util/ui.vala 2012-10-05 17:59:11.000000000 +0000 @@ -35,22 +35,9 @@ } } -// Returns false if Gtk.quit() was called -public bool spin_event_loop(int max = -1) { - if (max == 0) - return true; - - while (Gtk.events_pending()) { - if (Gtk.main_iteration()) - return false; - - if (max > 0) { - if (--max <= 0) - break; - } - } - - return true; +public void spin_event_loop() { + while (Gtk.events_pending()) + Gtk.main_iteration(); } public AdjustmentRelation get_adjustment_relation(Gtk.Adjustment adjustment, int value) {