OSDN Git Service

kinfocenter: check parents one-level deeper from usbview module
authorIvailo Monev <xakepa10@gmail.com>
Wed, 27 Apr 2022 10:40:14 +0000 (13:40 +0300)
committerIvailo Monev <xakepa10@gmail.com>
Wed, 27 Apr 2022 10:40:14 +0000 (13:40 +0300)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
kinfocenter/Modules/usbview/kcmusb.cpp
kinfocenter/Modules/usbview/usbdevices.cpp

index da83950..063abb9 100644 (file)
@@ -11,7 +11,7 @@
 #include <QGroupBox>
 #include <QLayout>
 #include <QSplitter>
-#include <QtGui/QTextEdit>
+#include <QTextEdit>
 #include <QTimer>
 #include <QHBoxLayout>
 #include <QList>
 
 #include <kaboutdata.h>
 #include <kdialog.h>
-
 #include <KPluginFactory>
 #include <KPluginLoader>
 
 #include "usbdevices.h"
-
 #include "moc_kcmusb.cpp"
 
 K_PLUGIN_FACTORY(USBFactory, registerPlugin<USBViewer>();)
@@ -173,4 +171,3 @@ void USBViewer::selectionChanged(QTreeWidgetItem *item) {
     }
     _details->clear();
 }
-
index 68cd182..fdf110b 100644 (file)
@@ -173,7 +173,9 @@ bool USBDevice::init() {
         device->_maxPacketSize = libusbdevice.bMaxPacketSize0;
         device->_vendorID = libusbdevice.idVendor;
         device->_prodID = libusbdevice.idProduct;
-        device->_serial = QString::number(libusbdevice.iSerialNumber);
+        if (libusbdevice.iSerialNumber > 0) {
+            device->_serial = QString::number(libusbdevice.iSerialNumber);
+        }
         device->_ver = getVersion(libusbdevice.bcdUSB);
         device->_rev = getVersion(libusbdevice.bcdDevice);
 
@@ -184,6 +186,11 @@ bool USBDevice::init() {
         if (libusbparent) {
             device->_parent = libusb_get_port_number(libusbparent);
             device->_level = 1;
+            struct libusb_device *libusbparentparent = libusb_get_parent(libusbparent);
+            if (libusbparentparent) {
+                // device->_parent = libusb_get_port_number(libusbparentparent);
+                device->_level = 2;
+            }
         }
 #endif
     }