diff options
Diffstat (limited to 'src/plugins/General/udisks2')
| -rw-r--r-- | src/plugins/General/udisks2/udisks2device.cpp | 2 | ||||
| -rw-r--r-- | src/plugins/General/udisks2/udisks2plugin.cpp | 15 |
2 files changed, 11 insertions, 6 deletions
diff --git a/src/plugins/General/udisks2/udisks2device.cpp b/src/plugins/General/udisks2/udisks2device.cpp index e30ae16dd..52873c5e0 100644 --- a/src/plugins/General/udisks2/udisks2device.cpp +++ b/src/plugins/General/udisks2/udisks2device.cpp @@ -88,7 +88,7 @@ QStringList UDisks2Device::mountPoints() const QDBusMessage reply = QDBusConnection::systemBus().call(message); - QList<QVariant> args = reply.arguments(); + const QList<QVariant> args = reply.arguments(); for(const QVariant &arg : qAsConst(args)) { diff --git a/src/plugins/General/udisks2/udisks2plugin.cpp b/src/plugins/General/udisks2/udisks2plugin.cpp index d249c06b0..65ad8ea2f 100644 --- a/src/plugins/General/udisks2/udisks2plugin.cpp +++ b/src/plugins/General/udisks2/udisks2plugin.cpp @@ -48,7 +48,7 @@ UDisks2Plugin::UDisks2Plugin(QObject *parent) : QObject(parent) m_addTracks = false; //do not load tracks on startup m_addFiles = false; //find existing devices - QList<QDBusObjectPath> devs = m_manager->findAllDevices(); + const QList<QDBusObjectPath> devs = m_manager->findAllDevices(); for(const QDBusObjectPath &o : qAsConst(devs)) addDevice(o); //load remaining settings @@ -65,16 +65,21 @@ UDisks2Plugin::~UDisks2Plugin() void UDisks2Plugin::removeDevice(QDBusObjectPath o) { - for(UDisks2Device *device : qAsConst(m_devices)) + QList<UDisks2Device *>::iterator it = m_devices.begin(); + while(it != m_devices.end()) { - if (device->objectPath() == o) + if((*it)->objectPath() == o) { - m_devices.removeAll(device); - delete device; + delete (*it); + it = m_devices.erase(it); qDebug("UDisks2Plugin: removed device: \"%s\"", qPrintable(o.path())); updateActions(); break; } + else + { + ++it; + } } } |
