TD: Fix several coverity issues:
* CID 316569: Uninitialized scalar variable * CID 350651: Unchecked dynamic_cast * CID 350565: Unchecked dynamic_cast * CID 350595: Unchecked dynamic_cast * CID 350638: Unchecked dynamic_cast * CID 350547: Division or modulo by float zero
This commit is contained in:
@@ -182,6 +182,7 @@ BaseGeom::BaseGeom() :
|
||||
{
|
||||
occEdge = TopoDS_Edge();
|
||||
cosmeticTag = std::string();
|
||||
tag = boost::uuids::nil_uuid();
|
||||
}
|
||||
|
||||
BaseGeomPtr BaseGeom::copy()
|
||||
|
||||
@@ -105,7 +105,7 @@ void execInsertPrefixChar(Gui::Command* cmd, std::string prefixChar) {
|
||||
for (auto selected : selection) {
|
||||
auto object = selected.getObject();
|
||||
if (object->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId())) {
|
||||
auto dim = dynamic_cast<TechDraw::DrawViewDimension*>(selected.getObject());
|
||||
auto dim = static_cast<TechDraw::DrawViewDimension*>(selected.getObject());
|
||||
std::string formatSpec = dim->FormatSpec.getStrValue();
|
||||
formatSpec = prefixChar + formatSpec;
|
||||
dim->FormatSpec.setValue(formatSpec);
|
||||
@@ -190,7 +190,7 @@ void execRemovePrefixChar(Gui::Command* cmd) {
|
||||
{
|
||||
auto object = selected.getObject();
|
||||
if (object->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId())) {
|
||||
auto dim = dynamic_cast<TechDraw::DrawViewDimension*>(selected.getObject());
|
||||
auto dim = static_cast<TechDraw::DrawViewDimension*>(selected.getObject());
|
||||
std::string formatSpec = dim->FormatSpec.getStrValue();
|
||||
int pos = formatSpec.find("%.");
|
||||
if (pos != 0)
|
||||
@@ -360,7 +360,7 @@ void execIncreaseDecreaseDecimal(Gui::Command* cmd, int delta) {
|
||||
for (auto selected : selection) {
|
||||
auto object = selected.getObject();
|
||||
if (object->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId())) {
|
||||
auto dim = dynamic_cast<TechDraw::DrawViewDimension*>(selected.getObject());
|
||||
auto dim = static_cast<TechDraw::DrawViewDimension*>(selected.getObject());
|
||||
std::string formatSpec = dim->FormatSpec.getStrValue();
|
||||
std::string searchStr("%.");
|
||||
int numFound = formatSpec.find(searchStr) + 2;
|
||||
@@ -2343,7 +2343,7 @@ namespace TechDrawGui {
|
||||
for (auto selected : selection) {
|
||||
auto object = selected.getObject();
|
||||
if (object->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId())) {
|
||||
auto dim = dynamic_cast<TechDraw::DrawViewDimension*>(selected.getObject());
|
||||
auto dim = static_cast<TechDraw::DrawViewDimension*>(selected.getObject());
|
||||
std::string dimType = dim->Type.getValueAsString();
|
||||
if (dimType == needDimType)
|
||||
validDimension.push_back(dim);
|
||||
|
||||
@@ -1403,7 +1403,6 @@ void CmdTechDrawExtensionLockUnlockView::activated(int iMsg) {
|
||||
return;
|
||||
Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Lock/Unlock View"));
|
||||
if (objFeat->isDerivedFrom(TechDraw::DrawViewPart::getClassTypeId())) {
|
||||
auto objFeat = dynamic_cast<TechDraw::DrawViewPart*>(selection[0].getObject());
|
||||
bool lockPosition = objFeat->LockPosition.getValue();
|
||||
lockPosition = !lockPosition;
|
||||
objFeat->LockPosition.setValue(lockPosition);
|
||||
@@ -1819,8 +1818,11 @@ void CmdTechDrawExtensionAreaAnnotation::activated(int iMsg)
|
||||
QString qUserString = asQuantity.getUserString();
|
||||
std::string sUserString = Base::Tools::toStdString(qUserString);
|
||||
|
||||
xCenter = (xCenter/totalPoints)/scale;
|
||||
yCenter = (yCenter/totalPoints)/scale;
|
||||
if (totalPoints != 0 && scale != 0.0) {
|
||||
xCenter = (xCenter/totalPoints)/scale;
|
||||
yCenter = (yCenter/totalPoints)/scale;
|
||||
}
|
||||
|
||||
// set the attributes in the data tab's fields
|
||||
balloon->SourceView.setValue(objFeat);
|
||||
balloon->BubbleShape.setValue("Rectangle");
|
||||
@@ -1871,17 +1873,20 @@ namespace TechDrawGui {
|
||||
std::string _createBalloon(Gui::Command* cmd, TechDraw::DrawViewPart* objFeat)
|
||||
// create a new balloon, return it's name as string
|
||||
{
|
||||
std::string featName;
|
||||
TechDraw::DrawPage* page = objFeat->findParentPage();
|
||||
page->balloonParent = objFeat;
|
||||
Gui::Document* guiDoc = Gui::Application::Instance->getDocument(page->getDocument());
|
||||
ViewProviderPage* pageVP = dynamic_cast<ViewProviderPage*>(guiDoc->getViewProvider(page));
|
||||
QGVPage* viewPage = pageVP->getGraphicsView();
|
||||
std::string featName = viewPage->getDrawPage()->getDocument()->getUniqueObjectName("Balloon");
|
||||
std::string pageName = viewPage->getDrawPage()->getNameInDocument();
|
||||
cmd->doCommand(cmd->Doc, "App.activeDocument().addObject('TechDraw::DrawViewBalloon','%s')",
|
||||
featName.c_str());
|
||||
cmd->doCommand(cmd->Doc, "App.activeDocument().%s.addView(App.activeDocument().%s)",
|
||||
pageName.c_str(), featName.c_str());
|
||||
if (pageVP) {
|
||||
QGVPage* viewPage = pageVP->getGraphicsView();
|
||||
featName = viewPage->getDrawPage()->getDocument()->getUniqueObjectName("Balloon");
|
||||
std::string pageName = viewPage->getDrawPage()->getNameInDocument();
|
||||
cmd->doCommand(cmd->Doc, "App.activeDocument().addObject('TechDraw::DrawViewBalloon','%s')",
|
||||
featName.c_str());
|
||||
cmd->doCommand(cmd->Doc, "App.activeDocument().%s.addView(App.activeDocument().%s)",
|
||||
pageName.c_str(), featName.c_str());
|
||||
}
|
||||
return featName;
|
||||
}
|
||||
|
||||
|
||||
@@ -108,17 +108,15 @@ void TaskCustomizeFormat::changeEvent(QEvent *e)
|
||||
void TaskCustomizeFormat::setUiEdit()
|
||||
{
|
||||
setWindowTitle(tr("Customize Format"));
|
||||
if (selectedObject->isDerivedFrom(TechDraw::DrawViewDimension::getClassTypeId()))
|
||||
if (auto dim = dynamic_cast<TechDraw::DrawViewDimension*>(selectedObject))
|
||||
{
|
||||
auto dim = dynamic_cast<TechDraw::DrawViewDimension*>(selectedObject);
|
||||
isDimension = true;
|
||||
std::string dimText = dim->FormatSpec.getStrValue();
|
||||
dimRawValue = dim->getDimValue();
|
||||
ui->leFormat->setText(Base::Tools::fromStdString(dimText));
|
||||
}
|
||||
else
|
||||
else if (auto balloon = dynamic_cast<TechDraw::DrawViewBalloon*>(selectedObject))
|
||||
{
|
||||
auto balloon = dynamic_cast<TechDraw::DrawViewBalloon*>(selectedObject);
|
||||
isDimension = false;
|
||||
std::string balloonText = balloon->Text.getStrValue();
|
||||
ui->leFormat->setText(Base::Tools::fromStdString(balloonText));
|
||||
@@ -191,9 +189,12 @@ void TaskCustomizeFormat::onSymbolClicked()
|
||||
{
|
||||
// Slot: a symbol PushButton has been clicked
|
||||
QObject* senderObj(this->sender());
|
||||
QPushButton* pressedButton = dynamic_cast<QPushButton*>(senderObj);
|
||||
QString pbText = pressedButton->text();
|
||||
ui->leFormat->insert(pbText);
|
||||
QPushButton* pressedButton = qobject_cast<QPushButton*>(senderObj);
|
||||
if (pressedButton)
|
||||
{
|
||||
QString pbText = pressedButton->text();
|
||||
ui->leFormat->insert(pbText);
|
||||
}
|
||||
}
|
||||
|
||||
void TaskCustomizeFormat::onFormatChanged()
|
||||
|
||||
Reference in New Issue
Block a user