remove the handle from the scene before deleting it; this prevents full screen repaints whenever a widget has the mouse passed over it. will backport.
svn path=/trunk/KDE/kdelibs/; revision=1012691
This commit is contained in:
parent
0ecafe8131
commit
de4e6d5bf1
@ -1945,6 +1945,9 @@ void ContainmentPrivate::handleDisappeared(AppletHandle *handle)
|
||||
if (handles.contains(handle->applet())) {
|
||||
handles.remove(handle->applet());
|
||||
handle->detachApplet();
|
||||
if (q->scene()) {
|
||||
q->scene()->removeItem(handle);
|
||||
}
|
||||
handle->deleteLater();
|
||||
}
|
||||
}
|
||||
@ -1991,6 +1994,11 @@ void ContainmentPrivate::containmentConstraintsEvent(Plasma::Constraints constra
|
||||
|
||||
foreach (AppletHandle *handle, h) {
|
||||
handle->disconnect(q);
|
||||
|
||||
if (q->scene()) {
|
||||
q->scene()->removeItem(handle);
|
||||
}
|
||||
|
||||
handle->deleteLater();
|
||||
}
|
||||
}
|
||||
@ -2072,6 +2080,9 @@ void ContainmentPrivate::appletDestroyed(Plasma::Applet *applet)
|
||||
if (handles.contains(applet)) {
|
||||
AppletHandle *handle = handles.value(applet);
|
||||
handles.remove(applet);
|
||||
if (q->scene()) {
|
||||
q->scene()->removeItem(handle);
|
||||
}
|
||||
handle->deleteLater();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user