forked from qt-creator/qt-creator
Debugger: Avoid crashes when no C++-engine is available.
Check for valid runcontrols in various places and initialize m_engine correcly. In the case of QML-Debugging, handle NoEngineType. Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com> Reviewed-by: Kai Koehne <kai.koehne@nokia.com> Task-number: QTCREATORBUG-2086
This commit is contained in:
@@ -276,7 +276,8 @@ unsigned DebuggerRunnerPrivate::enabledEngines() const
|
||||
|
||||
DebuggerRunnerPrivate::DebuggerRunnerPrivate(RunConfiguration *runConfiguration,
|
||||
unsigned enabledEngines) :
|
||||
m_myRunConfiguration(runConfiguration)
|
||||
m_engine(0)
|
||||
, m_myRunConfiguration(runConfiguration)
|
||||
, m_running(false)
|
||||
, m_cmdLineEnabledEngines(enabledEngines)
|
||||
{
|
||||
@@ -439,10 +440,11 @@ void DebuggerRunControl::createEngine(const DebuggerStartParameters &startParams
|
||||
&& !sp.executable.isEmpty())
|
||||
engineType = engineForExecutable(enabledEngineTypes, sp.executable);
|
||||
|
||||
if (!engineType)
|
||||
if (engineType == NoEngineType)
|
||||
engineType = engineForMode(enabledEngineTypes, sp.startMode);
|
||||
|
||||
if (engineType != QmlEngineType && (activeLangs & QmlLanguage)) {
|
||||
if ((engineType != QmlEngineType && engineType != NoEngineType)
|
||||
&& (activeLangs & QmlLanguage)) {
|
||||
if (activeLangs & CppLanguage) {
|
||||
sp.cppEngineType = engineType;
|
||||
engineType = QmlCppEngineType;
|
||||
|
Reference in New Issue
Block a user