Don't use the same name for this slot than in Applet. Otherwise, the

wrong slot will get called when you remove an applet which also happens
to be a containment (like the analog clock for instance)...
In such a case we were simply leaking the applet, and it was still in
the layout.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=812153
This commit is contained in:
Kevin Ottens 2008-05-24 17:13:19 +00:00
parent fb80af2962
commit 402a4ed8b2
3 changed files with 4 additions and 4 deletions

View File

@ -111,7 +111,7 @@ void Containment::init()
//TODO: would be nice to not do this on init, as it causes Animator to init
connect(Animator::self(), SIGNAL(animationFinished(QGraphicsItem*,Plasma::Animator::Animation)),
this, SLOT(appletAnimationComplete(QGraphicsItem*,Plasma::Animator::Animation)));
this, SLOT(containmentAppletAnimationComplete(QGraphicsItem*,Plasma::Animator::Animation)));
if (d->type == NoContainmentType) {
setContainmentType(DesktopContainment);
@ -1206,7 +1206,7 @@ void Containment::Private::appletDestroyed(QObject* object)
emit q->configNeedsSaving();
}
void Containment::Private::appletAnimationComplete(QGraphicsItem *item, Plasma::Animator::Animation anim)
void Containment::Private::containmentAppletAnimationComplete(QGraphicsItem *item, Plasma::Animator::Animation anim)
{
if (anim == Animator::AppearAnimation) {
if (q->containmentType() == DesktopContainment &&

View File

@ -395,7 +395,7 @@ class PLASMA_EXPORT Containment : public Applet
private:
Q_PRIVATE_SLOT(d, void appletDestroyed(QObject*))
Q_PRIVATE_SLOT(d, void appletAnimationComplete(QGraphicsItem *item, Plasma::Animator::Animation anim))
Q_PRIVATE_SLOT(d, void containmentAppletAnimationComplete(QGraphicsItem *item, Plasma::Animator::Animation anim))
Q_PRIVATE_SLOT(d, void triggerShowAddWidgets())
Q_PRIVATE_SLOT(d, void handleDisappeared(AppletHandle *handle))
Q_PRIVATE_SLOT(d, void positionToolBox())

View File

@ -68,7 +68,7 @@ public:
void setLockToolText();
void handleDisappeared(AppletHandle *handle);
void appletDestroyed(QObject*);
void appletAnimationComplete(QGraphicsItem *item, Plasma::Animator::Animation anim);
void containmentAppletAnimationComplete(QGraphicsItem *item, Plasma::Animator::Animation anim);
void zoomIn();
void zoomOut();