diff --git a/gnome/ChangeLog b/gnome/ChangeLog index 4e5fe4b9b..c243f6cb1 100644 --- a/gnome/ChangeLog +++ b/gnome/ChangeLog @@ -1,5 +1,9 @@ 1999-02-28 Miguel de Icaza + * gdesktop.c (desktop_icon_info_open): Ugly. Needs to share more + code here. Use the metadata first, and the is_exe to find out how + to launch an application. + * gnome-file-property-dialog.c (perm_group_new): Check the return value of getgrgid. (perm_group_new): Do not use a grp if it does not exist. diff --git a/gnome/gdesktop.c b/gnome/gdesktop.c index 37742b6fd..90bba474c 100644 --- a/gnome/gdesktop.c +++ b/gnome/gdesktop.c @@ -1091,10 +1091,23 @@ desktop_icon_info_open (DesktopIconInfo *dii) new_panel_at (point); g_free (point); } else { + int size; + char *buf; + + if (gnome_metadata_get (filename,"fm-open", &size, &buf) == 0){ + g_free (buf); + gmc_open_filename (filename, NULL); + return; + } + + if (gnome_metadata_get (filename, "open", &size, &buf) == 0){ + g_free (buf); + gmc_open_filename (filename, NULL); + return; + } + if (is_exe (fe->buf.st_mode) && if_link_is_exe (desktop_directory, fe)){ int needs_terminal = 0; - int size; - char *buf; if (gnome_metadata_get (filename, "flags", &size, &buf) == 0){ needs_terminal = strstr (buf, "needsterminal") != 0;