diff --git a/Applications/ProcessManager/ProcessTableModel.cpp b/Applications/ProcessManager/ProcessTableModel.cpp index f39093088d..492717eb41 100644 --- a/Applications/ProcessManager/ProcessTableModel.cpp +++ b/Applications/ProcessManager/ProcessTableModel.cpp @@ -66,6 +66,10 @@ GModelIndex ProcessTableModel::selected_index() const void ProcessTableModel::set_selected_index(GModelIndex index) { + if (!index.is_valid()) { + m_selected_row = -1; + return; + } if (index.row() >= 0 && index.row() < m_pids.size()) m_selected_row = index.row(); } diff --git a/LibGUI/GTableView.cpp b/LibGUI/GTableView.cpp index ca42ab23c3..f8f908bf5e 100644 --- a/LibGUI/GTableView.cpp +++ b/LibGUI/GTableView.cpp @@ -58,12 +58,15 @@ void GTableView::mousedown_event(GMouseEvent& event) auto adjusted_position = event.position().translated(0, m_scrollbar->value()); if (event.button() == GMouseButton::Left) { for (int i = 0; i < item_count(); ++i) { - if (!row_rect(i).contains(adjusted_position)) - continue; - m_model->set_selected_index({ i, 0 }); - update(); + if (row_rect(i).contains(adjusted_position)) { + m_model->set_selected_index({ i, 0 }); + update(); + return; + } } } + m_model->set_selected_index({ }); + update(); } void GTableView::paint_event(GPaintEvent&)