From e0c228bb4492b4ad5591879d57a8a0bf672de5e3 Mon Sep 17 00:00:00 2001 From: enen92 <92enen@gmail.com> Date: Tue, 8 Oct 2024 10:26:25 +0100 Subject: [PATCH] Linux/Udev: Fix optical detection logic --- xbmc/platform/linux/storage/UDevProvider.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xbmc/platform/linux/storage/UDevProvider.cpp b/xbmc/platform/linux/storage/UDevProvider.cpp index 7123e87a77cef..8896f3971cc23 100644 --- a/xbmc/platform/linux/storage/UDevProvider.cpp +++ b/xbmc/platform/linux/storage/UDevProvider.cpp @@ -271,11 +271,12 @@ bool CUDevProvider::PumpDriveChangeEvents(IStorageEventsCallback *callback) if (strcmp(action, "change") == 0 && !(bd && strcmp(bd, "1") == 0)) { const char *optical = udev_device_get_property_value(dev, "ID_CDROM"); - bool isOptical = optical && (strcmp(optical, "1") != 0); + const bool isOptical = optical && (strcmp(optical, "1") == 0); storageDevice.type = isOptical ? MEDIA_DETECT::STORAGE::Type::OPTICAL : MEDIA_DETECT::STORAGE::Type::UNKNOWN; + storageDevice.path = devnode; - if (mountpoint && !isOptical) + if (mountpoint && isOptical) { CLog::Log(LOGINFO, "UDev: Changed / Added {}", mountpoint); if (callback)