diff --git a/src/plugins/valgrind/valgrindengine.cpp b/src/plugins/valgrind/valgrindengine.cpp index fb41439943d..579c4786b78 100644 --- a/src/plugins/valgrind/valgrindengine.cpp +++ b/src/plugins/valgrind/valgrindengine.cpp @@ -89,9 +89,13 @@ void ValgrindRunControl::start() ValgrindRunner *run = runner(); run->setValgrindExecutable(m_settings->valgrindExecutable()); run->setValgrindArguments(genericToolArguments() + toolArguments()); - const StandardRunnable r = runnable().as(); - run->setDevice(r.device ? r.device : device()); - run->setDebuggee(r); + if (runnable().is()) { + const StandardRunnable r = runnable().as(); + run->setDevice(r.device ? r.device : device()); + run->setDebuggee(r); + } else { + run->setDevice(device()); + } connect(run, &ValgrindRunner::processOutputReceived, this, &ValgrindRunControl::receiveProcessOutput); @@ -116,7 +120,8 @@ RunControl::StopResult ValgrindRunControl::stop() QString ValgrindRunControl::executable() const { - return runnable().as().executable; + return runnable().is() ? + runnable().as().executable : QString(); } QStringList ValgrindRunControl::genericToolArguments() const