diff options
author | Christian Stenger <christian.stenger@qt.io> | 2019-06-24 15:06:12 +0200 |
---|---|---|
committer | Christian Stenger <christian.stenger@qt.io> | 2019-06-25 07:46:36 +0000 |
commit | d1c226d70bffba666806c1d1de8f2d8718fc3140 (patch) | |
tree | ca5241b6ed90f12b66fc0300d2f7fa3e61a2a7ff | |
parent | 64e842759b73d2d51cd58cb935dab66171ac4d39 (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.cpp | 8 |
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); }); |