[vte] widget: Fix check for changed screen in process_incoming
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vte] widget: Fix check for changed screen in process_incoming
- Date: Sat, 30 Jan 2016 17:20:36 +0000 (UTC)
commit 17edda3088a0dd7c6f8cb6fd1866bb7391790ff2
Author: Christian Persch <chpe gnome org>
Date: Sat Jan 30 18:19:27 2016 +0100
widget: Fix check for changed screen in process_incoming
This was accidentally broken in commit 423063840d1304fdd7ff2d87f2041e70a07f599a.
src/vte.cc | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/src/vte.cc b/src/vte.cc
index bbd700c..157a03e 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -3659,6 +3659,8 @@ VteTerminalPrivate::process_incoming()
m_pending->len);
_vte_debug_print (VTE_DEBUG_WORK, "(");
+ auto previous_screen = m_screen;
+
bottom = screen->insert_delta == (long)m_screen->scroll_delta;
auto top_row = first_displayed_row();
@@ -3778,6 +3780,8 @@ skip_chunk:
start = (next - wbuf);
modified = TRUE;
+ // FIXME m_screen may be != previous_screen, check for that!
+
new_in_scroll_region = m_scrolling_restricted
&& (m_screen->cursor.row >= (screen->insert_delta + m_scrolling_region.start))
&& (m_screen->cursor.row <= (screen->insert_delta + m_scrolling_region.end));
@@ -3945,11 +3949,11 @@ skip_chunk:
#ifdef VTE_DEBUG
/* Some safety checks: ensure the visible parts of the buffer
* are all in the buffer. */
- g_assert(screen->insert_delta >=
- _vte_ring_delta(screen->row_data));
+ g_assert_cmpint(m_screen->insert_delta, >=, _vte_ring_delta(m_screen->row_data));
+
/* The cursor shouldn't be above or below the addressable
* part of the display buffer. */
- g_assert(m_screen->cursor.row >= m_screen->insert_delta);
+ g_assert_cmpint(m_screen->cursor.row, >=, m_screen->insert_delta);
#endif
next_match:
@@ -3991,7 +3995,7 @@ next_match:
}
}
- if (modified || (screen != m_screen)) {
+ if (modified || (m_screen != previous_screen)) {
/* Signal that the visible contents changed. */
queue_contents_changed();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]