From 37fea99b0acc2e601f353cd24caf3d2e4e9ce910 Mon Sep 17 00:00:00 2001 From: "Sandro S. Andrade" Date: Fri, 22 Nov 2013 23:37:49 -0300 Subject: Fix correct instantiation of DuSE design dimensions Change-Id: Ib0429c2bf1f2ee63f051cf81b5107bf0d4f41765 Reviewed-by: Sandro S. Andrade --- .../designspaceexplorer/designspaceexplorerplugin.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp index a072c233..cdbcfef2 100644 --- a/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp +++ b/examples/uml/duse-mt/src/plugins/designspaceexplorer/designspaceexplorerplugin.cpp @@ -243,11 +243,13 @@ void DesignSpaceExplorerPlugin::newDuseDesign() foreach (const QString &body, designDimension->instanceSelectionRule()->bodies()) { qDebug() << body; QScriptValue value = _engine.evaluate(body); - if (value.toVariant().canConvert(QMetaType::type("QList"))) { - foreach (QObject *targetInstance, value.toVariant().value< QList >()) { - QDuseDesignDimensionInstance *designDimensionInstance = new QDuseDesignDimensionInstance; - designDimensionInstance->setTargetInstance(qmodelingelementproperty_cast(targetInstance)); - designDimension->addDesignDimensionInstance(designDimensionInstance); + if (value.toVariant().canConvert(QMetaType::type("QVariantList"))) { + foreach (const QVariant &variant, value.toVariant().value()) { + if (variant.canConvert(QMetaType::type("QObject*"))) { + QDuseDesignDimensionInstance *designDimensionInstance = new QDuseDesignDimensionInstance; + designDimensionInstance->setTargetInstance(qmodelingelementproperty_cast(variant.value())); + designDimension->addDesignDimensionInstance(designDimensionInstance); + } } } else if (value.toVariant().canConvert(QMetaType::type("QObject*"))) { -- cgit v1.2.3