diff options
author | Christian Hergert <chergert@redhat.com> | 2022-06-11 20:35:54 -0700 |
---|---|---|
committer | Christian Hergert <chergert@redhat.com> | 2022-06-12 10:14:48 -0700 |
commit | 945f01d6e73a1a10ec9346fd29230b51b220b859 (patch) | |
tree | 3b39c7f12aec990f9cb18a9ac77d67fad0565e63 | |
parent | 5cebb4ac58b8440d45fa7b67068ef529ac17aaf2 (diff) | |
download | gtksourceview-945f01d6e73a1a10ec9346fd29230b51b220b859.tar.gz |
completion: avoid updates before visible row
But only when the offset will not change (added == removed).
-rw-r--r-- | gtksourceview/gtksourcecompletionlistbox.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/gtksourceview/gtksourcecompletionlistbox.c b/gtksourceview/gtksourcecompletionlistbox.c index b525c4f8..67531858 100644 --- a/gtksourceview/gtksourcecompletionlistbox.c +++ b/gtksourceview/gtksourcecompletionlistbox.c @@ -1075,9 +1075,14 @@ gtk_source_completion_list_box_items_changed_cb (GtkSourceCompletionListBox *sel offset = gtk_source_completion_list_box_get_offset (self); - /* Skip widget resize if results are after visible area */ - if (position >= offset + self->n_rows) + /* Skip widget resize if results are out of view and wont force our + * current results down. + */ + if ((position >= offset + self->n_rows) || + (removed == added && (position + added) < offset)) + { return; + } gtk_source_completion_list_box_queue_update (self); } |