[vte/vte-0-62] widget: Limit select-all to the writable region not including the scrollback
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vte/vte-0-62] widget: Limit select-all to the writable region not including the scrollback
- Date: Sat, 26 Dec 2020 13:01:35 +0000 (UTC)
commit 73713ec0644e232fb740170e399282be778d97f9
Author: Christian Persch <chpe src gnome org>
Date: Sat Dec 26 14:01:10 2020 +0100
widget: Limit select-all to the writable region not including the scrollback
Including the scrollback in select-all makes it too easy to select so much
data that putting it on the clipboard either hangs the process for a long time
or causes a crash (gnome-terminal#288).
Fixes: https://gitlab.gnome.org/GNOME/gnome-terminal/-/issues/288
(cherry picked from commit caf8a6a7a17a3f70fa5fc611c71ffb27a5cfee75)
src/vte.cc | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
---
diff --git a/src/vte.cc b/src/vte.cc
index 840dcc56..f6d0a664 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -6719,7 +6719,10 @@ Terminal::maybe_end_selection()
/*
* Terminal::select_all:
*
- * Selects all text within the terminal (including the scrollback buffer).
+ * Selects all text within the terminal. Note that we only select the writable
+ * region, *not* the scrollback buffer, due to this potentially selecting so
+ * much data that putting it on the clipboard either hangs the process for a long
+ * time or even crash it directly. (FIXME!)
*/
void
Terminal::select_all()
@@ -6728,8 +6731,8 @@ Terminal::select_all()
m_selecting_had_delta = TRUE;
- m_selection_resolved.set ({ _vte_ring_delta (m_screen->row_data), 0 },
- { _vte_ring_next (m_screen->row_data), 0 });
+ m_selection_resolved.set({m_screen->insert_delta, 0},
+ {_vte_ring_next(m_screen->row_data), 0});
_vte_debug_print(VTE_DEBUG_SELECTION, "Selecting *all* text.\n");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]