diff --git a/src/kits/tracker/AutoMounter.cpp b/src/kits/tracker/AutoMounter.cpp index bf018f211a..c9952f3e0a 100644 --- a/src/kits/tracker/AutoMounter.cpp +++ b/src/kits/tracker/AutoMounter.cpp @@ -85,12 +85,14 @@ AutoMounter::AutoMounter() fRemovableMode = kNoVolumes; } + BDiskDeviceRoster().StartWatching(this, B_DEVICE_REQUEST_DEVICE); PostMessage(kMsgInitialScan); } AutoMounter::~AutoMounter() { + BDiskDeviceRoster().StopWatching(this); } @@ -629,6 +631,16 @@ AutoMounter::MessageReceived(BMessage* message) _MountVolumes(kAllVolumes, kAllVolumes, false); break; + case B_DEVICE_UPDATE: + message->PrintToStream(); + int32 event; + if (message->FindInt32("event", &event) != B_OK + || event != B_DEVICE_MEDIA_CHANGED) + break; + + _MountVolumes(kNoVolumes, fRemovableMode, false); + break; + #if 0 case B_NODE_MONITOR: {