gio, gvfs and nautilus fixes



Hey,

Here's a couple of patches for gio, gvfs and Nautilus. The description
is in the ChangeLog for each module. Some comments

 - I'm unsure my fix for nautilus_file_get_mount() is correct and I'm
   not sure what it's supposed to do. My assumption is that it will
   return a GMount for every file on a GMount. The older version only
   did this for the root folder. My fix is provably not correct; we
   may not have created NautilusFile objects to get to the root. One way
   of testing this is to have some removable media with a DCIM/
   directory in the root; for every folder you go into you should see
   a cluebar. Without this fix you will only see it for the root folder
   of the mount.

 - Autorunning was broken; this patch unbreaks it by moving the call
   to inhibit into only selected call sites. One thing we can't fix
   is when you mount from computer:// because it runs in another
   process. Ideas on how to fix this?

 - g_file_find_enclosing_mount() for GDaemonFile was broken. We just
   cannot construct a new GMount on the fly as it won't have the
   the reference to a foreign GVolume that adopted it. My attempt
   to fix this involves a global variable; it's probably safe as
   GDaemonVolumeMonitor is a singleton anyway. It's not pretty though.
   But it works.

 - Before the feature freeze I commited half of the gphoto2 support
   namely the bits in the volume monitor to create, maintain and
   destroy GVolume for connected cameras. This patch is the second
   half, the actual filesystem code. It's lacking write support
   at the moment but is otherwise in pretty good shape (barring
   crashes in libgphoto2; it doesn't like my Sandisk Sansa MTP
   device that much).

   So this part of the patch set falls into a grey area wrt feature
   freeze; technically it's just a bug fix (shipping gvfs without
   it will appear broken as you can see the GVolume objects for
   the cameras.. but you have no filesystem code for it!) but I guess
   asking the release team whether it's OK to commit may be in order.
   Shrug.

 - For thumbnailing gvfs mounts you need a libgnomeui patch in
   http://bugzilla.gnome.org/show_bug.cgi?id=517276
   There's a few cosmetic details that needs to be cleaned up but
   by and far it works very well. Bastien says a gstreamer with
   gio support release is imminent - when that happens one should
   be able to preview audio from cdda:// mounts!

More details in the ChangeLog's. Thanks for reviewing this.

     David

$ diffstat gio-fixes.patch
 ChangeLog             |   39 ++++++++++++
 gcontenttype.c        |   36 ++++++++++-
 gfile.c               |  162 ++++++++++++++++++++++++++++++++++++++++++++++++++
 gfile.h               |   24 ++++++-
 gfileinfo.h           |   26 ++++++++
 gio.symbols           |    3 
 glocalfileinfo.c      |   59 ++++++------------
 gthemedicon.c         |   22 ++++++
 gthemedicon.h         |    1 
 gunionvolumemonitor.c |   48 ++++++++------
 gvolumemonitor.c      |    2 
 gvolumemonitor.h      |    2 
 12 files changed, 359 insertions(+), 65 deletions(-)

$ diffstat gvfs-fixes.patch
 ChangeLog                     |   43 +
 client/gdaemonfile.c          |    7 
 client/gdaemonvolumemonitor.c |   28 
 client/gdaemonvolumemonitor.h |    3 
 configure.ac                  |   38 +
 daemon/Makefile.am            |   24 
 daemon/gphoto2.mount.in       |    4 
 daemon/gvfsbackendcdda.c      |  168 ++++-
 daemon/gvfsbackendgphoto2.c   | 1405 ++++++++++++++++++++++++++++++++++++++++++
 daemon/gvfsbackendgphoto2.h   |   51 +
 hal/ghaldrive.c               |   47 -
 hal/ghalmount.c               |   40 +
 hal/ghalvolume.c              |  113 ++-
 hal/ghalvolumemonitor.c       |   52 +
 hal/ghalvolumemonitor.h       |    5 
 hal/hal-pool.c                |    6 
 16 files changed, 1970 insertions(+), 64 deletions(-)

$ diffstat nautilus-fixes.patch
 ChangeLog                                        |   48 +++++
 libnautilus-private/nautilus-autorun.c           |   16 +
 libnautilus-private/nautilus-directory-async.c   |  214 ++++++++++++++++++++++-
 libnautilus-private/nautilus-directory-private.h |    6 
 libnautilus-private/nautilus-file-attributes.h   |    1 
 libnautilus-private/nautilus-file-operations.c   |    1 
 libnautilus-private/nautilus-file-private.h      |    4 
 libnautilus-private/nautilus-file.c              |   97 +++++++++-
 libnautilus-private/nautilus-file.h              |    1 
 src/file-manager/fm-directory-view.c             |    8 
 src/file-manager/fm-icon-view.c                  |   20 +-
 src/nautilus-places-sidebar.c                    |    2 
 src/nautilus-window-manage-views.c               |    2 
 13 files changed, 395 insertions(+), 25 deletions(-)





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