diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2019-09-08 11:49:28 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2019-09-08 11:49:28 +0000 |
| commit | 463f4e95cff0e100b4c8c8b5378cfe1b2604c138 (patch) | |
| tree | cb73da70a910165d5715d6fc20c11587454c4133 /src/plugins/General/hal/halplugin.cpp | |
| parent | 1e31fe896524513577911e382897b841e40a4814 (diff) | |
| download | qmmp-463f4e95cff0e100b4c8c8b5378cfe1b2604c138.tar.gz qmmp-463f4e95cff0e100b4c8c8b5378cfe1b2604c138.tar.bz2 qmmp-463f4e95cff0e100b4c8c8b5378cfe1b2604c138.zip | |
fixed possible regressions
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9068 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/hal/halplugin.cpp')
| -rw-r--r-- | src/plugins/General/hal/halplugin.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/plugins/General/hal/halplugin.cpp b/src/plugins/General/hal/halplugin.cpp index ca1e0952a..092bd02fa 100644 --- a/src/plugins/General/hal/halplugin.cpp +++ b/src/plugins/General/hal/halplugin.cpp @@ -46,9 +46,9 @@ HalPlugin::HalPlugin(QObject *parent) : QObject(parent) m_addTracks = false; //do not load tracks on startup m_addFiles = false; //find existing devices - QStringList udis = m_manager->findDeviceByCapability("volume"); + const QStringList udis = m_manager->findDeviceByCapability("volume"); for(const QString &udi : qAsConst(udis)) - addDevice(udi); + addDevice(udi); //load remaining settings m_addTracks = settings.value("add_tracks", false).toBool(); m_removeTracks = settings.value("remove_tracks", false).toBool(); @@ -63,16 +63,21 @@ HalPlugin::~HalPlugin() void HalPlugin::removeDevice(const QString &udi) { - for(HalDevice *device : qAsConst(m_devices)) + QList<HalDevice *>::iterator it = m_devices.begin(); + while(it != m_devices.end()) { - if (device->udi() == udi) + if((*it)->udi() == udi) { - m_devices.removeAll(device); - delete device; + delete *it; + it = m_devices.erase(it); qDebug("HalPlugin: device \"%s\" removed", qPrintable(udi)); updateActions(); break; } + else + { + ++it; + } } } |
