diff --git a/kdelibs-udisks2-backend.patch b/kdelibs-udisks2-backend.patch index 7489a93..913a9bf 100644 --- a/kdelibs-udisks2-backend.patch +++ b/kdelibs-udisks2-backend.patch @@ -359,7 +359,7 @@ index 0000000..19cb70a +#endif // UDISKS2BLOCK_H diff --git a/tier1/solid/src/solid/backends/udisks2/udisksdevice.cpp b/tier1/solid/src/solid/backends/udisks2/udisksdevice.cpp new file mode 100644 -index 0000000..fb74fa2 +index 0000000..3076278 --- /dev/null +++ b/tier1/solid/src/solid/backends/udisks2/udisksdevice.cpp @@ -0,0 +1,910 @@ @@ -522,7 +522,7 @@ index 0000000..fb74fa2 + case Solid::DeviceInterface::GenericInterface: + return true; + case Solid::DeviceInterface::Block: -+ return isBlock(); ++ return isBlock() || isDrive(); + case Solid::DeviceInterface::StorageVolume: + return isStorageVolume(); + case Solid::DeviceInterface::StorageAccess: @@ -1708,10 +1708,10 @@ index 0000000..d225f32 +#endif // SOLID_BACKENDS_UDISKS2_GENERICINTERFACE_H diff --git a/tier1/solid/src/solid/backends/udisks2/udisksmanager.cpp b/tier1/solid/src/solid/backends/udisks2/udisksmanager.cpp new file mode 100644 -index 0000000..0a77c16 +index 0000000..de7d564 --- /dev/null +++ b/tier1/solid/src/solid/backends/udisks2/udisksmanager.cpp -@@ -0,0 +1,227 @@ +@@ -0,0 +1,231 @@ +/* + Copyright 2012 Lukáš Tinkl + @@ -1891,6 +1891,7 @@ index 0000000..0a77c16 + + // new device, we don't know it yet + if (!m_deviceCache.contains(udi)) { ++ qDebug() << "ADDING NEW DEVICE" << udi; + m_deviceCache.append(udi); + Q_EMIT deviceAdded(udi); + } @@ -1905,6 +1906,7 @@ index 0000000..0a77c16 + Device device(udi); + + if (!udi.isEmpty() && (interfaces.isEmpty() || device.interfaces().isEmpty() || device.interfaces().contains(UD2_DBUS_INTERFACE_FILESYSTEM))) { ++ qDebug() << "REMOVING DEVICE" << udi; + Q_EMIT deviceRemoved(udi); + m_deviceCache.removeAll(udi); + } @@ -1922,11 +1924,13 @@ index 0000000..0a77c16 + qDebug() << "MEDIA CHANGED in" << udi << "; size is:" << size; + + if (!m_deviceCache.contains(udi) && size > 0) { // we don't know the optdisc, got inserted ++ qDebug() << "ADDING NEW OPTDISC" << udi; + m_deviceCache.append(udi); + Q_EMIT deviceAdded(udi); + } + + if (m_deviceCache.contains(udi) && size == 0) { // we know the optdisc, got removed ++ qDebug() << "REMOVING OPTDISC" << udi; + Q_EMIT deviceRemoved(udi); + m_deviceCache.removeAll(udi); + } @@ -2689,10 +2693,10 @@ index 0000000..4c98ef5 +#endif // UDISKS2OPTICALDRIVE_H diff --git a/tier1/solid/src/solid/backends/udisks2/udisksstorageaccess.cpp b/tier1/solid/src/solid/backends/udisks2/udisksstorageaccess.cpp new file mode 100644 -index 0000000..c2af2b0 +index 0000000..ec18369 --- /dev/null +++ b/tier1/solid/src/solid/backends/udisks2/udisksstorageaccess.cpp -@@ -0,0 +1,360 @@ +@@ -0,0 +1,362 @@ +/* + Copyright 2009 Pino Toscano + Copyright 2009-2012 Lukáš Tinkl @@ -2869,7 +2873,9 @@ index 0000000..c2af2b0 + if (!drivePath.isEmpty() || drivePath != "/") + { + Device drive(drivePath); -+ if (drive.prop("Ejectable").toBool() && !m_device->isOpticalDisc()) // optical drives have their Eject method ++ if (drive.prop("Ejectable").toBool() && ++ drive.prop("MediaAvailable").toBool() && ++ !m_device->isOpticalDisc()) // optical drives have their Eject method + { + QDBusConnection c = QDBusConnection::systemBus(); + QDBusMessage msg = QDBusMessage::createMethodCall(UD2_DBUS_SERVICE, drivePath, UD2_DBUS_INTERFACE_DRIVE, "Eject"); diff --git a/kdelibs.spec b/kdelibs.spec index 7a4e62e..a651ff3 100644 --- a/kdelibs.spec +++ b/kdelibs.spec @@ -25,7 +25,7 @@ Summary: KDE Libraries Version: 4.8.97 -Release: 3%{?dist} +Release: 5%{?dist} Name: kdelibs Epoch: 6 @@ -628,6 +628,10 @@ rm -rf %{buildroot} %changelog +* Wed Jul 18 2012 Lukas Tinkl - 6:4.8.97-5 +- respin the udisks2 backend patch +- fix k3b not recognizing any CD/DVD burning device + * Fri Jul 13 2012 Rex Dieter - 6:4.8.97-4 - CD drive tray goes back in after 'Eject' when dolphin is running (kde#296657, #811609)