forked from qt-creator/qt-creator
Debugger: Only use random QML port if none was given
Change-Id: Ice80ac46d5b8a0f24fa3b18ad8197b360fb6361f Task-number: QTCREATORBUG-16708 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -434,17 +434,19 @@ static DebuggerRunControl *doCreate(DebuggerRunParameters rp, RunConfiguration *
|
|||||||
|
|
||||||
if (rp.languages & QmlLanguage) {
|
if (rp.languages & QmlLanguage) {
|
||||||
if (rp.device && rp.device->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE) {
|
if (rp.device && rp.device->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE) {
|
||||||
QTcpServer server;
|
if (rp.qmlServer.host.isEmpty() || !rp.qmlServer.port.isValid()) {
|
||||||
const bool canListen = server.listen(QHostAddress::LocalHost)
|
QTcpServer server;
|
||||||
|| server.listen(QHostAddress::LocalHostIPv6);
|
const bool canListen = server.listen(QHostAddress::LocalHost)
|
||||||
if (!canListen) {
|
|| server.listen(QHostAddress::LocalHostIPv6);
|
||||||
errors->append(DebuggerPlugin::tr("Not enough free ports for QML debugging.") + ' ');
|
if (!canListen) {
|
||||||
return 0;
|
errors->append(DebuggerPlugin::tr("Not enough free ports for QML debugging.") + ' ');
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
TcpServerConnection conn;
|
||||||
|
conn.host = server.serverAddress().toString();
|
||||||
|
conn.port = Utils::Port(server.serverPort());
|
||||||
|
rp.qmlServer = conn;
|
||||||
}
|
}
|
||||||
TcpServerConnection conn;
|
|
||||||
conn.host = server.serverAddress().toString();
|
|
||||||
conn.port = Utils::Port(server.serverPort());
|
|
||||||
rp.qmlServer = conn;
|
|
||||||
|
|
||||||
// Makes sure that all bindings go through the JavaScript engine, so that
|
// Makes sure that all bindings go through the JavaScript engine, so that
|
||||||
// breakpoints are actually hit!
|
// breakpoints are actually hit!
|
||||||
|
Reference in New Issue
Block a user