Re: Are GnomeVFSVolume pointers supposed to be unique?



On Tue, 2007-10-23 at 12:50 -0500, Federico Mena Quintero wrote:

> When it says "Creating desktop link", it is the initial pass in
> nautilus-desktop-link-monitor that calls
> gnome_vfs_volume_monitor_get_mounted_volumes().  You can see that it
> gives us a GnomeVFSVolume* equal to 0x81ba330, for a certain HAL UDI.
> 
> Later, we get a "volume mounted" signal for the *same* HAL UDI, but we
> get a different GnomeVFSVolume* of 0x81f37d0.  The code in Nautilus then
> gets quite confused, since it assumes that GnomeVFSVolume pointers
> identify volumes uniquely.  Is this assumption correct?
> 
> I haven't finished digging into the gnome-vfs code yet, but
> gnome-vfs-volume-monitor-client.c is decoding a volume from the DBus
> signal, and indeed it creates a new volume object.  So I don't know if
> the daemon should be uniquifying the volumes, or not re-sending "volume
> mounted" signals for volumes that are already mounted, or if Nautilus's
> assumptions are just wrong.  Does anyone know what's the intended
> behavior here?

Well, for a given volume monitor, the volume pointers should at any time
identify a volume uniquely. However, if it is unmounted and then mounted
again it will have another identity.

Is that what is happening? Or is it getting a "mounted" even when its
already been added to the list of mounted volumes in the monitor?




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