From c8d7b46522918fbb19e77e7a12d7c1d0ed9ae390 Mon Sep 17 00:00:00 2001 From: Alexander Golubev Date: Fri, 2 Feb 2024 11:37:10 +0300 Subject: Fix KDevPluginController::query() with empty constraint When KDevPluginController::query() was called with empty constrain it were resulting in incorrect query string being passed to TDETrader, which were resulting in at least warnings like the next one: ``` [tdeio (TDETrader)] [6751] WARNING: Parsing ' and [X-TDevelop-Version] == 5' gave syntax error ``` Signed-off-by: Alexander Golubev --- lib/interfaces/kdevplugincontroller.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/interfaces/kdevplugincontroller.cpp b/lib/interfaces/kdevplugincontroller.cpp index 1cc6caa3..2a1b0770 100644 --- a/lib/interfaces/kdevplugincontroller.cpp +++ b/lib/interfaces/kdevplugincontroller.cpp @@ -27,8 +27,17 @@ KDevPluginController::KDevPluginController() TDETrader::OfferList KDevPluginController::query(const TQString &serviceType, const TQString &constraint) { - return TDETrader::self()->query(serviceType, - TQString("%1 and [X-TDevelop-Version] == %2").arg(constraint).arg(TDEVELOP_PLUGIN_VERSION)); + TQString versionConstraint = + TQString::fromLatin1("[X-TDevelop-Version] == %1").arg(TDEVELOP_PLUGIN_VERSION); + + TQString newConstraint; + if (!constraint.isEmpty()) { + newConstraint = TQString("( %1 ) and %2").arg(constraint).arg(versionConstraint); + } else { + newConstraint = versionConstraint; + } + + return TDETrader::self()->query(serviceType, newConstraint); } TDETrader::OfferList KDevPluginController::queryPlugins(const TQString &constraint) -- cgit v1.2.1