Fix crash if BaseView null on Section delete
This commit is contained in:
parent
69163cb016
commit
63d5749b67
|
@ -552,15 +552,20 @@ std::vector<TopoDS_Wire> DrawViewSection::getWireForFace(int idx) const
|
|||
|
||||
void DrawViewSection::unsetupObject()
|
||||
{
|
||||
getBaseDVP()->touch();
|
||||
TechDraw::DrawViewPart* base = getBaseDVP();
|
||||
if (base != nullptr) {
|
||||
base->touch();
|
||||
}
|
||||
}
|
||||
|
||||
TechDraw::DrawViewPart* DrawViewSection::getBaseDVP()
|
||||
{
|
||||
TechDraw::DrawViewPart* baseDVP = nullptr;
|
||||
App::DocumentObject* base = BaseView.getValue();
|
||||
if (base->getTypeId().isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
|
||||
baseDVP = static_cast<TechDraw::DrawViewPart*>(base);
|
||||
if (base != nullptr) {
|
||||
if (base->getTypeId().isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
|
||||
baseDVP = static_cast<TechDraw::DrawViewPart*>(base);
|
||||
}
|
||||
}
|
||||
return baseDVP;
|
||||
}
|
||||
|
@ -569,8 +574,10 @@ TechDraw::DrawProjGroupItem* DrawViewSection::getBaseDPGI()
|
|||
{
|
||||
TechDraw::DrawProjGroupItem* baseDPGI = nullptr;
|
||||
App::DocumentObject* base = BaseView.getValue();
|
||||
if (base->getTypeId().isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())) {
|
||||
baseDPGI = static_cast<TechDraw::DrawProjGroupItem*>(base);
|
||||
if (base != nullptr) {
|
||||
if (base->getTypeId().isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())) {
|
||||
baseDPGI = static_cast<TechDraw::DrawProjGroupItem*>(base);
|
||||
}
|
||||
}
|
||||
return baseDPGI;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user