From 60c2440b30c35ab3e205bd93e6f11ed8cae330d0 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Dec 05 2008 11:55:20 +0000 Subject: - Properly open new windows after long mount operation - Fix callback connection to the GtkMountOperation dialog --- diff --git a/nautilus.spec b/nautilus.spec index 5845de4..5651670 100644 --- a/nautilus.spec +++ b/nautilus.spec @@ -20,7 +20,7 @@ Name: nautilus Summary: File manager for GNOME Version: 2.25.1 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2+ Group: User Interface/Desktops Source: http://download.gnome.org/sources/%{name}/2.24/%{name}-%{version}.tar.bz2 @@ -101,6 +101,11 @@ Patch15: nautilus-2.22.0-treeview-xds-dnd-2.patch # http://bugzilla.gnome.org/show_bug.cgi?id=519743 Patch17: nautilus-filetype-symlink-fix.patch +# http://bugzilla.gnome.org/show_bug.cgi?id=524485 +Patch18: nautilus_new_windows_after_mount.patch +Patch19: nautilus_gtk_mount_operation_signal.patch + + %description Nautilus is the file manager and graphical shell for the GNOME desktop that makes it easy to manage your files and the rest of your system. @@ -139,6 +144,8 @@ for developing nautilus extensions. %patch10 -p1 -b .gvfs-desktop-key %patch15 -p1 -b .xds %patch17 -p0 -b .symlink +%patch18 -p0 -b .new-windows +%patch19 -p0 -b .mountop %build @@ -266,6 +273,10 @@ fi %changelog +* Fri Dec 5 2008 Tomas Bzatek - 2.25.1-4 +- Properly open new windows after long mount operation +- Fix callback connection to the GtkMountOperation dialog + * Thu Dec 4 2008 Tomas Bzatek - 2.25.1-3 - Fix BuildRequires diff --git a/nautilus_gtk_mount_operation_signal.patch b/nautilus_gtk_mount_operation_signal.patch new file mode 100644 index 0000000..4b57a10 --- /dev/null +++ b/nautilus_gtk_mount_operation_signal.patch @@ -0,0 +1,20 @@ +Index: libnautilus-private/nautilus-mime-actions.c +=================================================================== +--- libnautilus-private/nautilus-mime-actions.c (revision 14785) ++++ libnautilus-private/nautilus-mime-actions.c (working copy) +@@ -1331,12 +1331,13 @@ + if (parameters->not_mounted != NULL) { + file = parameters->not_mounted->data; + mount_op = gtk_mount_operation_new (parameters->parent_window); +- g_signal_connect_object (mount_op, "notify::is-showing", +- G_CALLBACK (activate_mount_op_active), parameters, 0); ++ g_signal_connect (mount_op, "notify::is-showing", ++ G_CALLBACK (activate_mount_op_active), parameters); + location = nautilus_file_get_location (file); + g_file_mount_enclosing_volume (location, 0, mount_op, parameters->cancellable, + activation_mount_not_mounted_callback, parameters); + g_object_unref (location); ++ /* unref mount_op here - g_file_mount_enclosing_volume() does ref for itself */ + g_object_unref (mount_op); + return; + } diff --git a/nautilus_new_windows_after_mount.patch b/nautilus_new_windows_after_mount.patch new file mode 100644 index 0000000..c1f8eff --- /dev/null +++ b/nautilus_new_windows_after_mount.patch @@ -0,0 +1,27 @@ +Index: libnautilus-private/nautilus-mime-actions.c +=================================================================== +--- libnautilus-private/nautilus-mime-actions.c (revision 14785) ++++ libnautilus-private/nautilus-mime-actions.c (working copy) +@@ -1327,6 +1327,7 @@ + NautilusFile *file; + GFile *location; + GMountOperation *mount_op; ++ GList *l, *next; + + if (parameters->not_mounted != NULL) { + file = parameters->not_mounted->data; +@@ -1348,6 +1349,14 @@ + return; + } + ++ /* once the mount is finished, refresh all attributes */ ++ /* - fixes new windows not appearing after successful mount */ ++ for (l = parameters->files; l != NULL; l = next) { ++ file = NAUTILUS_FILE (l->data); ++ next = l->next; ++ nautilus_file_invalidate_all_attributes (file); ++ } ++ + nautilus_file_list_call_when_ready + (parameters->files, + nautilus_mime_actions_get_required_file_attributes () | NAUTILUS_FILE_ATTRIBUTE_LINK_INFO,