Coverity: Unchecked dynamic_cast
This commit is contained in:
@@ -362,6 +362,9 @@ void CosmeticEdgePy::setCenter(Py::Object arg)
|
||||
pNew = DrawUtil::invertY(pNew);
|
||||
auto oldGeom = getCosmeticEdgePtr()->m_geometry;
|
||||
TechDraw::Circle* oldCircle = dynamic_cast<TechDraw::Circle*>(oldGeom);
|
||||
if (oldCircle == nullptr) {
|
||||
throw Py::TypeError("Edge geometry is not a circle");
|
||||
}
|
||||
|
||||
getCosmeticEdgePtr()->permaStart = pNew;
|
||||
getCosmeticEdgePtr()->permaEnd = pNew;
|
||||
|
||||
@@ -235,11 +235,11 @@ DrawPage* DrawView::findParentPage() const
|
||||
std::vector<App::DocumentObject*> parent = getInList();
|
||||
for (std::vector<App::DocumentObject*>::iterator it = parent.begin(); it != parent.end(); ++it) {
|
||||
if ((*it)->getTypeId().isDerivedFrom(DrawPage::getClassTypeId())) {
|
||||
page = dynamic_cast<TechDraw::DrawPage *>(*it);
|
||||
page = static_cast<TechDraw::DrawPage *>(*it);
|
||||
}
|
||||
|
||||
if ((*it)->getTypeId().isDerivedFrom(DrawViewCollection::getClassTypeId())) {
|
||||
collection = dynamic_cast<TechDraw::DrawViewCollection *>(*it);
|
||||
collection = static_cast<TechDraw::DrawViewCollection *>(*it);
|
||||
page = collection->findParentPage();
|
||||
}
|
||||
|
||||
|
||||
@@ -177,7 +177,7 @@ std::vector<TopoDS_Shape> ShapeExtractor::getXShapes(const App::Link* xLink)
|
||||
// }
|
||||
Base::Placement childPlm;
|
||||
if (l->getTypeId().isDerivedFrom(App::LinkElement::getClassTypeId())) {
|
||||
App::LinkElement* cLinkElem = dynamic_cast<App::LinkElement*>(l);
|
||||
App::LinkElement* cLinkElem = static_cast<App::LinkElement*>(l);
|
||||
if (cLinkElem->hasPlacement()) {
|
||||
childPlm = cLinkElem->getLinkPlacementProperty()->getValue();
|
||||
}
|
||||
|
||||
@@ -293,6 +293,9 @@ void QGILeaderLine::startPathEdit(void)
|
||||
{
|
||||
saveState();
|
||||
auto featLeader( dynamic_cast<TechDraw::DrawLeaderLine*>(getViewObject()) );
|
||||
if (featLeader == nullptr) {
|
||||
return;
|
||||
}
|
||||
|
||||
double scale = featLeader->getScale();
|
||||
m_editPath->setScale(scale);
|
||||
|
||||
@@ -463,6 +463,9 @@ void QGIViewBalloon::balloonLabelDragged(bool ctrl)
|
||||
// Base::Console().Message("QGIVB::bLabelDragged(%d)\n", ctrl);
|
||||
m_ctrl = ctrl;
|
||||
auto dvb( dynamic_cast<TechDraw::DrawViewBalloon *>(getViewObject()) );
|
||||
if (dvb == nullptr)
|
||||
return;
|
||||
|
||||
if (!m_dragInProgress) { //first drag movement
|
||||
m_dragInProgress = true;
|
||||
if (ctrl) { //moving whole thing, remember Origin offset from Bubble
|
||||
|
||||
@@ -685,7 +685,7 @@ bool QGIViewPart::formatGeomFromCosmetic(std::string cTag, QGIEdge* item)
|
||||
// Base::Console().Message("QGIVP::formatGeomFromCosmetic(%s)\n", cTag.c_str());
|
||||
bool result = true;
|
||||
auto partFeat( dynamic_cast<TechDraw::DrawViewPart *>(getViewObject()) );
|
||||
TechDraw::CosmeticEdge* ce = partFeat->getCosmeticEdge(cTag);
|
||||
TechDraw::CosmeticEdge* ce = partFeat ? partFeat->getCosmeticEdge(cTag) : nullptr;
|
||||
if (ce != nullptr) {
|
||||
item->setNormalColor(ce->m_format.m_color.asValue<QColor>());
|
||||
item->setWidth(ce->m_format.m_weight * lineScaleFactor);
|
||||
@@ -701,7 +701,7 @@ bool QGIViewPart::formatGeomFromCenterLine(std::string cTag, QGIEdge* item)
|
||||
// Base::Console().Message("QGIVP::formatGeomFromCenterLine(%d)\n",sourceIndex);
|
||||
bool result = true;
|
||||
auto partFeat( dynamic_cast<TechDraw::DrawViewPart *>(getViewObject()) );
|
||||
TechDraw::CenterLine* cl = partFeat->getCenterLine(cTag);
|
||||
TechDraw::CenterLine* cl = partFeat ? partFeat->getCenterLine(cTag) : nullptr;
|
||||
if (cl != nullptr) {
|
||||
item->setNormalColor(cl->m_format.m_color.asValue<QColor>());
|
||||
item->setWidth(cl->m_format.m_weight * lineScaleFactor);
|
||||
|
||||
Reference in New Issue
Block a user