diff options
-rw-r--r-- | src/plugins/android/androiddebugsupport.cpp | 5 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerdialogs.cpp | 7 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerengine.cpp | 12 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerengine.h | 6 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerruncontrol.cpp | 9 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerruncontrol.h | 2 | ||||
-rw-r--r-- | src/plugins/debugger/qml/qmlengine.cpp | 12 | ||||
-rw-r--r-- | src/plugins/ios/iosrunner.cpp | 2 | ||||
-rw-r--r-- | src/plugins/qtapplicationmanager/appmanagerruncontrol.cpp | 2 |
9 files changed, 26 insertions, 31 deletions
diff --git a/src/plugins/android/androiddebugsupport.cpp b/src/plugins/android/androiddebugsupport.cpp index 0b8c3c4b01a..e9a4d0d414b 100644 --- a/src/plugins/android/androiddebugsupport.cpp +++ b/src/plugins/android/androiddebugsupport.cpp @@ -169,7 +169,8 @@ private: void AndroidDebugSupport::start() { - runParameters().setAttachPid(m_runner->pid()); + DebuggerRunParameters &rp = runParameters(); + rp.setAttachPid(m_runner->pid()); if (isCppDebugging()) { if (cppEngineType() == LldbEngineType) { QString deviceSerialNumber = Internal::deviceSerialNumber(runControl()->target()); @@ -189,7 +190,7 @@ void AndroidDebugSupport::start() } } if (isQmlDebugging()) - setQmlServer(runControl()->qmlChannel()); + rp.setQmlServer(runControl()->qmlChannel()); DebuggerRunTool::start(); } diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp index a95507ce118..34feae630a9 100644 --- a/src/plugins/debugger/debuggerdialogs.cpp +++ b/src/plugins/debugger/debuggerdialogs.cpp @@ -571,14 +571,15 @@ void runAttachToQmlPortDialog() auto runControl = new RunControl(ProjectExplorer::Constants::DEBUG_RUN_MODE); runControl->setKit(kit); auto debugger = new DebuggerRunTool(runControl); + DebuggerRunParameters &rp = debugger->runParameters(); QUrl qmlServer = device->toolControlChannel(IDevice::QmlControlChannel); qmlServer.setPort(dlg.port()); - debugger->setQmlServer(qmlServer); + rp.setQmlServer(qmlServer); - SshParameters sshParameters = device->sshParameters(); + const SshParameters sshParameters = device->sshParameters(); debugger->setRemoteChannel(sshParameters.host(), sshParameters.port()); - debugger->runParameters().setStartMode(AttachToQmlServer); + rp.setStartMode(AttachToQmlServer); runControl->start(); } diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index c609bde4e58..e71131cf35c 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -229,9 +229,9 @@ Result DebuggerRunParameters::fixupParameters(ProjectExplorer::RunControl *runCo if (isQmlDebugging) { const auto device = runControl->device(); if (device && device->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE) { - if (qmlServer.port() <= 0) { - qmlServer = Utils::urlFromLocalHostAndFreePort(); - if (qmlServer.port() <= 0) + if (m_qmlServer.port() <= 0) { + m_qmlServer = Utils::urlFromLocalHostAndFreePort(); + if (m_qmlServer.port() <= 0) return Result::Error(Tr::tr("Not enough free ports for QML debugging.")); } // Makes sure that all bindings go through the JavaScript engine, so that @@ -267,7 +267,7 @@ Result DebuggerRunParameters::fixupParameters(ProjectExplorer::RunControl *runCo if (m_startMode != AttachToLocalProcess && m_startMode != AttachToCrashedProcess) { const QString qmlarg = isCppDebugging() && nativeMixedEnabled ? qmlDebugNativeArguments(service, false) - : qmlDebugTcpArguments(service, qmlServer); + : qmlDebugTcpArguments(service, m_qmlServer); m_inferior.command.addArg(qmlarg); } } @@ -2925,8 +2925,8 @@ QString DebuggerEngine::formatStartParameters() const } if (!sp.remoteChannel.isEmpty()) str << "Remote: " << sp.remoteChannel << '\n'; - if (!sp.qmlServer.host().isEmpty()) - str << "QML server: " << sp.qmlServer.host() << ':' << sp.qmlServer.port() << '\n'; + if (!sp.qmlServer().host().isEmpty()) + str << "QML server: " << sp.qmlServer().host() << ':' << sp.qmlServer().port() << '\n'; str << "Sysroot: " << sp.sysRoot << '\n'; str << "Debug Source Location: " << sp.debugSourceLocation.join(':') << '\n'; return rc; diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index c788a593435..20d95605e2d 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -106,8 +106,8 @@ public: void addSolibSearchDir(const QString &str); Utils::FilePaths solibSearchPath() const { return m_solibSearchPath; } - // Used by Qml debugging. - QUrl qmlServer; + void setQmlServer(const QUrl &qmlServer) { m_qmlServer = qmlServer; } + QUrl qmlServer() const { return m_qmlServer; } // Used by general remote debugging. QString remoteChannel; @@ -216,6 +216,8 @@ private: Utils::ProcessHandle m_attachPid; Utils::FilePaths m_solibSearchPath; + + QUrl m_qmlServer; // Used by Qml debugging. }; namespace Internal { diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp index a664d98b7b7..10c973efd05 100644 --- a/src/plugins/debugger/debuggerruncontrol.cpp +++ b/src/plugins/debugger/debuggerruncontrol.cpp @@ -195,11 +195,6 @@ void DebuggerRunTool::setDebugInfoLocation(const FilePath &debugInfoLocation) m_runParameters.debugInfoLocation = debugInfoLocation; } -void DebuggerRunTool::setQmlServer(const QUrl &qmlServer) -{ - m_runParameters.qmlServer = qmlServer; -} - void DebuggerRunTool::setIosPlatform(const QString &platform) { m_runParameters.platform = platform; @@ -381,12 +376,12 @@ void DebuggerRunTool::continueAfterTerminalStart() setRemoteChannel(runControl()->debugChannel()); if (runControl()->usesQmlChannel()) { - setQmlServer(runControl()->qmlChannel()); + m_runParameters.setQmlServer(runControl()->qmlChannel()); if (d->addQmlServerInferiorCommandLineArgumentIfNeeded && m_runParameters.isQmlDebugging && m_runParameters.isCppDebugging()) { - int qmlServerPort = m_runParameters.qmlServer.port(); + int qmlServerPort = m_runParameters.qmlServer().port(); QTC_ASSERT(qmlServerPort > 0, reportFailure(); return); QString mode = QString("port:%1").arg(qmlServerPort); diff --git a/src/plugins/debugger/debuggerruncontrol.h b/src/plugins/debugger/debuggerruncontrol.h index 878cfea0b19..7a1c77d9e12 100644 --- a/src/plugins/debugger/debuggerruncontrol.h +++ b/src/plugins/debugger/debuggerruncontrol.h @@ -53,8 +53,6 @@ public: void setDebugInfoLocation(const Utils::FilePath &debugInfoLocation); - void setQmlServer(const QUrl &qmlServer); - void setCoreFilePath(const Utils::FilePath &core, bool isSnapshot = false); void setTestCase(int testCase); diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index ba990d58f50..99c24198651 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -347,8 +347,11 @@ void QmlEngine::beginConnection() QTC_ASSERT(state() == EngineRunRequested, return); + QmlDebugConnection *connection = d->connection(); + if (!connection || connection->isConnected()) + return; - QString host = runParameters().qmlServer.host(); + QString host = runParameters().qmlServer().host(); // Use localhost as default if (host.isEmpty()) host = QHostAddress(QHostAddress::LocalHost).toString(); @@ -365,12 +368,7 @@ void QmlEngine::beginConnection() * the connection will be closed again (instead of returning the "connection refused" * error that we expect). */ - int port = runParameters().qmlServer.port(); - - QmlDebugConnection *connection = d->connection(); - if (!connection || connection->isConnected()) - return; - + const int port = runParameters().qmlServer().port(); connection->connectToHost(host, port); //A timeout to check the connection state diff --git a/src/plugins/ios/iosrunner.cpp b/src/plugins/ios/iosrunner.cpp index ef328d2fae7..a57bc0637be 100644 --- a/src/plugins/ios/iosrunner.cpp +++ b/src/plugins/ios/iosrunner.cpp @@ -1011,7 +1011,7 @@ void IosDebugSupport::start() if (qmlServerPort.isValid()) qmlServer.setPort(qmlServerPort.number()); - setQmlServer(qmlServer); + rp.setQmlServer(qmlServer); DebuggerRunTool::start(); } diff --git a/src/plugins/qtapplicationmanager/appmanagerruncontrol.cpp b/src/plugins/qtapplicationmanager/appmanagerruncontrol.cpp index 258c00fb69d..5c3cbb24f1a 100644 --- a/src/plugins/qtapplicationmanager/appmanagerruncontrol.cpp +++ b/src/plugins/qtapplicationmanager/appmanagerruncontrol.cpp @@ -157,7 +157,7 @@ private: rp.setCloseMode(Debugger::KillAndExitMonitorAtClose); if (isQmlDebugging()) - setQmlServer(runControl()->qmlChannel()); + rp.setQmlServer(runControl()->qmlChannel()); if (isCppDebugging()) { setUseExtendedRemote(false); |