From b3e65bfdc10fa9ac1a5763084106f7eda520876f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 23 May 2022 08:28:00 -0400 Subject: [PATCH] Remove an assertion that we hit It appears that we mess up accounting for blinking cursors sometimes, and can hit blink_cb when there is a nonempty selection. Instead of asserting, warn and stop blinking. Related: #4767 --- gtk/gtktext.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gtk/gtktext.c b/gtk/gtktext.c index 6bbb6b3098..92903949fe 100644 --- a/gtk/gtktext.c +++ b/gtk/gtktext.c @@ -6535,7 +6535,13 @@ blink_cb (GtkWidget *widget, return G_SOURCE_REMOVE; } - g_assert (priv->selection_bound == priv->current_pos); + if (priv->selection_bound != priv->current_pos) + { + g_warning ("GtkText - unexpected blinking selection. Removing"); + + gtk_text_check_cursor_blink (self); + return G_SOURCE_REMOVE; + } blink_timeout = get_cursor_blink_timeout (self); blink_time = get_cursor_time (self);