From 4f3f620720f9938b0f2805a6da7c48418df83bb2 Mon Sep 17 00:00:00 2001 From: wandererfan Date: Mon, 2 Apr 2018 12:42:29 -0400 Subject: [PATCH] Coverity fixes CID 174671 CID 174670 CID 174669 CID 174668 CID 174667 CID 174664 --- src/Mod/TechDraw/App/DrawUtil.cpp | 1 + src/Mod/TechDraw/Gui/DrawGuiUtil.cpp | 24 ++++++++++--------- src/Mod/TechDraw/Gui/QGICenterLine.cpp | 1 + .../TechDraw/Gui/ViewProviderDimension.cpp | 1 + .../TechDraw/Gui/ViewProviderGeomHatch.cpp | 1 + src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp | 1 + 6 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/Mod/TechDraw/App/DrawUtil.cpp b/src/Mod/TechDraw/App/DrawUtil.cpp index d8b94dbf66..7427b93047 100644 --- a/src/Mod/TechDraw/App/DrawUtil.cpp +++ b/src/Mod/TechDraw/App/DrawUtil.cpp @@ -433,6 +433,7 @@ double DrawUtil::getDefaultLineWeight(std::string lineType) auto lg = LineGroup::lineGroupFactory(lgName); double weight = lg->getWeight(lineType); + delete lg; //Coverity CID 174671 return weight; } diff --git a/src/Mod/TechDraw/Gui/DrawGuiUtil.cpp b/src/Mod/TechDraw/Gui/DrawGuiUtil.cpp index bd8dca1e65..0d6b15a39e 100644 --- a/src/Mod/TechDraw/Gui/DrawGuiUtil.cpp +++ b/src/Mod/TechDraw/Gui/DrawGuiUtil.cpp @@ -75,19 +75,9 @@ using namespace TechDrawGui; //find a page in Selection, Document or CurrentWindow. TechDraw::DrawPage* DrawGuiUtil::findPage(Gui::Command* cmd) { - TechDraw::DrawPage* page = nullptr; + TechDraw::DrawPage* page; bool warn = true; - //default to currently displayed DrawPage is there is one - Gui::MainWindow* w = Gui::getMainWindow(); - Gui::MDIView* mv = w->activeWindow(); - MDIViewPage* mvp = dynamic_cast(mv); - if (mvp) { - QString windowTitle = mvp->windowTitle(); - QGVPage* qp = mvp->getQGVPage(); - page = qp->getDrawPage(); - } - //check Selection and/or Document for a DrawPage std::vector selPages = cmd->getSelection().getObjectsOfType(TechDraw::DrawPage::getClassTypeId()); if (selPages.empty()) { //no page in selection @@ -114,6 +104,18 @@ TechDraw::DrawPage* DrawGuiUtil::findPage(Gui::Command* cmd) page = static_cast(selPages.front()); } + //default to currently displayed DrawPage is there is one //code moved Coverity CID 174668 + if (page == nullptr) { + Gui::MainWindow* w = Gui::getMainWindow(); + Gui::MDIView* mv = w->activeWindow(); + MDIViewPage* mvp = dynamic_cast(mv); + if (mvp) { + QString windowTitle = mvp->windowTitle(); + QGVPage* qp = mvp->getQGVPage(); + page = qp->getDrawPage(); + } + } + if ((page == nullptr) && (warn) ) { QMessageBox::warning(Gui::getMainWindow(), QObject::tr("No page found"), diff --git a/src/Mod/TechDraw/Gui/QGICenterLine.cpp b/src/Mod/TechDraw/Gui/QGICenterLine.cpp index 552219e191..2aff501a95 100644 --- a/src/Mod/TechDraw/Gui/QGICenterLine.cpp +++ b/src/Mod/TechDraw/Gui/QGICenterLine.cpp @@ -44,6 +44,7 @@ QGICenterLine::QGICenterLine() setWidth(0.0); setStyle(getCenterStyle()); setColor(getCenterColor()); + m_isintersection = false; //Coverity CID 174669 } void QGICenterLine::draw() diff --git a/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp b/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp index da56887a45..94ac428529 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderDimension.cpp @@ -68,6 +68,7 @@ ViewProviderDimension::ViewProviderDimension() std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); double weight = lg->getWeight("Thin"); + delete lg; //Coverity CID 174670 ADD_PROPERTY_TYPE(LineWidth,(weight) ,group,(App::PropertyType)(App::Prop_None),"Dimension line weight"); hGrp = App::GetApplication().GetUserParameter() diff --git a/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp b/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp index 013c452d67..20cf1b5604 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderGeomHatch.cpp @@ -194,6 +194,7 @@ void ViewProviderGeomHatch::getParameters(void) std::string lgName = hGrp->GetASCII("LineGroup","FC 0.70mm"); auto lg = TechDraw::LineGroup::lineGroupFactory(lgName); double weight = lg->getWeight("Graphic"); + delete lg; //Coverity CID 174667 WeightPattern.setValue(weight); } diff --git a/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp b/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp index 3d573145b8..5e1f62dccd 100644 --- a/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp +++ b/src/Mod/TechDraw/Gui/ViewProviderViewPart.cpp @@ -76,6 +76,7 @@ ViewProviderViewPart::ViewProviderViewPart() weight = lg->getWeight("Extra"); ADD_PROPERTY_TYPE(ExtraWidth,(weight),group,App::Prop_None,"The thickness of LineGroup Extra lines, if enabled"); + delete lg; //Coverity CID 174664 //decorations ADD_PROPERTY_TYPE(HorizCenterLine ,(false),dgroup,App::Prop_None,"Show a horizontal centerline through view");