[kdelibs] respin the udisks2 backend patch

Lukas Tinkl ltinkl at fedoraproject.org
Wed Jul 18 07:09:00 UTC 2012


commit 18c6ca619e1d136f1f86d2f4f1fd08a57bd62e8f
Author: Lukas Tinkl <lukas at kde.org>
Date:   Wed Jul 18 09:08:53 2012 +0200

    respin the udisks2 backend patch
    
    - fix k3b not recognizing any CD/DVD burning device

 kdelibs-udisks2-backend.patch |   20 +++++++++++++-------
 kdelibs.spec                  |    6 +++++-
 2 files changed, 18 insertions(+), 8 deletions(-)
---
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 <ltinkl at redhat.com>
 +
@@ -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 <pino at kde.org>
 +    Copyright 2009-2012 Lukáš Tinkl <ltinkl at redhat.com>
@@ -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 <ltinkl at redhat.com> - 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 <rdieter at fedoraproject.org> - 6:4.8.97-4
 - CD drive tray goes back in after 'Eject' when dolphin is running (kde#296657, #811609)
 


More information about the scm-commits mailing list