diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-11-22 20:12:09 +0800 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-11-24 10:28:28 +0800 |
commit | 383d54fdcf68742e6354bc814e9299d5610dc127 (patch) | |
tree | 3ef6f6655b0979158f4098bed7d6357a0564c4da /tdecore/tdehw/tdehardwaredevices.cpp | |
parent | 8fde8b8e3bbb79e1e6b272e98a02917b873bb12f (diff) | |
download | tdelibs-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)
Diffstat (limited to 'tdecore/tdehw/tdehardwaredevices.cpp')
-rw-r--r-- | tdecore/tdehw/tdehardwaredevices.cpp | 14 |
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 |