aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@qt.io>2019-06-24 15:06:12 +0200
committerChristian Stenger <christian.stenger@qt.io>2019-06-25 07:46:36 +0000
commitd1c226d70bffba666806c1d1de8f2d8718fc3140 (patch)
treeca5241b6ed90f12b66fc0300d2f7fa3e61a2a7ff
parent64e842759b73d2d51cd58cb935dab66171ac4d39 (diff)
LanguageClient: Fix file path filter handling
Avoid sending files to a language server without a file path, like temporary generated files. Only allow this if the file matches the MIME type of the language server. Change-Id: Ibf71a7196c387a2c8bf345db24c0005ba8fbdfb1 Reviewed-by: David Schulz <david.schulz@qt.io>
-rw-r--r--src/plugins/languageclient/languageclientsettings.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/plugins/languageclient/languageclientsettings.cpp b/src/plugins/languageclient/languageclientsettings.cpp
index 1b09b62eb0..a1b8db2169 100644
--- a/src/plugins/languageclient/languageclientsettings.cpp
+++ b/src/plugins/languageclient/languageclientsettings.cpp
@@ -650,8 +650,8 @@ QString BaseSettingsWidget::name() const
LanguageFilter BaseSettingsWidget::filter() const
{
- return {m_mimeTypes->text().split(filterSeparator),
- m_filePattern->text().split(filterSeparator)};
+ return {m_mimeTypes->text().split(filterSeparator, QString::SkipEmptyParts),
+ m_filePattern->text().split(filterSeparator, QString::SkipEmptyParts)};
}
BaseSettings::StartBehavior BaseSettingsWidget::startupBehavior() const
@@ -784,10 +784,10 @@ QString StdIOSettingsWidget::arguments() const
bool LanguageFilter::isSupported(const Utils::FilePath &filePath, const QString &mimeType) const
{
- if (mimeTypes.isEmpty() && filePattern.isEmpty())
- return true;
if (mimeTypes.contains(mimeType))
return true;
+ if (filePattern.isEmpty() && filePath.isEmpty())
+ return mimeTypes.isEmpty();
auto regexps = Utils::transform(filePattern, [](const QString &pattern){
return QRegExp(pattern, Utils::HostOsInfo::fileNameCaseSensitivity(), QRegExp::Wildcard);
});