[vte/wip/egmont/bidi: 66/82] hack around some crashes
- From: Egmont Koblinger <egmontkob src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vte/wip/egmont/bidi: 66/82] hack around some crashes
- Date: Mon, 10 Dec 2018 22:34:02 +0000 (UTC)
commit 1078c5c3d9492137e926b32579d8ba2ac00f35d6
Author: Egmont Koblinger <egmont gmail com>
Date: Wed Sep 19 13:55:45 2018 +0200
hack around some crashes
BIDI-STATUS | 1 -
src/vte.cc | 25 ++++++++++++++++++++++++-
2 files changed, 24 insertions(+), 2 deletions(-)
---
diff --git a/BIDI-STATUS b/BIDI-STATUS
index b8657f00..4d0f734d 100644
--- a/BIDI-STATUS
+++ b/BIDI-STATUS
@@ -20,7 +20,6 @@ Bugs:
reviewed, adjusted, fixed properly.
- Copying text in rectangle mode.
- Crashes when mouse selection initiates scrolling.
-- Crashes with quitting mc using mouse.
Missing from first release:
- Adjust mouse reporting.
diff --git a/src/vte.cc b/src/vte.cc
index 8639fae9..f9ff14e5 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -5875,6 +5875,14 @@ Terminal::hyperlink_hilite_update()
if (!m_allow_hyperlink)
return;
+
+ // FIXME find a nicer place for these
+ m_ringview.set_ring (m_screen->row_data);
+ m_ringview.set_rows ((long) m_screen->scroll_delta, m_row_count + 3);
+ m_ringview.set_width (m_column_count);
+ m_ringview.update ();
+
+
_vte_debug_print (VTE_DEBUG_HYPERLINK,
"hyperlink_hilite_update\n");
@@ -5984,6 +5992,14 @@ Terminal::match_hilite_update()
glong col = pos.x / m_cell_width;
glong row = pixel_to_row(pos.y);
+
+ // FIXME find a nicer place for these
+ m_ringview.set_ring (m_screen->row_data);
+ m_ringview.set_rows ((long) m_screen->scroll_delta, m_row_count + 3);
+ m_ringview.set_width (m_column_count);
+ m_ringview.update ();
+
+
/* BiDi: convert to logical column. */
vte::base::BidiRow const* bidirow = m_ringview.get_row_map(confine_grid_row(row));
col = bidirow->vis2log(col);
@@ -9626,7 +9642,6 @@ Terminal::widget_scroll(GdkEventScroll *event)
int button;
GdkEvent *base_event = reinterpret_cast<GdkEvent*>(event);
- auto rowcol = confined_grid_coords_from_event(base_event);
read_modifiers(base_event);
@@ -9661,6 +9676,14 @@ Terminal::widget_scroll(GdkEventScroll *event)
"Scroll application by %d lines, smooth scroll delta set back to %f\n",
cnt, m_mouse_smooth_scroll_delta);
+ // FIXME find a nicer place for these – rowcol below needs an updated ringview to do BiDi
+ m_ringview.set_ring (m_screen->row_data);
+ m_ringview.set_rows ((long) m_screen->scroll_delta, m_row_count + 3);
+ m_ringview.set_width (m_column_count);
+ m_ringview.update ();
+
+ auto rowcol = confined_grid_coords_from_event(base_event);
+
button = cnt > 0 ? 5 : 4;
if (cnt < 0)
cnt = -cnt;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]