[calculation] Fix memoization: hold the calculation and not its address

which is likely to have changed
This commit is contained in:
Émilie Feral
2018-09-21 17:34:04 +02:00
committed by EmilieNumworks
parent 0701381897
commit 4e8cd02d3f
2 changed files with 4 additions and 4 deletions

View File

@@ -9,7 +9,7 @@ namespace Calculation {
HistoryViewCell::HistoryViewCell(Responder * parentResponder) :
Responder(parentResponder),
m_calculation(nullptr),
m_calculation(),
m_inputLayout(),
m_exactOutputLayout(),
m_approximateOutputLayout(),
@@ -95,10 +95,10 @@ void HistoryViewCell::layoutSubviews() {
}
void HistoryViewCell::setCalculation(Calculation * calculation) {
if (m_calculation != nullptr && *calculation == *m_calculation) {
if (*calculation == m_calculation) {
return;
}
m_calculation = calculation;
m_calculation = *calculation;
m_inputLayout = calculation->createInputLayout();
m_inputView.setLayout(m_inputLayout);
App * calculationApp = (App *)app();

View File

@@ -36,7 +36,7 @@ public:
Shared::ScrollableExactApproximateExpressionsView * outputView();
private:
constexpr static KDCoordinate k_resultWidth = 80;
Calculation * m_calculation;
Calculation m_calculation;
Poincare::Layout m_inputLayout;
Poincare::Layout m_exactOutputLayout;
Poincare::Layout m_approximateOutputLayout;