Failing to handle already mounted with mount_enclosing_volume( )

Bug #1492472 reported by Chris Kilgour on 2015-09-04
26
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Steadyflow
Undecided
Unassigned

Bug Description

From launchpad questions:

When i add a download link it says download stopped: network error(Location is already mounted). I have changed location to home but it does not fixed. Now what can i do?

In some cases, GioDownloadFile.vala, line 163

yield remote.mount_enclosing_volume (MountMountFlags.NONE, mount_op);

throws an exception:

(gdb) p *_data_->_inner_error_
$6 = {domain = 864, code = 17,
  message = 0x8afd90 "Location is already mounted"}

Seems like steadyflow needs to catch this particular exception and not treat it as an error.

Douglas Fir (waldwuffel) wrote :

Here's a patch that picks up on Chris Kilgour's suggestion. It catches the Error, then simply continues.
This fixes the issue for me with HTTP downloads. Not sure I like it though because it might break something else: what if there really is an error?

I'd like to get some input from someone who is more experienced with the Vala File objects. Why does it even have to mount the remote File or its enclosing volume? I did some printf debugging which showed that the remote File's basename is just the file you try to download, but when I do get_path() I get null.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers