From c673a0bcc39c74b445afe15771c8b79e5cfb3b5b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 25 Jul 2024 16:53:29 -0600 Subject: [PATCH] label: Clear layout when text direction changes Otherwise, wrong alignment settings may linger in the layout. Fixes: #6836 --- gtk/gtklabel.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index f829ba7af7..21f266f212 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -2270,6 +2270,13 @@ gtk_label_copy_clipboard (GtkLabel *self) } } +static void +gtk_label_direction_changed (GtkWidget *widget, + GtkTextDirection previous_direction) +{ + gtk_label_clear_layout (GTK_LABEL (widget)); +} + static void gtk_label_class_init (GtkLabelClass *class) { @@ -2294,6 +2301,7 @@ gtk_label_class_init (GtkLabelClass *class) widget_class->focus = gtk_label_focus; widget_class->get_request_mode = gtk_label_get_request_mode; widget_class->measure = gtk_label_measure; + widget_class->direction_changed = gtk_label_direction_changed; class->move_cursor = gtk_label_move_cursor; class->copy_clipboard = gtk_label_copy_clipboard;