forked from qt-creator/qt-creator
qmldesigner: fix error output at puppet crashes
Change-Id: I6c2a8d655e996e6f935d069a97a45e64ad0ef5b9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
@@ -66,9 +66,9 @@ bool BaseConnectionManager::isActive() const
|
||||
|
||||
void BaseConnectionManager::showCannotConnectToPuppetWarningAndSwitchToEditMode() {}
|
||||
|
||||
void BaseConnectionManager::processFinished()
|
||||
void BaseConnectionManager::processFinished(const QString &reason)
|
||||
{
|
||||
processFinished(-1, QProcess::CrashExit);
|
||||
processFinished(-1, QProcess::CrashExit, reason);
|
||||
}
|
||||
|
||||
void BaseConnectionManager::writeCommandToIODevice(const QVariant &command,
|
||||
|
@@ -64,7 +64,7 @@ protected:
|
||||
void dispatchCommand(const QVariant &command, Connection &connection) override;
|
||||
virtual void showCannotConnectToPuppetWarningAndSwitchToEditMode();
|
||||
using ConnectionManagerInterface::processFinished;
|
||||
void processFinished();
|
||||
void processFinished(const QString &reason);
|
||||
static void writeCommandToIODevice(const QVariant &command,
|
||||
QIODevice *ioDevice,
|
||||
unsigned int commandCounter);
|
||||
|
@@ -54,17 +54,17 @@ void CapturingConnectionManager::setUp(NodeInstanceServerInterface *nodeInstance
|
||||
}
|
||||
}
|
||||
|
||||
void CapturingConnectionManager::processFinished(int exitCode, QProcess::ExitStatus exitStatus)
|
||||
void CapturingConnectionManager::processFinished(int exitCode, QProcess::ExitStatus exitStatus, const QString &connectionName)
|
||||
{
|
||||
if (m_captureFileForTest.isOpen()) {
|
||||
m_captureFileForTest.close();
|
||||
Core::AsynchronousMessageBox::warning(
|
||||
tr("QML Emulation Layer (QML Puppet) Crashed"),
|
||||
tr("QML Emulation Layer (QML Puppet - %1) Crashed").arg(connectionName),
|
||||
tr("You are recording a puppet stream and the emulations layer crashed. "
|
||||
"It is recommended to reopen the Qt Quick Designer and start again."));
|
||||
}
|
||||
|
||||
InteractiveConnectionManager::processFinished(exitCode, exitStatus);
|
||||
InteractiveConnectionManager::processFinished(exitCode, exitStatus, connectionName);
|
||||
}
|
||||
|
||||
void CapturingConnectionManager::writeCommand(const QVariant &command)
|
||||
|
@@ -39,7 +39,7 @@ public:
|
||||
ProjectExplorer::Target *target,
|
||||
AbstractView *view) override;
|
||||
|
||||
void processFinished(int exitCode, QProcess::ExitStatus exitStatus) override;
|
||||
void processFinished(int exitCode, QProcess::ExitStatus exitStatus, const QString &connectionName) override;
|
||||
|
||||
void writeCommand(const QVariant &command) override;
|
||||
|
||||
|
@@ -69,7 +69,7 @@ void ConnectionManager::setUp(NodeInstanceServerInterface *nodeInstanceServerPro
|
||||
socketToken,
|
||||
[&] { printProcessOutput(connection.qmlPuppetProcess.get(), connection.name); },
|
||||
[&](int exitCode, QProcess::ExitStatus exitStatus) {
|
||||
processFinished(exitCode, exitStatus);
|
||||
processFinished(exitCode, exitStatus, connection.name);
|
||||
});
|
||||
|
||||
const int second = 1000;
|
||||
@@ -122,15 +122,10 @@ void ConnectionManager::writeCommand(const QVariant &command)
|
||||
m_writeCommandCounter++;
|
||||
}
|
||||
|
||||
void ConnectionManager::processFinished(int exitCode, QProcess::ExitStatus exitStatus)
|
||||
void ConnectionManager::processFinished(int exitCode, QProcess::ExitStatus exitStatus, const QString &connectionName)
|
||||
{
|
||||
auto finishedProcess = qobject_cast<QProcess *>(sender());
|
||||
if (finishedProcess)
|
||||
qWarning() << "Process" << (exitStatus == QProcess::CrashExit ? "crashed:" : "finished:")
|
||||
<< finishedProcess->arguments() << "exitCode:" << exitCode;
|
||||
else
|
||||
qWarning() << "Process" << (exitStatus == QProcess::CrashExit ? "crashed:" : "finished:")
|
||||
<< sender() << "exitCode:" << exitCode;
|
||||
qWarning() << "Process" << connectionName <<(exitStatus == QProcess::CrashExit ? "crashed:" : "finished:")
|
||||
<< "with exitCode:" << exitCode;
|
||||
|
||||
writeCommand(QVariant::fromValue(EndPuppetCommand()));
|
||||
|
||||
|
@@ -58,7 +58,7 @@ public:
|
||||
|
||||
protected:
|
||||
using BaseConnectionManager::processFinished;
|
||||
void processFinished(int exitCode, QProcess::ExitStatus exitStatus) override;
|
||||
void processFinished(int exitCode, QProcess::ExitStatus exitStatus, const QString &connectionName) override;
|
||||
std::vector<Connection> &connections() { return m_connections; }
|
||||
|
||||
quint32 &writeCommandCounter() { return m_writeCommandCounter; }
|
||||
|
@@ -79,7 +79,7 @@ public:
|
||||
|
||||
protected:
|
||||
virtual void dispatchCommand(const QVariant &command, Connection &connection) = 0;
|
||||
virtual void processFinished(int exitCode, QProcess::ExitStatus exitStatus) = 0;
|
||||
virtual void processFinished(int exitCode, QProcess::ExitStatus exitStatus, const QString &connectionName) = 0;
|
||||
};
|
||||
|
||||
} // namespace QmlDesigner
|
||||
|
@@ -107,7 +107,7 @@ void InteractiveConnectionManager::puppetTimeout(Connection &connection)
|
||||
return;
|
||||
}
|
||||
|
||||
processFinished();
|
||||
processFinished(connection.name + "_timeout");
|
||||
}
|
||||
|
||||
void InteractiveConnectionManager::puppetAlive(Connection &connection)
|
||||
|
Reference in New Issue
Block a user