Re: How to remove a monitor before unmounting?



On Sun, 2009-02-22 at 23:42 -0500, Joe Marcus Clarke wrote:
> On Tue, 2009-02-17 at 12:00 +0100, Alexander Larsson wrote:
> > nautilus-application.c:finish_startup() connects to it, and on
> > pre_unmount (and unmount) mount_removed_callback() gets called which
> > looks for windows in that mount.
> 
> Thanks, found it.  I keep forgetting that signals treat '-' and '_' as
> the same character.  I don't see where the monitor is being canceled in
> the pre-unmount path, though.  I do see where windows are closed, but I
> don't see where the finalizer cancels any pending file or directory
> monitors.  In fact, I only see monitors being removed after the mount
> has disappeared (and this is in GIO).
> 
> How should one cancel a monitor from nautilus-window or
> nautilus-application?

Well, its kinda indirect, but the general idea is:
window close -> view destroyed -> fm_directory_view_destroy ->
disconnect_model_handlers -> nautilus_directory_file_monitor_remove

This will remove the monitor on the file list, which should be the only
monitor so this will destroy the native monitor too.



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