Re: [Bug 161797] Save as... fails in win32 when curdir is on server



On Mon, 2005-01-03 at 13:22 -0500, Owen Taylor wrote: 
> > Would be fine, but is it a problem that there is no space for
> > extension in GtkFileSystemIface? 
> 
> Well, it's semi-public, so we could break binary compatibility in HEAD,
> but interfaces actually don't need padding, since there is no
> derivation.
> 
> You can simply add new method to the end and they just won't be set
> for old class implementations. You do have to check for NULL to preserve
> compatibility of course.

We did this once for GtkFileSystemIface and its is_finished_loading
method.  The implementation of gtk_file_folder_is_finished_loading has
this:

  if (!GTK_FILE_FOLDER_GET_IFACE (folder)->is_finished_loading)
    return TRUE;
  else
    return GTK_FILE_FOLDER_GET_IFACE (folder)->is_finished_loading (folder);

We can do the same thing for new methods.

So, we have these issues:

1. Comparing paths in a filesystem-specific way.

2. Getting special folders (Desktop, etc.).

(1) is easy, as we just need to add a vmethod to the Iface.

For (2) we already have a little bunch of g_get_foo_dir() functions in
Glib, and perhaps we don't want to just pile in more functions to get
the Desktop, Documents, etc.  This also ties in with the discussion in
desktop-devel-list about how to translate directory names in Unix.

  Federico




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]