summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2020-11-22 20:12:09 +0800
committerMichele Calgaro <michele.calgaro@yahoo.it>2020-11-24 10:28:28 +0800
commit383d54fdcf68742e6354bc814e9299d5610dc127 (patch)
tree3ef6f6655b0979158f4098bed7d6357a0564c4da
parent8fde8b8e3bbb79e1e6b272e98a02917b873bb12f (diff)
downloadtdelibs-383d54fdcf68742e6354bc814e9299d5610dc127.tar.gz
tdelibs-383d54fdcf68742e6354bc814e9299d5610dc127.zip
tdehw lib: fixed detection of mountable optical disks with incomplete
partition table. Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it> (cherry picked from commit 99b855062b2a684a88b4c2b85a4a548ce66793be)
-rw-r--r--tdecore/tdehw/tdehardwaredevices.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/tdecore/tdehw/tdehardwaredevices.cpp b/tdecore/tdehw/tdehardwaredevices.cpp
index 4ca1678bf..9b6c874ec 100644
--- a/tdecore/tdehw/tdehardwaredevices.cpp
+++ b/tdecore/tdehw/tdehardwaredevices.cpp
@@ -2699,7 +2699,8 @@ void TDEHardwareDevices::updateExistingDeviceInformation(TDEGenericDevice* exist
diskstatus = diskstatus | TDEDiskDeviceStatus::Hotpluggable;
}
- if ((filesystemtype.upper() != "CRYPTO_LUKS") && (filesystemtype.upper() != "CRYPTO") && (filesystemtype.upper() != "SWAP") && (!filesystemtype.isEmpty())) {
+ if ((!filesystemtype.isEmpty()) && (filesystemtype.upper() != "CRYPTO_LUKS") &&
+ (filesystemtype.upper() != "CRYPTO") && (filesystemtype.upper() != "SWAP")) {
diskstatus = diskstatus | TDEDiskDeviceStatus::ContainsFilesystem;
}
else {
@@ -2724,11 +2725,12 @@ void TDEHardwareDevices::updateExistingDeviceInformation(TDEGenericDevice* exist
diskstatus = diskstatus & ~TDEDiskDeviceStatus::Mountable;
}
// Partition tables cannot be mounted
- if ((TQString(udev_device_get_property_value(dev, "ID_PART_TABLE_TYPE")) != "")
- && ((TQString(udev_device_get_property_value(dev, "ID_PART_ENTRY_TYPE")).isEmpty())
- || (TQString(udev_device_get_property_value(dev, "ID_PART_ENTRY_TYPE")) == "0x5")
- || (TQString(udev_device_get_property_value(dev, "ID_PART_ENTRY_TYPE")) == "0xf")
- || (TQString(udev_device_get_property_value(dev, "ID_FS_USAGE")).upper() == "RAID"))) {
+ if ((!TQString(udev_device_get_property_value(dev, "ID_PART_TABLE_TYPE")).isEmpty()) &&
+ ((TQString(udev_device_get_property_value(dev, "ID_PART_ENTRY_TYPE")).isEmpty() &&
+ !(diskstatus & TDEDiskDeviceStatus::ContainsFilesystem)) ||
+ (TQString(udev_device_get_property_value(dev, "ID_PART_ENTRY_TYPE")) == "0x5") ||
+ (TQString(udev_device_get_property_value(dev, "ID_PART_ENTRY_TYPE")) == "0xf") ||
+ (TQString(udev_device_get_property_value(dev, "ID_FS_USAGE")).upper() == "RAID"))) {
diskstatus = diskstatus & ~TDEDiskDeviceStatus::Mountable;
}
// If certain disk types do not report the presence of a filesystem, they are likely not mountable