aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJarek Kobus <[email protected]>2025-01-10 09:40:11 +0100
committerJarek Kobus <[email protected]>2025-01-10 14:12:12 +0000
commit9f4875f4e176c64920425d3028faa9c99885ff13 (patch)
tree0c2c303cf6b43ad3aa3d7fc3bb075c04894d2448 /src
parent9c465f9f1cf4236f20b699bb8b63ea54aba7679a (diff)
Debugger: Transform DebuggerRunParameters::qmlServer
Diffstat (limited to 'src')
-rw-r--r--src/plugins/android/androiddebugsupport.cpp5
-rw-r--r--src/plugins/debugger/debuggerdialogs.cpp7
-rw-r--r--src/plugins/debugger/debuggerengine.cpp12
-rw-r--r--src/plugins/debugger/debuggerengine.h6
-rw-r--r--src/plugins/debugger/debuggerruncontrol.cpp9
-rw-r--r--src/plugins/debugger/debuggerruncontrol.h2
-rw-r--r--src/plugins/debugger/qml/qmlengine.cpp12
-rw-r--r--src/plugins/ios/iosrunner.cpp2
-rw-r--r--src/plugins/qtapplicationmanager/appmanagerruncontrol.cpp2
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);