diff --git a/src/core/linux/SDL_udev.c b/src/core/linux/SDL_udev.c index ada5a26b74..bcd910bb8a 100644 --- a/src/core/linux/SDL_udev.c +++ b/src/core/linux/SDL_udev.c @@ -487,9 +487,13 @@ static void device_event(SDL_UDEV_deviceevent type, struct udev_device *dev) return; } - devclass = device_class(dev); - if (!devclass) { - return; + if (type == SDL_UDEV_DEVICEADDED) { + devclass = device_class(dev); + if (!devclass) { + return; + } + } else { + // The device has been removed, the class isn't available } // Process callbacks