Coverty changes:

** CID 152490:  Control flow issues  (DEADCODE)
** CID 152492:  Null pointer dereferences  (FORWARD_NULL)
** CID 152493:  Null pointer dereferences  (FORWARD_NULL)
** CID 152494:  Null pointer dereferences  (FORWARD_NULL)
** CID 152495:  Null pointer dereferences  (FORWARD_NULL)
** CID 152496:  Null pointer dereferences  (FORWARD_NULL)
** CID 152497:  Null pointer dereferences  (FORWARD_NULL)
** CID 152502:  Null pointer dereferences  (REVERSE_INULL)
** CID 152507:  Uninitialized members  (UNINIT_CTOR)
** CID 152508:  Uninitialized members  (UNINIT_CTOR)
** CID 152508:  Uninitialized members  (UNINIT_CTOR)
** CID 152510:  Uninitialized members  (UNINIT_CTOR)
This commit is contained in:
WandererFan 2016-09-10 07:57:43 -04:00
parent bcb29541aa
commit 884a32fabf
9 changed files with 66 additions and 26 deletions

View File

@ -238,7 +238,7 @@ int DrawPage::addView(App::DocumentObject *docObj)
return -1;
//position all new views in center of Page (exceptDVDimension)
DrawView* view = dynamic_cast<DrawView*>(docObj);
DrawView* view = static_cast<DrawView*>(docObj);
if (!docObj->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId())) {
view->X.setValue(getPageWidth()/2.0);
view->Y.setValue(getPageHeight()/2.0);

View File

@ -87,9 +87,9 @@ int DrawViewCollection::countChildren()
const std::vector<App::DocumentObject *> &views = Views.getValues();
for(std::vector<App::DocumentObject *>::const_iterator it = views.begin(); it != views.end(); ++it) {
App::DocumentObject *docObj = dynamic_cast<App::DocumentObject *>(*it);
App::DocumentObject *docObj = static_cast<App::DocumentObject *>(*it);
if(docObj->getTypeId().isDerivedFrom(TechDraw::DrawViewCollection::getClassTypeId())) {
TechDraw::DrawViewCollection *viewCollection = dynamic_cast<TechDraw::DrawViewCollection *>(*it);
TechDraw::DrawViewCollection *viewCollection = static_cast<TechDraw::DrawViewCollection *>(*it);
numChildren += viewCollection->countChildren() + 1;
} else {
numChildren += 1;
@ -127,7 +127,7 @@ App::DocumentObjectExecReturn *DrawViewCollection::execute(void)
for(std::vector<App::DocumentObject *>::const_iterator it = views.begin(); it != views.end(); ++it) {
App::DocumentObject *docObj = *it;
if(docObj->getTypeId().isDerivedFrom(TechDraw::DrawView::getClassTypeId())) {
TechDraw::DrawView *view = dynamic_cast<TechDraw::DrawView *>(*it);
TechDraw::DrawView *view = static_cast<TechDraw::DrawView *>(*it);
// Set scale factor of each view
view->ScaleType.setValue("Document");
@ -140,7 +140,7 @@ App::DocumentObjectExecReturn *DrawViewCollection::execute(void)
for(std::vector<App::DocumentObject *>::const_iterator it = views.begin(); it != views.end(); ++it) {
App::DocumentObject *docObj = *it;
if(docObj->getTypeId().isDerivedFrom(TechDraw::DrawView::getClassTypeId())) {
TechDraw::DrawView *view = dynamic_cast<TechDraw::DrawView *>(*it);
TechDraw::DrawView *view = static_cast<TechDraw::DrawView *>(*it);
view->ScaleType.setValue("Custom");
// Set scale factor of each view
@ -159,6 +159,10 @@ QRectF DrawViewCollection::getRect() const
QRectF result;
for (auto& v:Views.getValues()) {
TechDraw::DrawView *view = dynamic_cast<TechDraw::DrawView *>(v);
if (!view) {
throw Base::Exception("DrawViewCollection::getRect bad View\n");
}
result = result.united(view->getRect().translated(view->X.getValue(),view->Y.getValue()));
}
return QRectF(0,0,Scale.getValue() * result.width(),Scale.getValue() * result.height());

View File

@ -274,7 +274,7 @@ void GeometryObject::addGeomFromCompound(TopoDS_Shape edgeCompound, edgeClass ca
}
if (circle) {
if ((*itVertex)->isEqual(c1,Precision::Confusion())) {
c1Add = true;
c1Add = false;
}
}

View File

@ -36,6 +36,7 @@
#include <App/FeaturePython.h>
#include <App/PropertyGeo.h>
#include <Base/Console.h>
#include <Base/Exception.h>
#include <Base/Parameter.h>
#include <Gui/Action.h>
#include <Gui/Application.h>
@ -103,14 +104,14 @@ TechDraw::DrawPage* _findPage(Gui::Command* cmd)
QObject::tr("Can not determine correct page."));
return page;
} else { //use only page in document
page = dynamic_cast<TechDraw::DrawPage*>(selPages.front());
page = static_cast<TechDraw::DrawPage*>(selPages.front());
}
} else if (selPages.size() > 1) { //multiple pages in selection
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Too many pages"),
QObject::tr("Select exactly 1 page."));
return page;
} else { //use only page in selection
page = dynamic_cast<TechDraw::DrawPage *>(selPages.front());
page = static_cast<TechDraw::DrawPage *>(selPages.front());
}
return page;
@ -172,6 +173,10 @@ void CmdTechDrawNewPageDef::activated(int iMsg)
commitCommand();
TechDraw::DrawPage* fp = dynamic_cast<TechDraw::DrawPage*>(getDocument()->getObject(PageName.c_str()));
if (!fp) {
throw Base::Exception("CmdTechDrawNewPageDef fp not found\n");
}
Gui::ViewProvider* vp = Gui::Application::Instance->getDocument(getDocument())->getViewProvider(fp);
TechDrawGui::ViewProviderPage* dvp = dynamic_cast<TechDrawGui::ViewProviderPage*>(vp);
if (dvp) {
@ -247,6 +252,9 @@ void CmdTechDrawNewPage::activated(int iMsg)
commitCommand();
TechDraw::DrawPage* fp = dynamic_cast<TechDraw::DrawPage*>(getDocument()->getObject(PageName.c_str()));
if (!fp) {
throw Base::Exception("CmdTechDrawNewPagePick fp not found\n");
}
Gui::ViewProvider* vp = Gui::Application::Instance->getDocument(getDocument())->getViewProvider(fp);
TechDrawGui::ViewProviderPage* dvp = dynamic_cast<TechDrawGui::ViewProviderPage*>(vp);
if (dvp) {
@ -377,7 +385,7 @@ void CmdTechDrawNewViewSection::activated(int iMsg)
return;
}
App::DocumentObject* dObj = *(shapes.begin());
TechDraw::DrawViewPart* dvp = dynamic_cast<TechDraw::DrawViewPart*>(dObj);
TechDraw::DrawViewPart* dvp = static_cast<TechDraw::DrawViewPart*>(dObj);
if (dvp->getSectionRef()) {
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"),
QObject::tr("This View already has a related Section. Choose another."));
@ -397,6 +405,9 @@ void CmdTechDrawNewViewSection::activated(int iMsg)
doCommand(Doc,"App.activeDocument().%s.addView(App.activeDocument().%s)",PageName.c_str(),FeatName.c_str());
App::DocumentObject *docObj = getDocument()->getObject(FeatName.c_str());
TechDraw::DrawViewSection* dsv = dynamic_cast<TechDraw::DrawViewSection *>(docObj);
if (!dsv) {
throw Base::Exception("CmdTechDrawNewViewSection DSV not found\n");
}
Gui::Control().showDialog(new TaskDlgSectionView(dvp,dsv));
updateActive();
@ -592,9 +603,9 @@ void CmdTechDrawClipPlus::activated(int iMsg)
std::vector<Gui::SelectionObject>::iterator itSel = selection.begin();
for (; itSel != selection.end(); itSel++) {
if ((*itSel).getObject()->isDerivedFrom(TechDraw::DrawViewClip::getClassTypeId())) {
clip = dynamic_cast<TechDraw::DrawViewClip*>((*itSel).getObject());
clip = static_cast<TechDraw::DrawViewClip*>((*itSel).getObject());
} else if ((*itSel).getObject()->isDerivedFrom(TechDraw::DrawView::getClassTypeId())) {
view = dynamic_cast<TechDraw::DrawView*>((*itSel).getObject());
view = static_cast<TechDraw::DrawView*>((*itSel).getObject());
}
}
if (!view) {

View File

@ -33,6 +33,7 @@
#include <QGraphicsView>
# include <App/DocumentObject.h>
# include <Base/Exception.h>
# include <Gui/Action.h>
# include <Gui/Application.h>
# include <Gui/BitmapFactory.h>
@ -94,14 +95,14 @@ TechDraw::DrawPage* _findPageCCD(Gui::Command* cmd)
QObject::tr("Can not determine correct page."));
return page;
} else { //use only page in document
page = dynamic_cast<TechDraw::DrawPage*>(selPages.front());
page = static_cast<TechDraw::DrawPage*>(selPages.front());
}
} else if (selPages.size() > 1) { //multiple pages in selection
QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Too many pages"),
QObject::tr("Select exactly 1 page."));
return page;
} else { //use only page in selection
page = dynamic_cast<TechDraw::DrawPage*>(selPages.front());
page = static_cast<TechDraw::DrawPage*>(selPages.front());
}
}
return page;
@ -161,7 +162,7 @@ void CmdTechDrawNewDimension::activated(int iMsg)
std::vector<Gui::SelectionObject>::iterator itSel = selection.begin();
for (; itSel != selection.end(); itSel++) {
if ((*itSel).getObject()->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
objFeat = dynamic_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
objFeat = static_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
SubNames = (*itSel).getSubNames();
}
}
@ -242,6 +243,9 @@ void CmdTechDrawNewDimension::activated(int iMsg)
,contentStr.c_str());
dim = dynamic_cast<TechDraw::DrawViewDimension *>(getDocument()->getObject(FeatName.c_str()));
if (!dim) {
throw Base::Exception("CmdTechDrawNewDimension - dim not found\n");
}
dim->References2D.setValues(objs, subs);
doCommand(Doc,"App.activeDocument().%s.MeasureType = 'Projected'",FeatName.c_str());
@ -293,7 +297,7 @@ void CmdTechDrawNewRadiusDimension::activated(int iMsg)
std::vector<Gui::SelectionObject>::iterator itSel = selection.begin();
for (; itSel != selection.end(); itSel++) {
if ((*itSel).getObject()->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
objFeat = dynamic_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
objFeat = static_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
SubNames = (*itSel).getSubNames();
}
}
@ -325,6 +329,9 @@ void CmdTechDrawNewRadiusDimension::activated(int iMsg)
doCommand(Doc, "App.activeDocument().%s.FormatSpec = 'R%%value%%'", FeatName.c_str());
dim = dynamic_cast<TechDraw::DrawViewDimension *>(getDocument()->getObject(FeatName.c_str()));
if (!dim) {
throw Base::Exception("CmdTechDrawNewRadiusDimension - dim not found\n");
}
dim->References2D.setValues(objs, subs);
doCommand(Doc,"App.activeDocument().%s.MeasureType = 'Projected'",FeatName.c_str());
@ -377,7 +384,7 @@ void CmdTechDrawNewDiameterDimension::activated(int iMsg)
std::vector<Gui::SelectionObject>::iterator itSel = selection.begin();
for (; itSel != selection.end(); itSel++) {
if ((*itSel).getObject()->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
objFeat = dynamic_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
objFeat = static_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
SubNames = (*itSel).getSubNames();
}
}
@ -411,6 +418,9 @@ void CmdTechDrawNewDiameterDimension::activated(int iMsg)
doCommand(Doc, "App.activeDocument().%s.FormatSpec = '\xe2\x8c\x80%%value%%'", FeatName.c_str()); // utf-8 encoded diameter symbol
dim = dynamic_cast<TechDraw::DrawViewDimension *>(getDocument()->getObject(FeatName.c_str()));
if (!dim) {
throw Base::Exception("CmdTechDrawNewDiameterDimension - dim not found\n");
}
dim->References2D.setValues(objs, subs);
doCommand(Doc,"App.activeDocument().%s.MeasureType = 'Projected'",FeatName.c_str());
@ -463,7 +473,7 @@ void CmdTechDrawNewLengthDimension::activated(int iMsg)
std::vector<Gui::SelectionObject>::iterator itSel = selection.begin();
for (; itSel != selection.end(); itSel++) {
if ((*itSel).getObject()->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
objFeat = dynamic_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
objFeat = static_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
SubNames = (*itSel).getSubNames();
}
}
@ -513,6 +523,9 @@ void CmdTechDrawNewLengthDimension::activated(int iMsg)
doCommand(Doc,"App.activeDocument().%s.Type = '%s'", FeatName.c_str()
, "Distance");
dim = dynamic_cast<TechDraw::DrawViewDimension *>(getDocument()->getObject(FeatName.c_str()));
if (!dim) {
throw Base::Exception("CmdTechDrawNewLengthDimension - dim not found\n");
}
dim->References2D.setValues(objs, subs);
doCommand(Doc, "App.activeDocument().%s.FormatSpec = '%%value%%'", FeatName.c_str());
@ -567,7 +580,7 @@ void CmdTechDrawNewDistanceXDimension::activated(int iMsg)
std::vector<Gui::SelectionObject>::iterator itSel = selection.begin();
for (; itSel != selection.end(); itSel++) {
if ((*itSel).getObject()->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
objFeat = dynamic_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
objFeat = static_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
SubNames = (*itSel).getSubNames();
}
}
@ -615,6 +628,9 @@ void CmdTechDrawNewDistanceXDimension::activated(int iMsg)
,"DistanceX");
dim = dynamic_cast<TechDraw::DrawViewDimension *>(getDocument()->getObject(FeatName.c_str()));
if (!dim) {
throw Base::Exception("CmdTechDrawNewDistanceXDimension - dim not found\n");
}
dim->References2D.setValues(objs, subs);
doCommand(Doc, "App.activeDocument().%s.FormatSpec = '%%value%%'", FeatName.c_str());
@ -669,7 +685,7 @@ void CmdTechDrawNewDistanceYDimension::activated(int iMsg)
std::vector<Gui::SelectionObject>::iterator itSel = selection.begin();
for (; itSel != selection.end(); itSel++) {
if ((*itSel).getObject()->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
objFeat = dynamic_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
objFeat = static_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
SubNames = (*itSel).getSubNames();
}
}
@ -716,6 +732,9 @@ void CmdTechDrawNewDistanceYDimension::activated(int iMsg)
doCommand(Doc,"App.activeDocument().%s.Type = '%s'",FeatName.c_str()
,"DistanceY");
dim = dynamic_cast<TechDraw::DrawViewDimension *>(getDocument()->getObject(FeatName.c_str()));
if (!dim) {
throw Base::Exception("CmdTechDrawNewDistanceYDimension - dim not found\n");
}
dim->References2D.setValues(objs, subs);
doCommand(Doc, "App.activeDocument().%s.FormatSpec = '%%value%%'", FeatName.c_str());
@ -770,7 +789,7 @@ void CmdTechDrawNewAngleDimension::activated(int iMsg)
std::vector<Gui::SelectionObject>::iterator itSel = selection.begin();
for (; itSel != selection.end(); itSel++) {
if ((*itSel).getObject()->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
objFeat = dynamic_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
objFeat = static_cast<TechDraw::DrawViewPart*> ((*itSel).getObject());
SubNames = (*itSel).getSubNames();
}
}
@ -801,6 +820,9 @@ void CmdTechDrawNewAngleDimension::activated(int iMsg)
,"Angle");
dim = dynamic_cast<TechDraw::DrawViewDimension *>(getDocument()->getObject(FeatName.c_str()));
if (!dim) {
throw Base::Exception("CmdTechDrawNewAngleDimension - dim not found\n");
}
dim->References2D.setValues(objs, subs);
doCommand(Doc,"App.activeDocument().%s.MeasureType = 'Projected'",FeatName.c_str());
@ -858,7 +880,7 @@ void CmdTechDrawLinkDimension::activated(int iMsg)
std::vector<Gui::SelectionObject>::iterator itSel = selection.begin();
for (; itSel != selection.end(); itSel++) {
if ((*itSel).getObject()->isDerivedFrom(Part::Feature::getClassTypeId())) {
obj3D = dynamic_cast<Part::Feature*> ((*itSel).getObject());
obj3D = static_cast<Part::Feature*> ((*itSel).getObject());
subs = (*itSel).getSubNames();
}
}
@ -1072,8 +1094,8 @@ int _isValidEdgeToEdge(Gui::Command* cmd) {
bool _isValidVertexToEdge(Gui::Command* cmd) {
bool result = false;
std::vector<Gui::SelectionObject> selection = cmd->getSelection().getSelectionEx();
TechDraw::DrawViewPart* objFeat0 = dynamic_cast<TechDraw::DrawViewPart *>(selection[0].getObject());
//TechDraw::DrawViewPart* objFeat1 = dynamic_cast<TechDraw::DrawViewPart *>(selection[1].getObject());
TechDraw::DrawViewPart* objFeat0 = static_cast<TechDraw::DrawViewPart *>(selection[0].getObject());
//TechDraw::DrawViewPart* objFeat1 = static_castt<TechDraw::DrawViewPart *>(selection[1].getObject());
const std::vector<std::string> SubNames = selection[0].getSubNames();
if(SubNames.size() == 2) { //there are 2
int eId,vId;

View File

@ -39,7 +39,8 @@ using namespace TechDrawGui;
QGIArrow::QGIArrow() :
m_fill(Qt::SolidPattern),
m_size(5.0)
m_size(5.0),
m_style(0)
{
isFlipped = false;
m_brush.setStyle(m_fill);

View File

@ -41,6 +41,7 @@ using namespace TechDrawGui;
QGISectionLine::QGISectionLine()
{
m_extLen = 8.0;
m_arrowSize = 0.0;
m_line = new QGraphicsPathItem();
addToGroup(m_line);

View File

@ -138,7 +138,8 @@ void QGIDatumLabel::mouseReleaseEvent( QGraphicsSceneMouseEvent * event)
}
QGIViewDimension::QGIViewDimension() :
hasHover(false)
hasHover(false),
m_lineWidth(0.0)
{
setHandlesChildEvents(false);
setFlag(QGraphicsItem::ItemIsMovable, false);

View File

@ -455,7 +455,7 @@ void QGIViewPart::drawSectionLine(bool b)
{
//Base::Console().Message("TRACE - QGIVP::drawSectionLine);
TechDraw::DrawViewPart *viewPart = dynamic_cast<TechDraw::DrawViewPart *>(getViewObject());
TechDraw::DrawViewPart *viewPart = static_cast<TechDraw::DrawViewPart *>(getViewObject());
TechDraw::DrawViewSection *viewSection = viewPart->getSectionRef();
if (!viewPart ||
!viewSection) {