GNOME Bugzilla – Bug 607829
sawfish doesn't start if a desktop file contains an error
Last modified: 2011-02-20 20:50:21 UTC
If any desktop file should happen to contain an error, such as a leading semicolon in the category list, sawfish won't start, and gives an error about end of input (not naming the faulty file). Although the desktop files should be fixed, it's not always possible (e.g. a user might not have root access)... Maybe the parsing could be made more robust?
Created attachment 152072 [details] A .desktop file that causes sawfish to fail. This is a .desktop file that causes sawfish to give up and not load. It is taken from the old package of the Mandriva prboom.
Thanks for the catch. I've just commited a patch by Matthew Love (the contributor who volounteered the apps-menu), which should fix the issue. Can you give it a try?
The patch is available at: http://mail.gnome.org/archives/sawfish-list/2010-February/msg00031.html Save the file somewhere, and do $ cd /usr/share/sawfish/1.6.x/ $ patch -p1 < [patch-file-name] and restart Sawfish. I think we can release the Sawfish-1.6.2 which contains the above fix this month. Thanks.
Oops, if *.desktop is not readable, like by a broken symlink, Sawfish still doesn't start, but it'll be fixed.
O.K. current HEAD does no longer crash on non-readable files. actually it doesn't crash, it "just" stops the startup-process. Symlinks should also be no problem, neither normal, circular nor broken. But I haven't do any testing on hardlinks.
Now we think the fix is complete. The latest code is available in git: http://git.gnome.org/browse/sawfish/tree/lisp/sawfish/wm/ext/apps-menu.jl For Sawfish-1.6.2 release, sorry, it may not be so soon.