[apps] Fix variable box layout memoization

Reset the memoization when changing the variable box tab
This commit is contained in:
Léa Saviot
2018-11-05 15:11:00 +01:00
committed by Émilie Feral
parent 7c4b7495f3
commit 549c9ed1fd
2 changed files with 12 additions and 3 deletions

View File

@@ -36,9 +36,8 @@ void VariableBoxController::viewDidDisappear() {
for (int i = 0; i < k_maxNumberOfDisplayedRows; i++) {
m_leafCells[i].setLayout(Layout());
m_leafCells[i].setAccessoryLayout(Layout());
m_layouts[i] = Layout();
}
m_firstMemoizedLayoutIndex = 0;
resetMemoization();
NestedMenuController::viewDidDisappear();
}
@@ -156,8 +155,10 @@ bool VariableBoxController::selectSubMenu(int selectedRow) {
bool VariableBoxController::returnToPreviousMenu() {
if (isDisplayingEmptyController()) {
pop();
} else {
m_selectableTableView.deselectTable();
resetMemoization();
}
m_selectableTableView.deselectTable();
m_currentPage = Page::RootMenu;
return NestedMenuController::returnToPreviousMenu();
}
@@ -241,3 +242,10 @@ bool VariableBoxController::displayEmptyController() {
}
return false;
}
void VariableBoxController::resetMemoization() {
for (int i = 0; i < k_maxNumberOfDisplayedRows; i++) {
m_layouts[i] = Layout();
}
m_firstMemoizedLayoutIndex = 0;
}