OSDN Git Service

Maemo: Fix check toolchain check for valid Qt version.
authorChristian Kandeler <christian.kandeler@nokia.com>
Tue, 14 Jun 2011 14:33:58 +0000 (16:33 +0200)
committerChristian Kandeler <christian.kandeler@nokia.com>
Wed, 15 Jun 2011 12:22:13 +0000 (14:22 +0200)
Change-Id: Icf34111ad63cd4e76c5eb8bd18111e7317f07c9c
Reviewed-on: http://codereview.qt.nokia.com/479
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
src/plugins/remotelinux/maemoqtversion.cpp
src/plugins/remotelinux/maemoqtversion.h
src/plugins/remotelinux/maemotoolchain.cpp

index 9c97174..0484476 100644 (file)
@@ -77,6 +77,11 @@ QString MaemoQtVersion::type() const
     return QtSupport::Constants::MAEMOQT;
 }
 
+bool MaemoQtVersion::isValid() const
+{
+    return BaseQtVersion::isValid() && m_isvalidVersion;
+}
+
 MaemoQtVersion *MaemoQtVersion::clone() const
 {
     return new MaemoQtVersion(*this);
index b1d2c4b..88ef672 100644 (file)
@@ -49,7 +49,7 @@ public:
     MaemoQtVersion *clone() const;
 
     virtual QString type() const;
-
+    virtual bool isValid() const;
     virtual QString systemRoot() const;
     virtual QList<ProjectExplorer::Abi> qtAbis() const;
     void addToEnvironment(Utils::Environment &env) const;
index 0049f0c..d008cbd 100644 (file)
@@ -152,19 +152,11 @@ void MaemoToolChain::setQtVersionId(int id)
 
     MaemoQtVersion *version = dynamic_cast<MaemoQtVersion *>(QtSupport::QtVersionManager::instance()->version(id));
     Q_ASSERT(version);
-    ProjectExplorer::Abi::OSFlavor flavour = ProjectExplorer::Abi::HarmattanLinuxFlavor;
-    if (version->osType() == LinuxDeviceConfiguration::Maemo5OsType)
-        flavour = ProjectExplorer::Abi::MaemoLinuxFlavor;
-    else if (version->osType() == LinuxDeviceConfiguration::HarmattanOsType)
-        flavour = ProjectExplorer::Abi::HarmattanLinuxFlavor;
-    else if (version->osType() == LinuxDeviceConfiguration::MeeGoOsType)
-        flavour = ProjectExplorer::Abi::MeegoLinuxFlavor;
-    else
+    if (!version->isValid())
         return;
+    Q_ASSERT(version->qtAbis().count() == 1);
 
     m_qtVersionId = id;
-
-    Q_ASSERT(version->qtAbis().count() == 1);
     m_targetAbi = version->qtAbis().at(0);
 
     updateId(); // Will trigger toolChainUpdated()!
@@ -277,23 +269,25 @@ QList<ProjectExplorer::ToolChain *> MaemoToolChainFactory::createToolChainList(c
         foreach (ProjectExplorer::ToolChain *tc, toRemove)
             tcm->deregisterToolChain(tc);
 
+        const MaemoQtVersion * const mqv = dynamic_cast<MaemoQtVersion *>(v);
+        if (!mqv || !mqv->isValid())
+            continue;
+
         // (Re-)add toolchain:
-        if (MaemoQtVersion *mqv = dynamic_cast<MaemoQtVersion *>(v)) {
-            // add tool chain:
-            MaemoToolChain *mTc = new MaemoToolChain(true);
-            mTc->setQtVersionId(i);
-            QString target = "Maemo 5";
-            if (v->supportsTargetId(Constants::HARMATTAN_DEVICE_TARGET_ID))
-                target = "Maemo 6";
-            else if (v->supportsTargetId(Constants::MEEGO_DEVICE_TARGET_ID))
-                target = "Meego";
-            mTc->setDisplayName(tr("%1 GCC (%2)").arg(target).arg(MaemoGlobal::maddeRoot(mqv->qmakeCommand())));
-            mTc->setCompilerPath(MaemoGlobal::targetRoot(mqv->qmakeCommand()) + QLatin1String("/bin/gcc"));
-            mTc->setDebuggerCommand(ProjectExplorer::ToolChainManager::instance()->defaultDebugger(mqv->qtAbis().at(0)));
-            if (mTc->debuggerCommand().isEmpty())
-                mTc->setDebuggerCommand(MaemoGlobal::targetRoot(mqv->qmakeCommand()) + QLatin1String("/bin/gdb"));
-            result.append(mTc);
-        }
+        // add tool chain:
+        MaemoToolChain *mTc = new MaemoToolChain(true);
+        mTc->setQtVersionId(i);
+        QString target = "Maemo 5";
+        if (v->supportsTargetId(Constants::HARMATTAN_DEVICE_TARGET_ID))
+            target = "Maemo 6";
+        else if (v->supportsTargetId(Constants::MEEGO_DEVICE_TARGET_ID))
+            target = "Meego";
+        mTc->setDisplayName(tr("%1 GCC (%2)").arg(target).arg(MaemoGlobal::maddeRoot(mqv->qmakeCommand())));
+        mTc->setCompilerPath(MaemoGlobal::targetRoot(mqv->qmakeCommand()) + QLatin1String("/bin/gcc"));
+        mTc->setDebuggerCommand(ProjectExplorer::ToolChainManager::instance()->defaultDebugger(mqv->qtAbis().at(0)));
+        if (mTc->debuggerCommand().isEmpty())
+            mTc->setDebuggerCommand(MaemoGlobal::targetRoot(mqv->qmakeCommand()) + QLatin1String("/bin/gdb"));
+        result.append(mTc);
     }
     return result;
 }