diff --git a/solid/solid/backends/udisks/udisksdevice.cpp b/solid/solid/backends/udisks/udisksdevice.cpp index fb7993e..8a50505 100644 --- a/solid/solid/backends/udisks/udisksdevice.cpp +++ b/solid/solid/backends/udisks/udisksdevice.cpp @@ -718,5 +718,5 @@ bool UDisksDevice::isDeviceBlacklisted() const return prop("DevicePresentationHide").toBool() || prop("DevicePresentationNopolicy").toBool() || prop("DeviceMountPaths").toStringList().contains("/boot") || prop("IdLabel").toString() == "System Reserved" || - ( prop("IdUsage").toString().isEmpty() && !prop("OpticalDiscIsBlank").toBool()); + ( prop("IdUsage").toString().isEmpty() && !(prop("OpticalDiscIsBlank").toBool() || (prop("OpticalDiscNumAudioTracks").toInt() > 0) )); } diff --git a/solid/solid/backends/udisks/udisksopticaldisc.cpp b/solid/solid/backends/udisks/udisksopticaldisc.cpp index 378195c..4fbf641 100644 --- a/solid/solid/backends/udisks/udisksopticaldisc.cpp +++ b/solid/solid/backends/udisks/udisksopticaldisc.cpp @@ -235,7 +235,8 @@ Solid::OpticalDisc::ContentTypes OpticalDisc::availableContent() const if (m_needsReprobe) { m_cachedContent = Solid::OpticalDisc::NoContent; - bool hasData = m_device->prop("OpticalDiscNumTracks").toInt() > 0; + bool hasData = m_device->prop("OpticalDiscNumTracks").toInt() > 0 && + m_device->prop("OpticalDiscNumTracks").toInt() > m_device->prop("OpticalDiscNumAudioTracks").toInt(); bool hasAudio = m_device->prop("OpticalDiscNumAudioTracks").toInt() > 0; if ( hasData )