Merge branch 'fix_traceanalyzer_leak' into 'develop'
Fix a memory leak in TraceAnalyzer See merge request ems/astdm/dram.sys!294
This commit is contained in:
@@ -129,22 +129,22 @@ QColor Phase::getColor(const TraceDrawingProperties &drawingProperties) const
|
||||
break;
|
||||
case ColorGrouping::Thread:
|
||||
return ColorGenerator::getColor(static_cast<unsigned int>
|
||||
(transaction->thread));
|
||||
(transaction.lock()->thread));
|
||||
break;
|
||||
case ColorGrouping::Transaction:
|
||||
default:
|
||||
return ColorGenerator::getColor(transaction->id);
|
||||
return ColorGenerator::getColor(transaction.lock()->id);
|
||||
}
|
||||
}
|
||||
|
||||
int Phase::getYVal(const TraceDrawingProperties &drawingProperties) const
|
||||
{
|
||||
if (getGranularity() == Granularity::Bankwise)
|
||||
return drawingProperties.getYValOfBank(transaction->bank);
|
||||
return drawingProperties.getYValOfBank(transaction.lock()->bank);
|
||||
else if (getGranularity() == Granularity::Groupwise)
|
||||
return drawingProperties.getYValOfBankGroup(transaction->rank, transaction->bank);
|
||||
return drawingProperties.getYValOfBankGroup(transaction.lock()->rank, transaction.lock()->bank);
|
||||
else // if (getGranularity() == Granularity::Rankwise)
|
||||
return drawingProperties.getYValOfRank(transaction->rank);
|
||||
return drawingProperties.getYValOfRank(transaction.lock()->rank);
|
||||
}
|
||||
|
||||
Qt::BrushStyle Phase::getBrushStyle() const
|
||||
@@ -206,5 +206,5 @@ bool Phase::isCollapsed(const TraceDrawingProperties &drawingProperties) const
|
||||
if (dynamic_cast<const REQ *>(this) != nullptr || dynamic_cast<const RESP *>(this) != nullptr)
|
||||
return false;
|
||||
|
||||
return drawingProperties.getRankCollapsedState(transaction->rank);
|
||||
return drawingProperties.getRankCollapsedState(transaction.lock()->rank);
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ protected:
|
||||
ID id;
|
||||
Timespan span;
|
||||
traceTime clk;
|
||||
std::shared_ptr<Transaction> transaction;
|
||||
std::weak_ptr<Transaction> transaction;
|
||||
std::vector<Timespan> spansOnCommandBus;
|
||||
std::shared_ptr<Timespan> spanOnDataBus;
|
||||
double hexagonHeight;
|
||||
|
||||
Reference in New Issue
Block a user