b75a0998c7
Fix plugin loading (forwarded request 155154 from sumski) OBS-URL: https://build.opensuse.org/request/show/155157 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kate?expand=0&rev=28
48 lines
1.6 KiB
Diff
48 lines
1.6 KiB
Diff
commit f934575613d7efc60b9b6be6203c777d42ab7ffc
|
|
Author: Dominik Haumann <dhaumann@kde.org>
|
|
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<QString>(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);
|
|
+ }
|
|
}
|
|
}
|
|
|