forked from qt-creator/qt-creator
Clang: Stop sending data to backend on disconnect
This addresses
SOFT ASSERT made fatal: "m_connection.isConnected()" in file
src/plugins/clangcodemodel/clangbackendipcintegration.cpp, line 230
I could not reproduce the issue locally, so I'm leaving the soft asserts
untouched for now.
Change-Id: If1d55ba7bc7e2d1ac20ad992c6d0d43ceb0f5d73
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -51,6 +51,7 @@ ConnectionClient::ConnectionClient()
|
||||
|
||||
connectLocalSocketError();
|
||||
connectLocalSocketConnected();
|
||||
connectLocalSocketDisconnected();
|
||||
}
|
||||
|
||||
void ConnectionClient::startProcessAndConnectToServerAsynchronously()
|
||||
@@ -230,6 +231,14 @@ void ConnectionClient::connectLocalSocketConnected()
|
||||
&ConnectionClient::resetProcessIsStarting);
|
||||
}
|
||||
|
||||
void ConnectionClient::connectLocalSocketDisconnected()
|
||||
{
|
||||
connect(&localSocket,
|
||||
&QLocalSocket::disconnected,
|
||||
this,
|
||||
&ConnectionClient::disconnectedFromLocalSocket);
|
||||
}
|
||||
|
||||
void ConnectionClient::finishProcess()
|
||||
{
|
||||
finishProcess(std::move(process_));
|
||||
|
||||
@@ -76,6 +76,7 @@ public:
|
||||
|
||||
signals:
|
||||
void connectedToLocalSocket();
|
||||
void disconnectedFromLocalSocket();
|
||||
void processFinished();
|
||||
|
||||
protected:
|
||||
@@ -102,6 +103,7 @@ private:
|
||||
void printStandardError();
|
||||
|
||||
void connectLocalSocketConnected();
|
||||
void connectLocalSocketDisconnected();
|
||||
void connectProcessFinished(QProcess *process) const;
|
||||
void connectProcessStarted(QProcess *process) const;
|
||||
void disconnectProcessFinished(QProcess *process) const;
|
||||
|
||||
Reference in New Issue
Block a user