diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp index b2f56980cca4b1738ab2402d1fdcf971a5fe6409..8a1c47bd95c7aae6d1239708c34e4ba51f8de22c 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp @@ -135,8 +135,9 @@ bool S60DeployStep::init() setDisplayName(tr("Deploy", "Qt4 DeployStep display name.")); QString message; m_launcher = trk::Launcher::acquireFromDeviceManager(m_serialPortName, this, &message); - if (!message.isEmpty()) { - trk::Launcher::releaseToDeviceManager(m_launcher); + if (!message.isEmpty() || !m_launcher) { + if (m_launcher) + trk::Launcher::releaseToDeviceManager(m_launcher); delete m_launcher; m_launcher = 0; appendMessage(message, true); diff --git a/src/shared/symbianutils/launcher.cpp b/src/shared/symbianutils/launcher.cpp index 4f8eaf7ad28875a776edf4840e649c2deb5309a6..7218deec062d6402dbc4011a7e9a5e15c15d4fe5 100644 --- a/src/shared/symbianutils/launcher.cpp +++ b/src/shared/symbianutils/launcher.cpp @@ -1033,6 +1033,8 @@ Launcher *Launcher::acquireFromDeviceManager(const QString &serverName, // Preliminary release of device, disconnecting the signal. void Launcher::releaseToDeviceManager(Launcher *launcher) { + Q_ASSERT(launcher); + SymbianUtils::SymbianDeviceManager *sdm = SymbianUtils::SymbianDeviceManager::instance(); // Disentangle launcher and its device, remove connection from destroyed launcher->setCloseDevice(false);