diff --git a/src/servers/mount/AutoMounter.cpp b/src/servers/mount/AutoMounter.cpp index 8248ed706e..74545f15b6 100644 --- a/src/servers/mount/AutoMounter.cpp +++ b/src/servers/mount/AutoMounter.cpp @@ -616,11 +616,15 @@ void AutoMounter::_UnmountAndEjectVolume(BPartition* partition, BPath& mountPoint, const char* name) { - BDiskDevice device; + BDiskDevice deviceStorage; + BDiskDevice* device; if (partition == NULL) { // Try to retrieve partition BDiskDeviceRoster().FindPartitionByMountPoint(mountPoint.Path(), - &device, &partition); + &deviceStorage, &partition); + device = &deviceStorage; + } else { + device = partition->Device(); } status_t status; @@ -678,10 +682,10 @@ AutoMounter::_UnmountAndEjectVolume(BPartition* partition, BPath& mountPoint, bool fHasMounted; } visitor; - partition->Device()->VisitEachDescendant(&visitor); + device->VisitEachDescendant(&visitor); if (!visitor.HasMountedPartitions()) - partition->Device()->Eject(); + device->Eject(); } // remove the directory if it's a directory in rootfs diff --git a/src/servers/mount/Jamfile b/src/servers/mount/Jamfile index 15fa0d58b7..469feef6c7 100644 --- a/src/servers/mount/Jamfile +++ b/src/servers/mount/Jamfile @@ -3,8 +3,8 @@ SubDir HAIKU_TOP src servers mount ; UsePrivateHeaders mount shared storage ; Server mount_server - : - AutoMounter.cpp + : + AutoMounter.cpp # AutoMounterSettings.cpp : libbe.so localestub