prevent full screen repaints when applet handles are removed
svn path=/branches/KDE/4.3/kdelibs/; revision=1012693
This commit is contained in:
parent
8e3cd5be72
commit
0300c7e7af
@ -1743,6 +1743,9 @@ void ContainmentPrivate::handleDisappeared(AppletHandle *handle)
|
|||||||
if (handles.contains(handle->applet())) {
|
if (handles.contains(handle->applet())) {
|
||||||
handles.remove(handle->applet());
|
handles.remove(handle->applet());
|
||||||
handle->detachApplet();
|
handle->detachApplet();
|
||||||
|
if (q->scene()) {
|
||||||
|
q->scene()->removeItem(handle);
|
||||||
|
}
|
||||||
handle->deleteLater();
|
handle->deleteLater();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1789,6 +1792,11 @@ void ContainmentPrivate::containmentConstraintsEvent(Plasma::Constraints constra
|
|||||||
|
|
||||||
foreach (AppletHandle *handle, h) {
|
foreach (AppletHandle *handle, h) {
|
||||||
handle->disconnect(q);
|
handle->disconnect(q);
|
||||||
|
|
||||||
|
if (q->scene()) {
|
||||||
|
q->scene()->removeItem(handle);
|
||||||
|
}
|
||||||
|
|
||||||
handle->deleteLater();
|
handle->deleteLater();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1870,6 +1878,9 @@ void ContainmentPrivate::appletDestroyed(Plasma::Applet *applet)
|
|||||||
if (handles.contains(applet)) {
|
if (handles.contains(applet)) {
|
||||||
AppletHandle *handle = handles.value(applet);
|
AppletHandle *handle = handles.value(applet);
|
||||||
handles.remove(applet);
|
handles.remove(applet);
|
||||||
|
if (q->scene()) {
|
||||||
|
q->scene()->removeItem(handle);
|
||||||
|
}
|
||||||
handle->deleteLater();
|
handle->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user