From 615105cccd80a195c869a3e5c12bff451e787a34 Mon Sep 17 00:00:00 2001
From: kh1 <qt-info@nokia.com>
Date: Mon, 30 Nov 2009 10:55:48 +0100
Subject: [PATCH] Fix potential crash in updateSimulatorInformation.

---
 .../qt-maemo/maemorunconfiguration.cpp        | 20 ++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp
index c5332fde16e..eb9bff1b9f9 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemorunconfiguration.cpp
@@ -492,19 +492,23 @@ const MaemoToolChain *MaemoRunConfiguration::toolchain() const
 
 const QString MaemoRunConfiguration::gdbCmd() const
 {
-    return toolchain() != 0
-            ? toolchain()->targetRoot() + "/bin/gdb"
-            : QString();
+    if (const MaemoToolChain *tc = toolchain())
+        return tc->targetRoot() + "/bin/gdb";
+    return QString();
 }
 
 QString MaemoRunConfiguration::maddeRoot() const
 {
-    return toolchain() != 0 ? toolchain()->maddeRoot() : QString();
+    if (const MaemoToolChain *tc = toolchain())
+        tc->maddeRoot();
+    return QString();
 }
 
 const QString MaemoRunConfiguration::sysRoot() const
 {
-    return toolchain() != 0 ? toolchain()->sysrootRoot() : QString();
+    if (const MaemoToolChain *tc = toolchain())
+        return toolchain()->sysrootRoot();
+    return QString();
 }
 
 const QStringList MaemoRunConfiguration::arguments() const
@@ -764,8 +768,10 @@ void MaemoRunConfiguration::updateSimulatorInformation()
     m_visibleSimulatorParameter = tr("Could not autodetect target simulator, "
         "please choose one on your own.");
 
-    if (!m_isUserSetSimulator)
-        m_simulatorPath = QDir::toNativeSeparators(toolchain()->simulatorRoot());
+    if (!m_isUserSetSimulator) {
+        if (const MaemoToolChain *tc = toolchain())
+            m_simulatorPath = QDir::toNativeSeparators(tc->simulatorRoot());
+    }
 
     if (!m_simulatorPath.isEmpty()) {
         m_visibleSimulatorParameter = tr("'%1' is not a valid Maemo simulator.")
-- 
GitLab