kdelibs/kdelibs-4.9.1-udisks_detatc...

20 lines
1.3 KiB
Diff

diff -up kdelibs-4.9.1/solid/solid/backends/udisks/udisksstorageaccess.cpp.solid-detach-external-hdd kdelibs-4.9.1/solid/solid/backends/udisks/udisksstorageaccess.cpp
--- kdelibs-4.9.1/solid/solid/backends/udisks/udisksstorageaccess.cpp.solid-detach-external-hdd 2012-08-28 15:37:29.000000000 +0200
+++ kdelibs-4.9.1/solid/solid/backends/udisks/udisksstorageaccess.cpp 2012-09-04 12:18:00.030489289 +0200
@@ -199,7 +199,14 @@ void UDisksStorageAccess::slotDBusReply(
QDBusMessage msg = QDBusMessage::createMethodCall(UD_DBUS_SERVICE, drivePath, UD_DBUS_INTERFACE_DISKS_DEVICE, "DriveEject");
msg << QStringList(); // options, unused now
c.call(msg, QDBus::NoBlock);
- }
+ // power down removable USB hard drives, rhbz#852196
+ UDisksDevice drive(drivePath);
+ if (drive.prop("DriveCanDetach").toBool()) {
+ QDBusMessage msg2 = QDBusMessage::createMethodCall(UD_DBUS_SERVICE, drivePath, UD_DBUS_INTERFACE_DISKS_DEVICE, "DriveDetach");
+ msg2 << QStringList(); // options, unused now
+ c.call(msg2, QDBus::NoBlock);
+ }
+ }
m_teardownInProgress = false;
m_device->broadcastActionDone("teardown");