From 824d04252e1c2d461dadc09c657d2c896b0c74ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tobias=20N=C3=A4tterlund?= <tobias.naetterlund.qnx@kdab.com>
Date: Wed, 5 Sep 2012 13:46:50 +0200
Subject: [PATCH] QNX: Fixed crashes when no BlackBerry device is selected in
 the kit used

Change-Id: Ic3059a0dd128bc66495f3288bbf1982f81d023d6
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
---
 src/plugins/qnx/blackberrycreatepackagestep.cpp   | 3 +++
 src/plugins/qnx/blackberrydeployconfiguration.cpp | 6 ++++++
 src/plugins/qnx/blackberryruncontrolfactory.cpp   | 4 ++++
 3 files changed, 13 insertions(+)

diff --git a/src/plugins/qnx/blackberrycreatepackagestep.cpp b/src/plugins/qnx/blackberrycreatepackagestep.cpp
index d0c63858788..e8d03ee72a5 100644
--- a/src/plugins/qnx/blackberrycreatepackagestep.cpp
+++ b/src/plugins/qnx/blackberrycreatepackagestep.cpp
@@ -157,6 +157,9 @@ ProjectExplorer::BuildStepConfigWidget *BlackBerryCreatePackageStep::createConfi
 QString BlackBerryCreatePackageStep::debugToken() const
 {
     BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target()->kit());
+    if (!device)
+        return QString();
+
     return device->debugToken();
 }
 
diff --git a/src/plugins/qnx/blackberrydeployconfiguration.cpp b/src/plugins/qnx/blackberrydeployconfiguration.cpp
index 0db9788d6b2..cbf93f40d25 100644
--- a/src/plugins/qnx/blackberrydeployconfiguration.cpp
+++ b/src/plugins/qnx/blackberrydeployconfiguration.cpp
@@ -90,6 +90,9 @@ BlackBerryDeployInformation *BlackBerryDeployConfiguration::deploymentInfo() con
 QString BlackBerryDeployConfiguration::deviceHost() const
 {
     BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target()->kit());
+    if (!device)
+        return QString();
+
     return device->sshParameters().host;
 }
 
@@ -102,6 +105,9 @@ QString BlackBerryDeployConfiguration::password() const
 QString BlackBerryDeployConfiguration::deviceName() const
 {
     BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target()->kit());
+    if (!device)
+        return QString();
+
     return device->displayName();
 }
 
diff --git a/src/plugins/qnx/blackberryruncontrolfactory.cpp b/src/plugins/qnx/blackberryruncontrolfactory.cpp
index bac096dbdbe..592972a6cca 100644
--- a/src/plugins/qnx/blackberryruncontrolfactory.cpp
+++ b/src/plugins/qnx/blackberryruncontrolfactory.cpp
@@ -66,6 +66,10 @@ bool BlackBerryRunControlFactory::canRun(ProjectExplorer::RunConfiguration *runC
     if (!rc)
         return false;
 
+    BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(rc->target()->kit());
+    if (!device)
+        return false;
+
     // The device can only run the same application once, any subsequent runs will
     // not launch a second instance. Disable the Run button if the application is already
     // running on the device.
-- 
GitLab