commit f934575613d7efc60b9b6be6203c777d42ab7ffc Author: Dominik Haumann Date: Sun Feb 10 22:18:38 2013 +0100 fix plugin loading in KDE SC 4.10.0 Thanks to Dorian and Loïc for finding the root of this issue. BUG: 314530 FIXED-IN: 4.10.1 diff --git a/part/utils/katepartpluginmanager.cpp b/part/utils/katepartpluginmanager.cpp index e9cb258..18fe6f0 100644 --- a/part/utils/katepartpluginmanager.cpp +++ b/part/utils/katepartpluginmanager.cpp @@ -75,17 +75,25 @@ KatePartPluginManager *KatePartPluginManager::self() void KatePartPluginManager::setupPluginList () { KService::List traderList = KServiceTypeTrader::self()-> - query("KTextEditor/Plugin", - "([X-KDE-Version] >= 4.0) and ([X-KDE-Version] <= " + QString("%1.%2").arg(KDE::versionMajor()).arg(KDE::versionMinor()) + ')'); + query("KTextEditor/Plugin"); foreach(const KService::Ptr &ptr, traderList) { - KatePartPluginInfo info(ptr); + QVariant version = ptr->property("X-KDE-Version", QVariant::String); + QStringList numbers = qvariant_cast(version).split('.'); + unsigned int kdeVersion = KDE_MAKE_VERSION(numbers.value(0).toUInt(), + numbers.value(1).toUInt(), + numbers.value(2).toUInt()); - info.load = false; - info.plugin = 0L; + if (KDE_MAKE_VERSION(4,0,0) <= kdeVersion && kdeVersion <= KDE::version()) + { + KatePartPluginInfo info(ptr); + + info.load = false; + info.plugin = 0L; - m_pluginList.push_back (info); + m_pluginList.push_back (info); + } } }