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()
|
void DrawViewSection::unsetupObject()
|
||||||
{
|
{
|
||||||
getBaseDVP()->touch();
|
TechDraw::DrawViewPart* base = getBaseDVP();
|
||||||
|
if (base != nullptr) {
|
||||||
|
base->touch();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TechDraw::DrawViewPart* DrawViewSection::getBaseDVP()
|
TechDraw::DrawViewPart* DrawViewSection::getBaseDVP()
|
||||||
{
|
{
|
||||||
TechDraw::DrawViewPart* baseDVP = nullptr;
|
TechDraw::DrawViewPart* baseDVP = nullptr;
|
||||||
App::DocumentObject* base = BaseView.getValue();
|
App::DocumentObject* base = BaseView.getValue();
|
||||||
if (base->getTypeId().isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
|
if (base != nullptr) {
|
||||||
baseDVP = static_cast<TechDraw::DrawViewPart*>(base);
|
if (base->getTypeId().isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
|
||||||
|
baseDVP = static_cast<TechDraw::DrawViewPart*>(base);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return baseDVP;
|
return baseDVP;
|
||||||
}
|
}
|
||||||
|
@ -569,8 +574,10 @@ TechDraw::DrawProjGroupItem* DrawViewSection::getBaseDPGI()
|
||||||
{
|
{
|
||||||
TechDraw::DrawProjGroupItem* baseDPGI = nullptr;
|
TechDraw::DrawProjGroupItem* baseDPGI = nullptr;
|
||||||
App::DocumentObject* base = BaseView.getValue();
|
App::DocumentObject* base = BaseView.getValue();
|
||||||
if (base->getTypeId().isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())) {
|
if (base != nullptr) {
|
||||||
baseDPGI = static_cast<TechDraw::DrawProjGroupItem*>(base);
|
if (base->getTypeId().isDerivedFrom(TechDraw::DrawProjGroupItem::getClassTypeId())) {
|
||||||
|
baseDPGI = static_cast<TechDraw::DrawProjGroupItem*>(base);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return baseDPGI;
|
return baseDPGI;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user