diff --git a/apps/graph/values/values_controller.cpp b/apps/graph/values/values_controller.cpp index b90742ae2..ac56f3c4c 100644 --- a/apps/graph/values/values_controller.cpp +++ b/apps/graph/values/values_controller.cpp @@ -173,7 +173,11 @@ void ValuesController::didBecomeFirstResponder() { if (m_selectableTableView.selectedRow() == -1) { m_selectableTableView.selectCellAtLocation(0, 0); } else { - m_selectableTableView.selectCellAtLocation(m_selectableTableView.selectedColumn(), m_selectableTableView.selectedRow()); + int selectedRow = m_selectableTableView.selectedRow(); + selectedRow = selectedRow >= numberOfRows() ? numberOfRows()-1 : selectedRow; + int selectedColumn = m_selectableTableView.selectedColumn(); + selectedColumn = selectedColumn >= numberOfColumns() ? numberOfColumns() - 1 : selectedColumn; + m_selectableTableView.selectCellAtLocation(selectedColumn, selectedRow); } app()->setFirstResponder(&m_selectableTableView); }