File solid_udisks_upower_fix_properties.diff of Package kdelibs4
diff --git a/solid/solid/backends/udisks/udisksdevice.cpp b/solid/solid/backends/udisks/udisksdevice.cpp
index 638531e..80ea072 100644
--- a/solid/solid/backends/udisks/udisksdevice.cpp
+++ b/solid/solid/backends/udisks/udisksdevice.cpp
@@ -706,6 +706,7 @@ QMap<QString, QVariant> UDisksDevice::allProperties() const
{
QDBusMessage call = QDBusMessage::createMethodCall(m_device->service(), m_device->path(),
"org.freedesktop.DBus.Properties", "GetAll");
+ call << m_device->interface();
QDBusPendingReply< QVariantMap > reply = QDBusConnection::systemBus().asyncCall(call);
reply.waitForFinished();
diff --git a/solid/solid/backends/udisks/udisksmanager.cpp b/solid/solid/backends/udisks/udisksmanager.cpp
index 01db48f..e18cc66 100644
--- a/solid/solid/backends/udisks/udisksmanager.cpp
+++ b/solid/solid/backends/udisks/udisksmanager.cpp
@@ -108,6 +108,9 @@ QStringList UDisksManager::devicesFromQuery(const QString& parentUdi, Solid::Dev
{
foreach (const QString &udi, deviceCache())
{
+ if (udi==udiPrefix())
+ continue;
+
UDisksDevice device(udi);
if (device.queryDeviceInterface(type) && device.parentUdi() == parentUdi)
result << udi;
@@ -119,6 +122,9 @@ QStringList UDisksManager::devicesFromQuery(const QString& parentUdi, Solid::Dev
{
foreach (const QString &udi, deviceCache())
{
+ if (udi==udiPrefix())
+ continue;
+
UDisksDevice device(udi);
if (device.queryDeviceInterface(type))
result << udi;
diff --git a/solid/solid/backends/upower/upowerdevice.cpp b/solid/solid/backends/upower/upowerdevice.cpp
index 0858f14..5b672c7 100644
--- a/solid/solid/backends/upower/upowerdevice.cpp
+++ b/solid/solid/backends/upower/upowerdevice.cpp
@@ -200,6 +200,7 @@ QMap<QString, QVariant> UPowerDevice::allProperties() const
{
QDBusMessage call = QDBusMessage::createMethodCall(m_device.service(), m_device.path(),
"org.freedesktop.DBus.Properties", "GetAll");
+ call << m_device.interface();
QDBusPendingReply< QVariantMap > reply = QDBusConnection::systemBus().asyncCall(call);
reply.waitForFinished();
diff --git a/solid/solid/backends/upower/upowermanager.cpp b/solid/solid/backends/upower/upowermanager.cpp
index de2db75..bae234b 100644
--- a/solid/solid/backends/upower/upowermanager.cpp
+++ b/solid/solid/backends/upower/upowermanager.cpp
@@ -103,6 +103,9 @@ QStringList UPowerManager::devicesFromQuery(const QString& parentUdi, Solid::Dev
{
foreach (const QString & udi, allDev)
{
+ if (udi==udiPrefix())
+ continue;
+
UPowerDevice device(udi);
if (device.queryDeviceInterface(type) && device.parentUdi() == parentUdi)
result << udi;
@@ -114,6 +117,9 @@ QStringList UPowerManager::devicesFromQuery(const QString& parentUdi, Solid::Dev
{
foreach (const QString & udi, allDev)
{
+ if (udi==udiPrefix())
+ continue;
+
UPowerDevice device(udi);
if (device.queryDeviceInterface(type))
result << udi;