Opening a volume that is not mounted fails
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
The Leprechaun project |
Fix Released
|
Medium
|
Olivier Tilloy | ||
The Upicek project |
Won't Fix
|
Undecided
|
Unassigned | ||
Unity |
Invalid
|
Undecided
|
Unassigned | ||
unity (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: unity
If nautilus is not launched when the session is started, removable devices won’t auto-mount.
Plugging in a removable device will append an icon in the launcher, but clicking this icon will fail to open the file manager to browse this device.
The reason is that the code for open_volume() in places-
To reproduce, one should make sure that nautilus is not launched when the session is started by removing 'filemanager' from the GConf key /desktop/
ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: unity 0.2.46-0ubuntu5
ProcVersionSign
Uname: Linux 2.6.35-22-generic x86_64
NonfreeKernelMo
Architecture: amd64
Date: Wed Nov 17 13:37:00 2010
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 10.10 "Maverick Meerkat" - Alpha amd64 (20100926)
ProcEnviron:
LANG=fr_FR.utf8
SHELL=/bin/bash
SourcePackage: unity
Changed in leprechaun: | |
assignee: | nobody → Olivier Tilloy (osomon) |
importance: | Undecided → Medium |
milestone: | none → m1 |
status: | New → Confirmed |
Changed in leprechaun: | |
status: | Confirmed → In Progress |
tags: | added: patch |
Changed in leprechaun: | |
status: | In Progress → Fix Committed |
Changed in unity: | |
status: | New → Confirmed |
Changed in unity (Ubuntu): | |
status: | New → Confirmed |
Changed in leprechaun: | |
status: | Fix Committed → Fix Released |
Changed in unity: | |
status: | Invalid → Confirmed |
Changed in unity: | |
status: | Confirmed → Invalid |
Changed in unity (Ubuntu): | |
status: | Confirmed → Invalid |
The attached patch solves the problem by monitoring the mounts added and continuing the open operation once the volume is mounted.
Note that I’m not fluent in Vala and as you can see I couldn’t find a way to connect a callback to the volume. mount.begin( …) method, so I had to work around it by monitoring all mount added signals and matching the volume against the volume being mounted. Suggestions on how to achieve this in a more elegant manner are welcome.