- StringContainer::iterator iName = m_vecpNames.begin();
- GaugeContainer::iterator iGauge = m_vecpGauges.begin();
- PositionContainer::iterator iPosition = m_vecpPositions.begin();
- LabelContainer::iterator iLabel = m_vecpLabels.begin();
- for (TaskContainer::iterator iTask = m_vecpBackgroundTasks.begin(); iTask != m_vecpBackgroundTasks.end(); iTask++) {
- if (*iTask == pTask) {
- delete *iName;
- delete *iGauge;
- delete *iLabel;
- m_vecpBackgroundTasks.erase (iTask);
- m_vecpGauges.erase (iGauge);
- m_vecpNames.erase (iName);
- m_vecpPositions.erase (iPosition);
- m_vecpLabels.erase (iLabel);
+ bool bFound = false;
+ for (TaskContainer::iterator iTask = m_vecpTasks.begin(); iTask != m_vecpTasks.end(); iTask++) {
+ if ((*iTask)->supervisor() == pSupervisor) {
+ delete (*iTask)->gauge();
+ delete (*iTask)->label();
+ delete (*iTask)->button();
+ delete *iTask;
+ m_vecpTasks.erase (iTask);