From kde-commits Tue Jan 18 19:01:00 2011 From: =?utf-8?q?Aaron=20J=2E=20Seigo?= Date: Tue, 18 Jan 2011 19:01:00 +0000 To: kde-commits Subject: branches/KDE/4.6/kdelibs/plasma/extenders Message-Id: <20110118190100.153AEAC8B6 () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=129537729018934 SVN commit 1215441 by aseigo: remove the item pointer from all collections when it is deleted as it is also added to all of them when first added CCBUG:263565 M +5 -6 extender.cpp --- branches/KDE/4.6/kdelibs/plasma/extenders/extender.cpp #1215440:1215441 @@ -670,7 +670,7 @@ QObject::connect(item, SIGNAL(destroyed(Plasma::ExtenderItem*)), q, SLOT(extenderItemDestroyed(Plasma::ExtenderItem*))); attachedExtenderItems.append(item); q->itemHoverLeaveEvent(item); - pendingItems[item] = pos; + pendingItems.insert(item, pos); QTimer::singleShot(0, q, SLOT(delayItemAddedEvent())); } @@ -874,12 +874,11 @@ void ExtenderPrivate::extenderItemDestroyed(Plasma::ExtenderItem *item) { - if (item && attachedExtenderItems.contains(item)) { - removeExtenderItem(item); - } else if (pendingItems.contains(item)) { pendingItems.remove(item); - } else { - attachedExtenderItems.removeAll(item); + + if (attachedExtenderItems.contains(item)) { + // removeExtenderItem also removes the item from attachedExtenderItems + removeExtenderItem(item); } }