forked from qt-creator/qt-creator
RemoteLinux: Make sure there is a DebuggerRCAspect
Only offer to run runconfigs with the DebuggerRCAspect set, assert that it is indeed there and never check for it again. Change-Id: I5e9b329efb15d56ae221aed3ea2a75caa1078c18 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -70,6 +70,7 @@ bool RemoteLinuxRunControlFactory::canRun(RunConfiguration *runConfiguration, Co
|
|||||||
}
|
}
|
||||||
|
|
||||||
const Core::Id id = runConfiguration->id();
|
const Core::Id id = runConfiguration->id();
|
||||||
|
QTC_ASSERT(runConfiguration->extraAspect<DebuggerRunConfigurationAspect>(), return false);
|
||||||
return runConfiguration->isEnabled()
|
return runConfiguration->isEnabled()
|
||||||
&& (id == RemoteLinuxCustomRunConfiguration::runConfigId()
|
&& (id == RemoteLinuxCustomRunConfiguration::runConfigId()
|
||||||
|| id.name().startsWith(RemoteLinuxRunConfiguration::IdPrefix));
|
|| id.name().startsWith(RemoteLinuxRunConfiguration::IdPrefix));
|
||||||
@@ -96,7 +97,9 @@ RunControl *RemoteLinuxRunControlFactory::create(RunConfiguration *runConfig, Co
|
|||||||
}
|
}
|
||||||
|
|
||||||
auto aspect = runConfig->extraAspect<DebuggerRunConfigurationAspect>();
|
auto aspect = runConfig->extraAspect<DebuggerRunConfigurationAspect>();
|
||||||
int portsUsed = aspect ? aspect->portsUsedByDebugger() : 0;
|
QTC_ASSERT(aspect, return 0);
|
||||||
|
|
||||||
|
int portsUsed = aspect->portsUsedByDebugger();
|
||||||
if (portsUsed > dev->freePorts().count()) {
|
if (portsUsed > dev->freePorts().count()) {
|
||||||
*errorMessage = tr("Cannot debug: Not enough free ports available.");
|
*errorMessage = tr("Cannot debug: Not enough free ports available.");
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user