summaryrefslogtreecommitdiff
path: root/src/plugins/languageclient
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2019-03-26 10:57:08 +0100
committerDavid Schulz <david.schulz@qt.io>2019-04-02 11:29:47 +0000
commit7f348c1878d556db05c386d3daa47b8fc9e9d264 (patch)
tree6ec1855ff74e19941fa96c1e74b7ead9eefe3ab5 /src/plugins/languageclient
parent5327d415a3c9b340fb94d53f4762b711a640967b (diff)
downloadqt-creator-7f348c1878d556db05c386d3daa47b8fc9e9d264.tar.gz
LanguageClient: Compare expanded arguments for stdio clients
Change-Id: I6b33aa6b3ddb03a1965dbda4e7e1e1724299eba1 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/languageclient')
-rw-r--r--src/plugins/languageclient/languageclientinterface.cpp2
-rw-r--r--src/plugins/languageclient/languageclientsettings.cpp7
-rw-r--r--src/plugins/languageclient/languageclientsettings.h1
3 files changed, 8 insertions, 2 deletions
diff --git a/src/plugins/languageclient/languageclientinterface.cpp b/src/plugins/languageclient/languageclientinterface.cpp
index 0598061720..1e8a0fe119 100644
--- a/src/plugins/languageclient/languageclientinterface.cpp
+++ b/src/plugins/languageclient/languageclientinterface.cpp
@@ -112,7 +112,7 @@ StdIOClientInterface::~StdIOClientInterface()
bool StdIOClientInterface::needsRestart(const StdIOSettings *settings) const
{
- return m_executable != settings->m_executable || m_arguments != settings->m_arguments;
+ return m_executable != settings->m_executable || m_arguments != settings->arguments();
}
bool StdIOClientInterface::start()
diff --git a/src/plugins/languageclient/languageclientsettings.cpp b/src/plugins/languageclient/languageclientsettings.cpp
index e2c5bc042d..3e90e176bb 100644
--- a/src/plugins/languageclient/languageclientsettings.cpp
+++ b/src/plugins/languageclient/languageclientsettings.cpp
@@ -529,9 +529,14 @@ void StdIOSettings::fromMap(const QVariantMap &map)
m_arguments = map[argumentsKey].toString();
}
+QString StdIOSettings::arguments() const
+{
+ return Utils::globalMacroExpander()->expand(m_arguments);
+}
+
BaseClientInterface *StdIOSettings::createInterface() const
{
- return new StdIOClientInterface(m_executable, Utils::globalMacroExpander()->expand(m_arguments));
+ return new StdIOClientInterface(m_executable, arguments());
}
static QWidget *createCapabilitiesView(
diff --git a/src/plugins/languageclient/languageclientsettings.h b/src/plugins/languageclient/languageclientsettings.h
index cf36d398f3..c6dca7ee3a 100644
--- a/src/plugins/languageclient/languageclientsettings.h
+++ b/src/plugins/languageclient/languageclientsettings.h
@@ -106,6 +106,7 @@ public:
bool isValid() const override;
QVariantMap toMap() const override;
void fromMap(const QVariantMap &map) override;
+ QString arguments() const;
protected:
BaseClientInterface *createInterface() const override;