diff options
author | David Schulz <david.schulz@qt.io> | 2019-03-26 10:57:08 +0100 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2019-04-02 11:29:47 +0000 |
commit | 7f348c1878d556db05c386d3daa47b8fc9e9d264 (patch) | |
tree | 6ec1855ff74e19941fa96c1e74b7ead9eefe3ab5 /src/plugins/languageclient | |
parent | 5327d415a3c9b340fb94d53f4762b711a640967b (diff) | |
download | qt-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.cpp | 2 | ||||
-rw-r--r-- | src/plugins/languageclient/languageclientsettings.cpp | 7 | ||||
-rw-r--r-- | src/plugins/languageclient/languageclientsettings.h | 1 |
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; |