Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/efreet
Dir : e17/libs/efreet/src/lib
Modified Files:
efreet_desktop.c
Log Message:
makes efreet more forgiving of bad .desktops. we spew out a warning though.
===================================================================
RCS file: /cvs/e/e17/libs/efreet/src/lib/efreet_desktop.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- efreet_desktop.c 4 Nov 2007 12:29:36 -0000 1.29
+++ efreet_desktop.c 16 Nov 2007 02:35:01 -0000 1.30
@@ -1244,6 +1244,13 @@
p = strchr(p, '%');
}
+ /* NON-SPEC!!! this is to work around LOTS of 'broken' .desktop files that
+ * do not specify %U/%u, %F/F etc. etc. at all. just a command. this is
+ * unlikely to be fixed in distributions etc. in the long run as gnome/kde
+ * seem to have workarounds too so no one notices.
+ */
+ if (!flags) flags |= EFREET_DESKTOP_EXEC_FLAG_FULLPATH;
+
return flags;
}
@@ -1285,6 +1292,7 @@
Ecore_List *execs;
char *exec;
+ printf("efreet_desktop_command_build()\n");
execs = ecore_list_new();
ecore_list_first_goto(command->files);
@@ -1373,6 +1381,32 @@
p++;
}
+ /* NON-SPEC!!! this is to work around LOTS of 'broken' .desktop files
that
+ * do not specify %U/%u, %F/F etc. etc. at all. just a command. this is
+ * unlikely to be fixed in distributions etc. in the long run as
gnome/kde
+ * seem to have workarounds too so no one notices.
+ */
+ if ((file) && (!file_added))
+ {
+ printf("EFREET WARNING:\n"
+ " %s\n"
+ "command:\n"
+ " %s\n"
+ "has no file path/uri spec info for executing this app WITH
a\n"
+ "file/uri as a parameter. This is unlikely to be the
intent.\n"
+ "please check the .desktop file and fix it by adding a %%U
or %%F\n"
+ "or something.",
+ command->desktop->orig_path, command->desktop->exec);
+ if (len >= size - 1)
+ {
+ size = len + 1024;
+ exec = realloc(exec, size);
+ }
+ exec[len++] = ' ';
+ exec = efreet_desktop_command_append_multiple(exec, &size,
+ &len, command, 'F');
+ file_added = 1;
+ }
exec[len++] = '\0';
ecore_list_append(execs, exec);
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs