From 857b0b80695660bc46ef5d9e550101b853f3e612 Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Wed, 2 Apr 2014 11:12:11 +0200 Subject: [PATCH] don't try to load dataengines with and empty name --- src/declarativeimports/core/datasource.cpp | 4 ++++ src/plasma/private/dataenginemanager.cpp | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/declarativeimports/core/datasource.cpp b/src/declarativeimports/core/datasource.cpp index 68e6b0b27..5c5fa670e 100644 --- a/src/declarativeimports/core/datasource.cpp +++ b/src/declarativeimports/core/datasource.cpp @@ -96,6 +96,10 @@ void DataSource::setupData() qDeleteAll(m_services); m_services.clear(); + if (m_engine.isEmpty()) { + return; + } + m_dataEngineConsumer = new Plasma::DataEngineConsumer(); Plasma::DataEngine *engine = dataEngine(m_engine); if (!engine) { diff --git a/src/plasma/private/dataenginemanager.cpp b/src/plasma/private/dataenginemanager.cpp index 595a7935d..cb8b8285f 100644 --- a/src/plasma/private/dataenginemanager.cpp +++ b/src/plasma/private/dataenginemanager.cpp @@ -121,6 +121,10 @@ Plasma::DataEngine *DataEngineManager::engine(const QString &name) const Plasma::DataEngine *DataEngineManager::loadEngine(const QString &name) { + if (name.isEmpty()) { + qDebug() << "Asked an engine with empty name"; + return d->nullEngine(); + } Plasma::DataEngine::Dict::const_iterator it = d->engines.constFind(name); if (it != d->engines.constEnd()) { @@ -131,6 +135,7 @@ Plasma::DataEngine *DataEngineManager::loadEngine(const QString &name) DataEngine *engine = PluginLoader::self()->loadDataEngine(name); if (!engine) { + qDebug() << "Can't find a dataengine named" << name; // Try installing the engine. However, it's too late for this request. ComponentInstaller::self()->installMissingComponent("dataengine", name);