From 99b855062b2a684a88b4c2b85a4a548ce66793be Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sun, 22 Nov 2020 20:12:09 +0800 Subject: tdehw lib: fixed detection of mountable optical disks with incomplete partition table. Signed-off-by: Michele Calgaro --- tdecore/tdehw/tdehardwaredevices.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'tdecore/tdehw') diff --git a/tdecore/tdehw/tdehardwaredevices.cpp b/tdecore/tdehw/tdehardwaredevices.cpp index 3f694cedc..28a0f44d2 100644 --- a/tdecore/tdehw/tdehardwaredevices.cpp +++ b/tdecore/tdehw/tdehardwaredevices.cpp @@ -2775,7 +2775,8 @@ void TDEHardwareDevices::updateExistingDeviceInformation(TDEGenericDevice *devic 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 { @@ -2802,11 +2803,12 @@ void TDEHardwareDevices::updateExistingDeviceInformation(TDEGenericDevice *devic 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 -- cgit v1.2.3