I've just run under gdb, with /etc/passwd giving a non-existent home
dir.  The first warning about not being able to create ~/.gnome2 comes
from within gnome_vfs_init().  The `hash_table != NULL' assertion
failure comes from within gnome_vfs_transform_get("file").  Ah, I see
that gnome_vfs_init returns a boolean indicating success or not, which
Inkscape is ignoring.  It would be nice if gnome_vfs_init documentation
were explicit in saying that one shouldn't call other gnome_vfs
functions if it returns false.  (E.g. copy from gnome_vfs_initialized
documentation.)

I suggest that the fix is to search Inkscape source for use of
gnome-vfs, and make them all conditional on gnome_vfs_initialized()
(falling back to the corresponding !WITH_GNOME_VFS behaviour if not
initialized).

See also http://bugzilla.gnome.org/show_bug.cgi?id=340234, requesting
that gnome-vfs not require $HOME to be writable (or rather not requiring
~/.gnome2 to exist or something).

As for whether Inkscape should test $HOME before calling g_get_home_dir,
that's (in effect) being discussed at
http://bugzilla.gnome.org/show_bug.cgi?id=142568 (discussing the desired
behaviour/documentation for g_get_home_dir).  It has been suggested in
that discussion that ignoring $HOME is a good thing; so I suggest
waiting a bit to see how that discussion develops before changing
inkscape to prefer $HOME over g_get_home_dir.  (FWIW, my current opinion
is that we should prefer $HOME over getpwent, but I'll see what further
evidence gets posted to that discussion.)

pjrm.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to