aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/hal/halplugin.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2019-09-08 11:49:28 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2019-09-08 11:49:28 +0000
commit463f4e95cff0e100b4c8c8b5378cfe1b2604c138 (patch)
treecb73da70a910165d5715d6fc20c11587454c4133 /src/plugins/General/hal/halplugin.cpp
parent1e31fe896524513577911e382897b841e40a4814 (diff)
downloadqmmp-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.cpp17
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;
+ }
}
}