diff --git a/src/Mod/Sketcher/Gui/PropertyConstraintListItem.cpp b/src/Mod/Sketcher/Gui/PropertyConstraintListItem.cpp index 63bb8b7504..dd3c4ed318 100644 --- a/src/Mod/Sketcher/Gui/PropertyConstraintListItem.cpp +++ b/src/Mod/Sketcher/Gui/PropertyConstraintListItem.cpp @@ -23,6 +23,7 @@ #include "PreCompiled.h" #ifndef _PreComp_ +# include # include #endif @@ -44,6 +45,10 @@ PropertyConstraintListItem::PropertyConstraintListItem() onlyUnnamed = false; } +PropertyConstraintListItem::~PropertyConstraintListItem() +{ +} + QVariant PropertyConstraintListItem::toString(const QVariant& prop) const { const QList& value = prop.value< QList >(); @@ -175,10 +180,17 @@ QVariant PropertyConstraintListItem::value(const App::Property* prop) const if ((*it)->Name.empty() && !onlyUnnamed) { onlyNamed = false; subquantities.append(quant); - PropertyConstraintListItem* unnamednode = static_cast(self->child(self->childCount()-1)); - unnamednode->blockEvent = true; - unnamednode->setProperty(internalName.toLatin1(), QVariant::fromValue(quant)); - unnamednode->blockEvent = false; + PropertyItem* child = self->child(self->childCount()-1); + PropertyConstraintListItem* unnamednode = qobject_cast(child); + if (unnamednode) { + unnamednode->blockEvent = true; + unnamednode->setProperty(internalName.toLatin1(), QVariant::fromValue(quant)); + unnamednode->blockEvent = false; + } + else { + qWarning() << "Item is not of type PropertyConstraintListItem but" + << typeid(*child).name(); + } } else { self->setProperty(internalName.toLatin1(), QVariant::fromValue(quant)); diff --git a/src/Mod/Sketcher/Gui/PropertyConstraintListItem.h b/src/Mod/Sketcher/Gui/PropertyConstraintListItem.h index 381fb09566..e3ae30d4fd 100644 --- a/src/Mod/Sketcher/Gui/PropertyConstraintListItem.h +++ b/src/Mod/Sketcher/Gui/PropertyConstraintListItem.h @@ -45,6 +45,7 @@ class PropertyConstraintListItem: public Gui::PropertyEditor::PropertyItem Q_OBJECT PROPERTYITEM_HEADER + virtual ~PropertyConstraintListItem(); virtual QWidget* createEditor(QWidget* parent, const QObject* receiver, const char* method) const; virtual void setEditorData(QWidget *editor, const QVariant& data) const; virtual QVariant editorData(QWidget *editor) const;