text: Redraw when selection style changes
This commit is contained in:
@@ -3858,6 +3858,15 @@ get_better_cursor_x (GtkText *self,
|
||||
return (direction == priv->resolved_dir) ? strong_pos.x / PANGO_SCALE : weak_pos.x / PANGO_SCALE;
|
||||
}
|
||||
|
||||
static void
|
||||
selection_style_changed_cb (GtkCssNode *node,
|
||||
GtkCssStyleChange *change,
|
||||
GtkText *self)
|
||||
{
|
||||
if (gtk_css_style_change_affects (change, GTK_CSS_AFFECTS_REDRAW))
|
||||
gtk_widget_queue_draw (GTK_WIDGET (self));
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_text_move_cursor (GtkText *self,
|
||||
GtkMovementStep step,
|
||||
@@ -4510,6 +4519,8 @@ gtk_text_set_positions (GtkText *self,
|
||||
gtk_css_node_set_name (priv->selection_node, g_quark_from_static_string ("selection"));
|
||||
gtk_css_node_set_parent (priv->selection_node, widget_node);
|
||||
gtk_css_node_set_state (priv->selection_node, gtk_css_node_get_state (widget_node));
|
||||
g_signal_connect (priv->selection_node, "style-changed",
|
||||
G_CALLBACK (selection_style_changed_cb), self);
|
||||
g_object_unref (priv->selection_node);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user