diff options
author | Alexander Golubev <[email protected]> | 2024-02-02 11:37:10 +0300 |
---|---|---|
committer | TDE Gitea <[email protected]> | 2024-02-03 23:53:05 +0000 |
commit | c8d7b46522918fbb19e77e7a12d7c1d0ed9ae390 (patch) | |
tree | 9fda71e9fbe1d479ef8e60e7e6aef787c45fc5e9 | |
parent | 46b407f26cf98c494f646609a37d03be4c41e11a (diff) | |
download | tdevelop-c8d7b46522918fbb19e77e7a12d7c1d0ed9ae390.tar.gz tdevelop-c8d7b46522918fbb19e77e7a12d7c1d0ed9ae390.zip |
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 <[email protected]>
-rw-r--r-- | lib/interfaces/kdevplugincontroller.cpp | 13 |
1 files 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) |