gnome-vfs freeze break request - executable files
- From: Alexander Larsson <alexl redhat com>
- To: "gnome-vfs-list gnome org" <gnome-vfs-list gnome org>, "release-team gnome org" <release-team gnome org>
- Cc:
- Subject: gnome-vfs freeze break request - executable files
- Date: Tue, 07 Sep 2004 15:49:04 +0200
Currently, all executable files in nautilus are launched when you open
them. This is quite bad, because normal files are sometimes executable.
Some filesystems such as FAT even show all files as executable.
This is a regression introduced by the new mimesystem. The new code
doesn't implement the can_be_executable check, nor mime_type_is_known,
which are both needed for nautilus to work correctly here.
This patch fixes this. Ok to commit?
Index: libgnomevfs/gnome-vfs-mime-info.c
===================================================================
RCS file: /cvs/gnome/gnome-vfs/libgnomevfs/gnome-vfs-mime-info.c,v
retrieving revision 1.79
diff -u -p -r1.79 gnome-vfs-mime-info.c
--- libgnomevfs/gnome-vfs-mime-info.c 26 Jul 2004 19:31:36 -0000 1.79
+++ libgnomevfs/gnome-vfs-mime-info.c 7 Sep 2004 13:43:49 -0000
@@ -561,6 +561,10 @@ gnome_vfs_mime_get_value (const char *mi
return entry->parent_classes;
} else if (!strcmp (key, "aliases")) {
return entry->aliases;
+ } else if (!strcmp (key, "can_be_executable")) {
+ if (gnome_vfs_mime_type_get_equivalence (mime_type, "application/x-executable") != GNOME_VFS_MIME_UNRELATED ||
+ gnome_vfs_mime_type_get_equivalence (mime_type, "text/plain") != GNOME_VFS_MIME_UNRELATED)
+ return "TRUE";
}
return NULL;
@@ -577,6 +581,8 @@ gnome_vfs_mime_get_value (const char *mi
gboolean
gnome_vfs_mime_type_is_known (const char *mime_type)
{
+ MimeEntry *entry;
+
if (mime_type == NULL) {
return FALSE;
}
@@ -589,7 +595,12 @@ gnome_vfs_mime_type_is_known (const char
reload_if_needed ();
- return FALSE;
+ entry = get_entry (mime_type);
+
+ /* TODO: Should look for aliases too, which needs
+ a alias -> mimetype mapping */
+
+ return entry != NULL;
}
/**
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Alexander Larsson Red Hat, Inc
alexl redhat com alla lysator liu se
He's a genetically engineered ninja master criminal on the wrong side of the
law. She's a chain-smoking mutant schoolgirl with her own daytime radio talk
show. They fight crime!
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]