diff --git a/src/plugins/debugger/gdb/codagdbadapter.cpp b/src/plugins/debugger/gdb/codagdbadapter.cpp index 5b0dbd4f151..be67ddb0b42 100644 --- a/src/plugins/debugger/gdb/codagdbadapter.cpp +++ b/src/plugins/debugger/gdb/codagdbadapter.cpp @@ -1033,8 +1033,8 @@ void CodaGdbAdapter::startAdapter() } else { m_codaDevice = SymbianUtils::SymbianDeviceManager::instance() ->getCodaDevice(parameters.remoteChannel); - bool ok = m_codaDevice && m_codaDevice->device()->isOpen(); + bool ok = !m_codaDevice.isNull() && m_codaDevice->device()->isOpen(); if (!ok) { QString msg = QString("Couldn't open serial device %1") .arg(parameters.remoteChannel); diff --git a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp index c5f4bb7f71a..cc8af55573d 100644 --- a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp @@ -118,9 +118,11 @@ bool CodaRunControl::setupLauncher() // We get the port from SymbianDeviceManager appendMessage(tr("Connecting to '%1'...").arg(m_serialPort), NormalMessageFormat); m_codaDevice = SymbianUtils::SymbianDeviceManager::instance()->getCodaDevice(m_serialPort); - - bool ok = m_codaDevice && m_codaDevice->device()->isOpen(); - if (!ok) { + if (m_codaDevice.isNull()) { + appendMessage(tr("Unable to create CODA connection. Please try again."), ErrorMessageFormat); + return false; + } + if (!m_codaDevice->device()->isOpen()) { appendMessage(tr("Could not open serial device: %1").arg(m_codaDevice->device()->errorString()), ErrorMessageFormat); return false; } diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp index 3b52bf6e088..e854368c29d 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp @@ -148,12 +148,20 @@ bool S60DeployConfiguration::isStaticLibrary(const Qt4ProFileNode &projectNode) return false; } +bool S60DeployConfiguration::hasSisPackage(const Qt4ProFileNode &projectNode) const +{ + if (projectNode.projectType() != ApplicationTemplate + && projectNode.projectType() != LibraryTemplate) + return false; + return !isStaticLibrary(projectNode); +} + QStringList S60DeployConfiguration::signedPackages() const { QList list = qt4Target()->qt4Project()->allProFiles(); QStringList result; foreach (Qt4ProFileNode *node, list) { - if (isStaticLibrary(*node)) //no sis package + if (!hasSisPackage(*node)) continue; TargetInformation ti = node->targetInformation(); if (ti.valid) @@ -176,7 +184,7 @@ QStringList S60DeployConfiguration::packageFileNamesWithTargetInfo() const QList leafs = qt4Target()->qt4Project()->allProFiles(); QStringList result; foreach (Qt4ProFileNode *qt4ProFileNode, leafs) { - if (isStaticLibrary(*qt4ProFileNode)) //no sis package + if (!hasSisPackage(*qt4ProFileNode)) continue; TargetInformation ti = qt4ProFileNode->targetInformation(); if (!ti.valid) @@ -195,7 +203,7 @@ QStringList S60DeployConfiguration::packageTemplateFileNames() const QList list = qt4Target()->qt4Project()->allProFiles(); QStringList result; foreach (Qt4ProFileNode *node, list) { - if (isStaticLibrary(*node)) //no sis package + if (!hasSisPackage(*node)) continue; TargetInformation ti = node->targetInformation(); if (ti.valid) @@ -209,7 +217,7 @@ QStringList S60DeployConfiguration::appPackageTemplateFileNames() const QList list = qt4Target()->qt4Project()->allProFiles(); QStringList result; foreach (Qt4ProFileNode *node, list) { - if (isStaticLibrary(*node)) //no sis package + if (!hasSisPackage(*node)) continue; TargetInformation ti = node->targetInformation(); if (ti.valid) diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h index 639e4bc4357..f5d8efd1fed 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h +++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h @@ -131,6 +131,7 @@ private: QString createPackageName(const QString &baseName) const; bool isDebug() const; bool isStaticLibrary(const Qt4ProFileNode &projectNode) const; + bool hasSisPackage(const Qt4ProFileNode &projectNode) const; private: ProjectExplorer::BuildConfiguration *m_activeBuildConfiguration; diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfigurationwidget.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deployconfigurationwidget.cpp index 2e73217e797..caa10fe331a 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfigurationwidget.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfigurationwidget.cpp @@ -555,6 +555,10 @@ void S60DeployConfigurationWidget::updateDeviceInfo() } else if (m_deployConfiguration->communicationChannel() == S60DeployConfiguration::CommunicationCodaSerialConnection) { const SymbianUtils::SymbianDevice commDev = currentDevice(); m_codaInfoDevice = SymbianUtils::SymbianDeviceManager::instance()->getCodaDevice(commDev.portName()); + if (m_codaInfoDevice.isNull()) { + setDeviceInfoLabel(tr("Unable to create CODA connection. Please try again."), true); + return; + } if (!m_codaInfoDevice->device()->isOpen()) { setDeviceInfoLabel(m_codaInfoDevice->device()->errorString(), true); return; diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp index 6bf39e65b04..87e4e694cea 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp @@ -384,7 +384,7 @@ void S60DeployStep::startDeployment() } } else if (m_channel == S60DeployConfiguration::CommunicationCodaSerialConnection) { appendMessage(tr("Deploying application to '%1'...").arg(m_serialPortFriendlyName), false); - m_codaDevice = SymbianUtils::SymbianDeviceManager::instance()->getCodaDevice(m_serialPortName); + m_codaDevice = SymbianUtils::SymbianDeviceManager::instance()->getCodaDevice(m_serialPortName); bool ok = m_codaDevice && m_codaDevice->device()->isOpen(); if (!ok) { QString deviceError = tr("No such port");