aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/corelib/tools/launchersocket.cpp2
-rw-r--r--src/lib/corelib/tools/qbsprocess.cpp14
2 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/corelib/tools/launchersocket.cpp b/src/lib/corelib/tools/launchersocket.cpp
index 46b62413d..535be0778 100644
--- a/src/lib/corelib/tools/launchersocket.cpp
+++ b/src/lib/corelib/tools/launchersocket.cpp
@@ -58,6 +58,7 @@ LauncherSocket::LauncherSocket(QObject *parent) : QObject(parent)
void LauncherSocket::sendData(const QByteArray &data)
{
+ QBS_ASSERT(m_socket, return);
QMutexLocker locker(&m_requestsMutex);
m_requests << data;
if (m_requests.count() == 1)
@@ -66,6 +67,7 @@ void LauncherSocket::sendData(const QByteArray &data)
void LauncherSocket::shutdown()
{
+ QBS_ASSERT(m_socket, return);
m_socket->disconnect();
m_socket->write(ShutdownPacket().serialize());
m_socket->waitForBytesWritten(1000);
diff --git a/src/lib/corelib/tools/qbsprocess.cpp b/src/lib/corelib/tools/qbsprocess.cpp
index 8495d72a0..52ce3f25a 100644
--- a/src/lib/corelib/tools/qbsprocess.cpp
+++ b/src/lib/corelib/tools/qbsprocess.cpp
@@ -88,7 +88,19 @@ void QbsProcess::doStart()
void QbsProcess::cancel()
{
- sendPacket(StopProcessPacket(token()));
+ switch (m_state) {
+ case QProcess::NotRunning:
+ break;
+ case QProcess::Starting:
+ m_errorString = Tr::tr("Process canceled before it was started.");
+ m_error = QProcess::FailedToStart;
+ m_state = QProcess::NotRunning;
+ emit error(m_error);
+ break;
+ case QProcess::Running:
+ sendPacket(StopProcessPacket(token()));
+ break;
+ }
}
QByteArray QbsProcess::readAllStandardOutput()