From e18dcef6db77d2c42aee361d7d83727c223ed0ad Mon Sep 17 00:00:00 2001 From: wmayer Date: Fri, 3 May 2013 18:30:25 +0200 Subject: [PATCH] Fix crash in property editor of property link is empty --- src/Gui/propertyeditor/PropertyItem.cpp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/Gui/propertyeditor/PropertyItem.cpp b/src/Gui/propertyeditor/PropertyItem.cpp index edb518ba4..c542dc921 100644 --- a/src/Gui/propertyeditor/PropertyItem.cpp +++ b/src/Gui/propertyeditor/PropertyItem.cpp @@ -2111,9 +2111,24 @@ QVariant PropertyLinkItem::value(const App::Property* prop) const const App::PropertyLink* prop_link = static_cast(prop); App::DocumentObject* obj = prop_link->getValue(); QStringList list; - list << QString::fromAscii(obj->getDocument()->getName()); - list << QString::fromAscii(obj->getNameInDocument()); - list << QString::fromUtf8(obj->Label.getValue()); + if (obj) { + list << QString::fromAscii(obj->getDocument()->getName()); + list << QString::fromAscii(obj->getNameInDocument()); + list << QString::fromUtf8(obj->Label.getValue()); + } + else { + App::PropertyContainer* c = prop_link->getContainer(); + if (c->getTypeId().isDerivedFrom(App::DocumentObject::getClassTypeId())) { + App::DocumentObject* obj = static_cast(c); + list << QString::fromAscii(obj->getDocument()->getName()); + } + else { + list << QString::fromAscii(""); + } + list << QString::fromAscii("Null"); + list << QString::fromAscii(""); + } + return QVariant(list); }