diff --git a/data/servicetypes/plasma-scriptengine.desktop b/data/servicetypes/plasma-scriptengine.desktop index b15de8fbd..97e3210ef 100644 --- a/data/servicetypes/plasma-scriptengine.desktop +++ b/data/servicetypes/plasma-scriptengine.desktop @@ -24,7 +24,7 @@ Comment[fi]=Skriptauskielituki Plasmalle Comment[fr]=Langage de script d'extension pour Plasma Comment[fy]=Scripting taal taheaksel foar Plasma Comment[ga]=Eisínteacht teanga scriptithe le haghaidh Plasma -Comment[gl]=Engadido de linguaxe de scripts para o Plasma +Comment[gl]=Extensión de linguaxe de scripts para o Plasma Comment[gu]=પ્લાઝમા માટે સ્ક્રિપ્ટીંગ ભાષા એક્સટેન્શન Comment[he]=הרחבת שפת תסריטים של Plasma Comment[hne]=प्लाज्मा बर स्क्रिप्टिंग भाखा diff --git a/dataengine.cpp b/dataengine.cpp index 2cf297d99..89b6a1c15 100644 --- a/dataengine.cpp +++ b/dataengine.cpp @@ -335,10 +335,10 @@ void DataEngine::removeAllSources() while (it.hasNext()) { it.next(); Plasma::DataContainer *s = it.value(); - emit sourceRemoved(it.key()); it.remove(); s->disconnect(this); - delete s; + s->deleteLater(); + emit sourceRemoved(it.key()); } } @@ -693,6 +693,7 @@ void DataEnginePrivate::sourceDestroyed(QObject *object) while (it != sources.end()) { if (it.value() == object) { sources.erase(it); + emit q->sourceRemoved(object->objectName()); break; } ++it; diff --git a/popupapplet.cpp b/popupapplet.cpp index 0367ade3d..82d8f7bd6 100644 --- a/popupapplet.cpp +++ b/popupapplet.cpp @@ -165,10 +165,12 @@ void PopupApplet::setGraphicsWidget(QGraphicsWidget *graphicsWidget) if (d->graphicsWidget) { if (d->dialogPtr) { d->dialogPtr.data()->setGraphicsWidget(graphicsWidget); - } else { + } else if (layout()) { QGraphicsLinearLayout *lay = static_cast(layout()); lay->removeAt(0); - lay->addItem(graphicsWidget); + if (graphicsWidget) { + lay->addItem(graphicsWidget); + } } }