Index: configure.in =================================================================== --- configure.in (revision 2210) +++ configure.in (working copy) @@ -18,13 +18,13 @@ dnl dnl ========================================================================== -GLIB_REQUIRED=2.12.0 +GLIB_REQUIRED=2.15.0 GTK_REQUIRED=2.10.0 LIBGNOME_REQUIRED=2.6.0 LIBGNOMEUI_REQUIRED=2.6.0 GNOME_VFS_REQUIRED=2.10.0 LIBGLADE_REQUIRED=2.4.0 -NAUTILUS_REQUIRED=2.10.0 +NAUTILUS_REQUIRED=2.22.1 AC_SUBST(GLIB_REQUIRED) AC_SUBST(GTK_REQUIRED) @@ -38,6 +38,7 @@ PKG_CHECK_MODULES(FR, \ glib-2.0 >= $GLIB_REQUIRED \ + gio-2.0 >= $GLIB_REQUIRED \ gthread-2.0 \ gtk+-2.0 >= $GTK_REQUIRED \ libgnome-2.0 >= $LIBGNOME_REQUIRED \ @@ -56,8 +57,8 @@ if test x"$enable_nautilus_actions" != xno; then if pkg-config --atleast-version=$NAUTILUS_REQUIRED libnautilus-extension; then - NAUTILUS_CFLAGS=`pkg-config --cflags libnautilus-extension glib-2.0 gnome-vfs-2.0` - NAUTILUS_LIBS=`pkg-config --libs libnautilus-extension glib-2.0 gnome-vfs-2.0` + NAUTILUS_CFLAGS=`pkg-config --cflags libnautilus-extension glib-2.0 gio-2.0` + NAUTILUS_LIBS=`pkg-config --libs libnautilus-extension glib-2.0 gio-2.0` build_nautilus_actions=yes fi fi Index: nautilus/nautilus-fileroller.c =================================================================== --- nautilus/nautilus-fileroller.c (revision 2210) +++ nautilus/nautilus-fileroller.c (working copy) @@ -24,9 +24,7 @@ #include #include #include -#include -#include -#include +#include #include #include #include @@ -204,34 +202,19 @@ return NULL; for (scan = files; scan; scan = scan->next) { - NautilusFileInfo *file = scan->data; + NautilusFileInfo *file = scan->data; - if (all_archives && ! is_archive (file)) - all_archives = FALSE; + if ((all_archives = is_archive (file)) == FALSE) + break; + if (can_write) { + NautilusFileInfo *parent; - if (can_write) { - char *parent_uri; - GnomeVFSFileInfo *info; - GnomeVFSResult result; + parent = nautilus_file_info_get_parent_info (file); + can_write = nautilus_file_info_can_write (parent); + } + } - parent_uri = nautilus_file_info_get_parent_uri (file); - info = gnome_vfs_file_info_new (); - - result = gnome_vfs_get_file_info (parent_uri, - info, - (GNOME_VFS_FILE_INFO_FOLLOW_LINKS - | GNOME_VFS_FILE_INFO_GET_ACCESS_RIGHTS)); - if ((result == GNOME_VFS_OK) && (info->valid_fields & GNOME_VFS_FILE_INFO_FIELDS_PERMISSIONS)) - can_write = (info->permissions & GNOME_VFS_PERM_ACCESS_WRITABLE) || (info->permissions & GNOME_VFS_PERM_USER_WRITE); - - gnome_vfs_file_info_unref (info); - g_free (parent_uri); - } - } - - /**/ - one_item = (files != NULL) && (files->next == NULL); one_archive = one_item && all_archives;