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
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);