[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.1/kdelibs/solid/solid/backends/hal
From: Matthias Kretz <kretz () kde ! org>
Date: 2008-08-20 21:05:30
Message-ID: 1219266330.364182.17757.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 850151 by mkretz:
backport: I didn't realize HalAudioInterface needed the fix for handling \
the incompatibility in HAL, too. Now, in order to find out what type of \
soundcard it is, don't look at the direct parent device object but the \
parent of the parent instead (for newer HAL only). Finally my USB device is \
detected as such again.
M +13 -3 halaudiointerface.cpp
--- branches/KDE/4.1/kdelibs/solid/solid/backends/hal/halaudiointerface.cpp \
#850150:850151 @@ -20,6 +20,7 @@
#include "halaudiointerface.h"
#include "haldevice.h"
+#include <QtDBus/QDBusInterface>
using namespace Solid::Backends::Hal;
@@ -161,9 +162,18 @@
return m_soundcardType;
}
- if (! m_device->parentUdi().isEmpty())
- {
- HalDevice parentDevice(m_device->parentUdi());
+ QString parentUdi = m_device->parentUdi();
+ if (!parentUdi.isEmpty()) {
+ QDBusInterface parentIface(QLatin1String("org.freedesktop.Hal"), \
m_device->parentUdi(), "org.freedesktop.Hal.Device", \
QDBusConnection::systemBus()); + const QDBusMessage &reply = \
parentIface.call("GetProperty", QLatin1String("info.subsystem")); + \
if (reply.type() != QDBusMessage::ReplyMessage && reply.errorName() == \
"org.freedesktop.Hal.NoSuchProperty") { + const QDBusMessage \
&reply2 = parentIface.call("GetProperty", QLatin1String("info.parent")); + \
if (reply2.type() == QDBusMessage::ReplyMessage) { + \
parentUdi = reply2.arguments().at(0).toString(); + }
+ }
+
+ HalDevice parentDevice(parentUdi);
QString productName = parentDevice.product();
QString deviceName = name();
if (productName.contains("headset", Qt::CaseInsensitive) ||
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic