Skip to content

Commit c37b673

Browse files
authored
Merge pull request #10211 from gudeh/gpl-fix-debug-seg-fault
gpl: deubg fix seg fault
2 parents 7d116e2 + 44c79d6 commit c37b673

1 file changed

Lines changed: 29 additions & 22 deletions

File tree

src/gpl/src/graphicsImpl.cpp

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -604,46 +604,53 @@ void GraphicsImpl::addIter(const int iter, const double overflow)
604604
}
605605
stepLength_chart_->addPoint(iter, values);
606606

607-
values.clear();
608-
if (!nbVec_.empty() && nbVec_[0]) {
609-
values.push_back(static_cast<double>(rb_->getRudyAverage()));
610-
values.push_back(
611-
block->dbuAreaToMicrons(nbVec_[0]->getNesterovInstsArea()));
612-
const double total_tiles = static_cast<double>(rb_->getTotalTilesCount());
613-
values.push_back(total_tiles > 0.0
614-
? (static_cast<double>(rb_->getOverflowedTilesCount())
615-
/ total_tiles * 100.0)
616-
: 0.0);
617-
values.push_back((rb_->getTotalRudyOverflow()));
618-
} else {
619-
values.push_back(0.0);
620-
values.push_back(0.0);
621-
values.push_back(0.0);
622-
values.push_back(0.0);
623-
values.push_back(0.0);
607+
if (routing_chart_) {
608+
values.clear();
609+
if (!nbVec_.empty() && nbVec_[0] && rb_) {
610+
values.push_back(static_cast<double>(rb_->getRudyAverage()));
611+
values.push_back(
612+
block->dbuAreaToMicrons(nbVec_[0]->getNesterovInstsArea()));
613+
const double total_tiles = static_cast<double>(rb_->getTotalTilesCount());
614+
values.push_back(total_tiles > 0.0 ? (static_cast<double>(
615+
rb_->getOverflowedTilesCount())
616+
/ total_tiles * 100.0)
617+
: 0.0);
618+
values.push_back((rb_->getTotalRudyOverflow()));
619+
} else {
620+
values.push_back(0.0);
621+
values.push_back(0.0);
622+
values.push_back(0.0);
623+
values.push_back(0.0);
624+
}
625+
routing_chart_->addPoint(iter, values);
624626
}
625-
routing_chart_->addPoint(iter, values);
626627
}
627628

628629
void GraphicsImpl::addTimingDrivenIter(const int iter)
629630
{
630631
main_chart_->addVerticalMarker(iter, gui::Painter::kTurquoise);
631-
routing_chart_->addVerticalMarker(iter, gui::Painter::kTurquoise);
632+
if (routing_chart_) {
633+
routing_chart_->addVerticalMarker(iter, gui::Painter::kTurquoise);
634+
}
632635
}
633636

634637
void GraphicsImpl::addRoutabilitySnapshot(int iter)
635638
{
636639
main_chart_->addVerticalMarker(iter, gui::Painter::kYellow);
637-
routing_chart_->addVerticalMarker(iter, gui::Painter::kYellow);
640+
if (routing_chart_) {
641+
routing_chart_->addVerticalMarker(iter, gui::Painter::kYellow);
642+
}
638643
}
639644

640645
void GraphicsImpl::addRoutabilityIter(const int iter, const bool revert)
641646
{
642647
gui::Painter::Color color
643648
= revert ? gui::Painter::kRed : gui::Painter::kGreen;
644649
main_chart_->addVerticalMarker(iter, color);
645-
routing_chart_->addVerticalMarker(
646-
iter, rb_->isMinRc() ? gui::Painter::kMagenta : gui::Painter::kBlack);
650+
if (routing_chart_ && rb_) {
651+
routing_chart_->addVerticalMarker(
652+
iter, rb_->isMinRc() ? gui::Painter::kMagenta : gui::Painter::kBlack);
653+
}
647654
}
648655

649656
void GraphicsImpl::cellPlotImpl(bool pause)

0 commit comments

Comments
 (0)