diff --git a/src/solid/devices/frontend/device.cpp b/src/solid/devices/frontend/device.cpp --- a/src/solid/devices/frontend/device.cpp +++ b/src/solid/devices/frontend/device.cpp @@ -219,7 +219,9 @@ Solid::DevicePrivate::~DevicePrivate() { Q_FOREACH (DeviceInterface *iface, m_ifaces) { - delete iface->d_ptr->backendObject(); + if (iface->isValid()) { + delete iface->d_ptr->backendObject(); + } } setBackendObject(nullptr); }