From 1c54b84855d7b640f1639079214f9745c241519d Mon Sep 17 00:00:00 2001 From: Vikas Pachdha Date: Mon, 29 May 2017 10:10:54 +0200 Subject: [PATCH] Fix crash when using Valgrind for iOS & Android Task-number: QTCREATORBUG-18254 Change-Id: I49a20edafa1d241c83a301ce9652a6fb839bed93 Reviewed-by: Eike Ziller Reviewed-by: hjk --- src/plugins/valgrind/valgrindengine.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) 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