diff options
author | Vikas Pachdha <vikas.pachdha@qt.io> | 2017-05-29 10:10:54 +0200 |
---|---|---|
committer | Vikas Pachdha <vikas.pachdha@qt.io> | 2017-05-29 12:32:03 +0000 |
commit | 1c54b84855d7b640f1639079214f9745c241519d (patch) | |
tree | f4029ff0afda1e70f9ee23ef340f18ecee2f5cab | |
parent | 1e1253b5a7eec4cb9cbce514f8938d02c167c4cc (diff) |
Fix crash when using Valgrind for iOS & Android
Task-number: QTCREATORBUG-18254
Change-Id: I49a20edafa1d241c83a301ce9652a6fb839bed93
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>
-rw-r--r-- | src/plugins/valgrind/valgrindengine.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/plugins/valgrind/valgrindengine.cpp b/src/plugins/valgrind/valgrindengine.cpp index fb41439943..579c4786b7 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<StandardRunnable>(); - run->setDevice(r.device ? r.device : device()); - run->setDebuggee(r); + if (runnable().is<StandardRunnable>()) { + const StandardRunnable r = runnable().as<StandardRunnable>(); + 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<StandardRunnable>().executable; + return runnable().is<StandardRunnable>() ? + runnable().as<StandardRunnable>().executable : QString(); } QStringList ValgrindRunControl::genericToolArguments() const |