diff --git a/kcmkwin/kwindesktop/main.cpp b/kcmkwin/kwindesktop/main.cpp --- a/kcmkwin/kwindesktop/main.cpp +++ b/kcmkwin/kwindesktop/main.cpp @@ -571,11 +571,17 @@ }; if (fromKService) { KServiceTypeTrader* trader = KServiceTypeTrader::self(); - KService::List services; - services = trader->query("KWin/Effect", "[X-KDE-PluginInfo-Name] == 'kwin4_effect_" + effect + '\''); - if (services.isEmpty()) + const KService::List services = trader->query( + QStringLiteral("KWin/Effect"), + QStringLiteral("[X-KDE-PluginInfo-Name] == 'kwin4_effect_%1'").arg(effect)); + if (services.isEmpty()) { return; - KPluginInfo pluginInfo(services.first()); + } + const QString effectPluginPath = QStandardPaths::locate( + QStandardPaths::GenericDataLocation, + QStringLiteral("kservices5/") + services.first()->entryPath(), + QStandardPaths::LocateFile); + const KPluginInfo pluginInfo(effectPluginPath); const QString name = pluginInfo.name(); const QString comment = pluginInfo.comment();