[gtk/wip/chergert/gtk4-textview-fix-selections] textlinedisplaycache: short-circuit y_range invalidation
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/chergert/gtk4-textview-fix-selections] textlinedisplaycache: short-circuit y_range invalidation
- Date: Sun, 2 Aug 2020 23:36:46 +0000 (UTC)
commit 94d17a68093d623a07018a5279175cfcf56ec409
Author: Christian Hergert <chergert redhat com>
Date: Sun Aug 2 16:35:50 2020 -0700
textlinedisplaycache: short-circuit y_range invalidation
If we have a y==-1 then we are generally invalidating the whole textview.
For this case, we can just discard the entire GtkTextLineDisplay cache.
Fixes #2975
gtk/gtktextlinedisplaycache.c | 6 ++++++
1 file changed, 6 insertions(+)
---
diff --git a/gtk/gtktextlinedisplaycache.c b/gtk/gtktextlinedisplaycache.c
index fa595644ff..91ce0d98e4 100644
--- a/gtk/gtktextlinedisplaycache.c
+++ b/gtk/gtktextlinedisplaycache.c
@@ -663,6 +663,12 @@ gtk_text_line_display_cache_invalidate_y_range (GtkTextLineDisplayCache *cache,
STAT_INC (cache->inval_by_y_range);
+ if (y < 0)
+ {
+ gtk_text_line_display_cache_invalidate (cache);
+ return;
+ }
+
btree = _gtk_text_buffer_get_btree (layout->buffer);
iter = find_iter_at_at_y (cache, layout, y);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]