summaryrefslogtreecommitdiffstats
path: root/tdecore
diff options
context:
space:
mode:
Diffstat (limited to 'tdecore')
-rw-r--r--tdecore/tdehardwaredevices.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/tdecore/tdehardwaredevices.cpp b/tdecore/tdehardwaredevices.cpp
index e143e00d5..c0c97679a 100644
--- a/tdecore/tdehardwaredevices.cpp
+++ b/tdecore/tdehardwaredevices.cpp
@@ -2002,7 +2002,18 @@ void TDEHardwareDevices::processHotPluggedHardware() {
emit hardwareUpdated(hwdevice);
emit hardwareEvent(TDEHardwareEvent::HardwareUpdated, hwdevice->uniqueID());
}
- break;
+ }
+ else if ((hwdevice->type() == TDEGenericDeviceType::Monitor)
+ && (hwdevice->systemPath().contains(systempath))) {
+ if (!hwdevice->blacklistedForUpdate()) {
+ struct udev_device *slavedev;
+ slavedev = udev_device_new_from_syspath(m_udevStruct, hwdevice->systemPath().ascii());
+ classifyUnknownDevice(slavedev, hwdevice, false);
+ udev_device_unref(slavedev);
+ updateParentDeviceInformation(hwdevice); // Update parent/child tables for this device
+ emit hardwareUpdated(hwdevice);
+ emit hardwareEvent(TDEHardwareEvent::HardwareUpdated, hwdevice->uniqueID());
+ }
}
}
}
@@ -4289,6 +4300,9 @@ TDEGenericDevice* TDEHardwareDevices::classifyUnknownDevice(udev_device* dev, TD
mdevice->internalSetVendorModel(monitor_info.second);
mdevice->m_friendlyName = monitor_info.first + " " + monitor_info.second;
}
+ else {
+ mdevice->m_friendlyName = i18n("Generic %1 Device").arg(genericPortName);
+ }
mdevice->internalSetEdid(getEDID(mdevice->systemPath()));
}
else {