On 24 Nov 2003, W. Michael Petullo wrote: >> Two so far: Shouldn't Gnome fall back on normal file opening if VFS >> fails? > > I'm of the opinion that it should not. GNOME's VFS is a pretty > fundamental module within the desktop. If file:///foo.dia can't be > opened then I think it should be assumed that it doesn't exist. Falling > back to stdio seems like it would just add complexity.
Not if VFS lookup fails, but if VFS itself fails to load. The #define GNOME area in your patch just bails out when it can't find VFS, where it could just fall back on ordinary fopen. >> And the bit about creating a tmp file is the way it is for Win32 >> compatibility. > > The new code will have to be used when GNOME is #define'd until I find > a gsf/gnomevfs-happy mkstemp. I'll put the Win32 code back in as the > default, though. Good. I don't think Gnome exists under Win32, anyway. >> The import and export filters ought to be redone to call just one file >> opening function, then. We don't want to have this complexity in 15 >> different places. > > Right. I did a quick analysis of dia's plugins and this is what I > discovered: > > Type File Import/Export Interface > ==== ==== ============= ========= > png export_png.c export libpng > (need to use png_set_read_fn) > ps diapsrenderer.c export fprintf > cgm plugins/cgm export putc > dxf plugins/dxf both fprintf/fgets > hpgl plugins/hpgl export fprintf > metapost plugins/metapost export fprintf > pixbuf plugins/pixbuf both gdk_pixbuf_save/ > gdk_pixbuf_new_from_file > pstricks plugins/pstricks export fprintf > shape plugins/svg export libxml2? > svg plugins/svg both libxml2? > wpg plugins/wpg export fwrite > xfig plugins/xfig both fprintf/fscanf > xslt plugins/xslt both libxml2? > > Since most plugins use stdio, I think I should write a #ifdef'ed > mini-library that provides GNOME VFS if available but falls back on > direct stdio. All of these modules could then cleanly use that code. > And the exceptions (like export_png.c/libpng and pixbuf/gdk_pixbuf_save) > could be provided a couple of lines of wrapper to glue them in. > > The result should be little or no #ifdef's in plugin code. Oh, it doesn't just open a FILE*? That's annoying. But if you can make a clean wrapper, that'll be fine. -Lars -- Lars Clausen (http://shasta.cs.uiuc.edu/~lrclause)| HÃrdgrim of Numenor "I do not agree with a word that you say, but I |---------------------------- will defend to the death your right to say it." | Where are we going, and --Evelyn Beatrice Hall paraphrasing Voltaire | what's with the handbasket? _______________________________________________ Dia-list mailing list [EMAIL PROTECTED] http://mail.gnome.org/mailman/listinfo/dia-list FAQ at http://www.lysator.liu.se/~alla/dia/faq.html Main page at http://www.lysator.liu.se/~alla/dia
