From c6d3fe8873122701b9d223f68f25d8b478bed397 Mon Sep 17 00:00:00 2001 From: Cedric Chedaleux Date: Mon, 3 Feb 2014 11:33:55 +0100 Subject: Checking input mask before scanning evdev devices Adding device mask verification for static device discovery. DRM devices are no longer scanned if mask is set to input devices only Change-Id: Ibd2e77280c2d93c707ba7bdb84c4ae3cb0932178 Reviewed-by: Laszlo Agocs --- .../devicediscovery/qdevicediscovery_static.cpp | 28 ++++++++++++---------- 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'src/platformsupport') diff --git a/src/platformsupport/devicediscovery/qdevicediscovery_static.cpp b/src/platformsupport/devicediscovery/qdevicediscovery_static.cpp index a333d2c0c7..cbcc0ff5b1 100644 --- a/src/platformsupport/devicediscovery/qdevicediscovery_static.cpp +++ b/src/platformsupport/devicediscovery/qdevicediscovery_static.cpp @@ -102,23 +102,27 @@ QDeviceDiscovery::~QDeviceDiscovery() QStringList QDeviceDiscovery::scanConnectedDevices() { QStringList devices; - - // check for input devices - QDir dir(QString::fromLatin1(QT_EVDEV_DEVICE_PATH)); + QDir dir; dir.setFilter(QDir::System); - foreach (const QString &deviceFile, dir.entryList()) { - QString absoluteFilePath = dir.absolutePath() + QString::fromLatin1("/") + deviceFile; - if (checkDeviceType(absoluteFilePath)) - devices << absoluteFilePath; + // check for input devices + if (m_types & Device_InputMask) { + dir.setPath(QString::fromLatin1(QT_EVDEV_DEVICE_PATH)); + foreach (const QString &deviceFile, dir.entryList()) { + QString absoluteFilePath = dir.absolutePath() + QString::fromLatin1("/") + deviceFile; + if (checkDeviceType(absoluteFilePath)) + devices << absoluteFilePath; + } } // check for drm devices - dir.setPath(QString::fromLatin1(QT_DRM_DEVICE_PATH)); - foreach (const QString &deviceFile, dir.entryList()) { - QString absoluteFilePath = dir.absolutePath() + QString::fromLatin1("/") + deviceFile; - if (checkDeviceType(absoluteFilePath)) - devices << absoluteFilePath; + if (m_types & Device_VideoMask) { + dir.setPath(QString::fromLatin1(QT_DRM_DEVICE_PATH)); + foreach (const QString &deviceFile, dir.entryList()) { + QString absoluteFilePath = dir.absolutePath() + QString::fromLatin1("/") + deviceFile; + if (checkDeviceType(absoluteFilePath)) + devices << absoluteFilePath; + } } #ifdef QT_QPA_DEVICE_DISCOVERY_DEBUG -- cgit v1.2.3