|
@@ -592,8 +592,9 @@ VT::Position TerminalWidget::buffer_position_at(const Gfx::IntPoint& position) c
|
|
column = 0;
|
|
column = 0;
|
|
if (row >= m_terminal.rows())
|
|
if (row >= m_terminal.rows())
|
|
row = m_terminal.rows() - 1;
|
|
row = m_terminal.rows() - 1;
|
|
- if (column >= m_terminal.columns())
|
|
|
|
- column = m_terminal.columns() - 1;
|
|
|
|
|
|
+ auto& line = m_terminal.line(row);
|
|
|
|
+ if (column >= (int)line.length())
|
|
|
|
+ column = line.length() - 1;
|
|
row += m_scrollbar->value();
|
|
row += m_scrollbar->value();
|
|
return { row, column };
|
|
return { row, column };
|
|
}
|
|
}
|
|
@@ -736,7 +737,7 @@ void TerminalWidget::doubleclick_event(GUI::MouseEvent& event)
|
|
start_column = column;
|
|
start_column = column;
|
|
}
|
|
}
|
|
|
|
|
|
- for (int column = position.column(); column < m_terminal.columns() && (line.code_point(column) == ' ') == want_whitespace; ++column) {
|
|
|
|
|
|
+ for (int column = position.column(); column < (int)line.length() && (line.code_point(column) == ' ') == want_whitespace; ++column) {
|
|
end_column = column;
|
|
end_column = column;
|
|
}
|
|
}
|
|
|
|
|