¡Hola Debian!

El 2017-04-09 a las 16:45 +0200, Maximiliano Curia escribió:
I'm attaching the corresponding debdiff.

Attaching now.

Happy hacking,
--
"Las computadoras son inútiles, solo pueden darte respuestas."
-- Pablo Picasso
Saludos /\/\ /\ >< `/
diff -Nru solid-5.28.0/debian/changelog solid-5.28.0/debian/changelog
--- solid-5.28.0/debian/changelog       2016-11-30 15:57:09.000000000 +0100
+++ solid-5.28.0/debian/changelog       2017-04-08 19:58:03.000000000 +0200
@@ -1,3 +1,17 @@
+solid (5.28.0-3) unstable; urgency=medium
+
+  * Pick "Work round DBus property fetching bug" (6f1c6dc)
+    Workaround for a qt5 dbus property issue.
+    Add upstream patch as: Work-round-DBus-property-fetching-bug.patch
+    This fixes KDE#345871
+  * Pick "[UDisks 2 Device] Add description for Floppy Disk" (d92588b)
+    Floppy disks now show up as "Floppy Disk" instead of "0 B Removable
+    Media"
+    Add upstream patch as:
+     UDisks-2-Device-Add-description-for-Floppy-Disk.patch
+
+ -- Maximiliano Curia <m...@debian.org>  Sat, 08 Apr 2017 19:58:03 +0200
+
 solid (5.28.0-2) unstable; urgency=medium
 
   * Add patch: fix-FTBFS-on-mipsel-and-m68k-src-solid-predicate_parser.c.patch.
diff -Nru solid-5.28.0/debian/patches/series solid-5.28.0/debian/patches/series
--- solid-5.28.0/debian/patches/series  2016-11-30 15:57:09.000000000 +0100
+++ solid-5.28.0/debian/patches/series  2017-04-08 19:58:03.000000000 +0200
@@ -1,2 +1,4 @@
 use_shortest_filepath.diff
 fix-FTBFS-on-mipsel-and-m68k-src-solid-predicate_parser.c.patch
+Work-round-DBus-property-fetching-bug.patch
+UDisks-2-Device-Add-description-for-Floppy-Disk.patch
diff -Nru 
solid-5.28.0/debian/patches/UDisks-2-Device-Add-description-for-Floppy-Disk.patch
 
solid-5.28.0/debian/patches/UDisks-2-Device-Add-description-for-Floppy-Disk.patch
--- 
solid-5.28.0/debian/patches/UDisks-2-Device-Add-description-for-Floppy-Disk.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
solid-5.28.0/debian/patches/UDisks-2-Device-Add-description-for-Floppy-Disk.patch
   2017-04-08 19:58:03.000000000 +0200
@@ -0,0 +1,26 @@
+From: Kai Uwe Broulik <k...@privat.broulik.de>
+Date: Sat, 11 Feb 2017 17:06:15 +0100
+Subject: [UDisks 2 Device] Add description for Floppy Disk
+
+Ensures a floppy disk shows up as "Floppy Disk" instead of "0 Byte Removable 
Media"
+
+CHANGELOG: Floppy disks now show up as "Floppy Disk" instead of "0 B Removable 
Media"
+
+Differential Revision: https://phabricator.kde.org/D4570
+---
+ src/solid/devices/backends/udisks2/udisksdevice.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/solid/devices/backends/udisks2/udisksdevice.cpp 
b/src/solid/devices/backends/udisks2/udisksdevice.cpp
+index 5208ece..b0a6b51 100644
+--- a/src/solid/devices/backends/udisks2/udisksdevice.cpp
++++ b/src/solid/devices/backends/udisks2/udisksdevice.cpp
+@@ -573,6 +573,8 @@ QString Device::volumeDescription() const
+                 description = tr("Hard Drive");
+             }
+         }
++    } else if (drive_type == Solid::StorageDrive::Floppy) {
++        description = tr("Floppy Disk");
+     } else {
+         if (drive_is_removable) {
+             description = tr("%1 Removable Media", "%1 is the 
size").arg(size_str);
diff -Nru 
solid-5.28.0/debian/patches/Work-round-DBus-property-fetching-bug.patch 
solid-5.28.0/debian/patches/Work-round-DBus-property-fetching-bug.patch
--- solid-5.28.0/debian/patches/Work-round-DBus-property-fetching-bug.patch     
1970-01-01 01:00:00.000000000 +0100
+++ solid-5.28.0/debian/patches/Work-round-DBus-property-fetching-bug.patch     
2017-04-08 19:58:03.000000000 +0200
@@ -0,0 +1,68 @@
+From: David Edmundson <k...@davidedmundson.co.uk>
+Date: Fri, 27 Jan 2017 09:11:17 +0000
+Subject: Work round DBus property fetching bug
+
+Summary:
+property() works in a slightly different way to just calling Get().
+It allocates the variant of the relevant type in advance in QObject
+code, and then calls
+the DBus code to populate it.
+
+This fails for QByteArrayList, before it reaches DBus code.
+I don't know why, but we need a wokraround in Solid anyway.
+
+>From a DBus traffic perspective this code is identical, we just avoid
+going through Qt properties.
+
+This shouldn't introduce any new bugs, as we already use GetAll
+directly, if anything this brings it more
+in line.
+
+BUG: 345871
+
+Test Plan:
+Commented out the checkCache so that it always loads data.
+Instead of failing, it now works.
+
+Subscribers: #frameworks
+
+Tags: #frameworks
+
+Differential Revision: https://phabricator.kde.org/D4305
+---
+ .../backends/udisks2/udisksdevicebackend.cpp       | 22 +++++++++++++---------
+ 1 file changed, 13 insertions(+), 9 deletions(-)
+
+diff --git a/src/solid/devices/backends/udisks2/udisksdevicebackend.cpp 
b/src/solid/devices/backends/udisks2/udisksdevicebackend.cpp
+index c49001f..eaaa307 100644
+--- a/src/solid/devices/backends/udisks2/udisksdevicebackend.cpp
++++ b/src/solid/devices/backends/udisks2/udisksdevicebackend.cpp
+@@ -182,15 +182,19 @@ void DeviceBackend::checkCache(const QString &key) const
+         return;
+     }
+ 
+-    QVariant reply = m_device->property(key.toUtf8());
+-    m_propertyCache.insert(key, reply);
+-
+-    if (!reply.isValid()) {
+-        /* Store the item in the cache anyway so next time we don't have to
+-         * do the DBus call to find out it does not exist but just check 
whether
+-         * prop(key).isValid() */
+-//         qDebug() << m_udi << ": property" << key << "does not exist";
+-    }
++    QDBusMessage call = QDBusMessage::createMethodCall(UD2_DBUS_SERVICE, 
m_udi, DBUS_INTERFACE_PROPS, "Get");
++    /*
++     * Interface is set to an empty string as in this QDBusInterface is a 
meta-object of multiple interfaces on the same path
++     * The DBus properties also interface supports this, and will find the 
appropriate interface if none is explicitly set.
++     * This matches what QDBusAbstractInterface would do
++     */
++    call.setArguments(QVariantList() << QString() << key);
++    QDBusPendingReply<QVariant> reply = 
QDBusConnection::systemBus().call(call);
++
++    /* We don't check for error here and store the item in the cache anyway 
so next time we don't have to
++     * do the DBus call to find out it does not exist but just check whether
++     * prop(key).isValid() */
++    m_propertyCache.insert(key, reply.value());
+ }
+ 
+ void DeviceBackend::slotPropertiesChanged(const QString &ifaceName, const 
QVariantMap &changedProps, const QStringList &invalidatedProps)

Attachment: signature.asc
Description: PGP signature

Reply via email to