From: Matthias Clasen Date: Tue, 4 Feb 2020 21:40:11 +0000 (+0100) Subject: textview: Don't update action state in dispose X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~20^2~102 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=47c21a255f9757596d9982a277e248b678f1e30a;p=gtk4.git textview: Don't update action state in dispose Only update the action state when we have a text buffer, there is no need to do it otherwise, since we are going to get a buffer before we get shown. This avoids triggering the action state updates from finalize, which is a bad time to be recreating the action muxer. --- diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 4e6ce8d468..8277be0349 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -1828,8 +1828,6 @@ gtk_text_view_set_buffer (GtkTextView *text_view, { GtkTextViewPrivate *priv; GtkTextBuffer *old_buffer; - gboolean can_undo = FALSE; - gboolean can_redo = FALSE; g_return_if_fail (GTK_IS_TEXT_VIEW (text_view)); g_return_if_fail (buffer == NULL || GTK_IS_TEXT_BUFFER (buffer)); @@ -1888,6 +1886,8 @@ gtk_text_view_set_buffer (GtkTextView *text_view, if (buffer != NULL) { GtkTextIter start; + gboolean can_undo = FALSE; + gboolean can_redo = FALSE; g_object_ref (buffer); @@ -1931,10 +1931,10 @@ gtk_text_view_set_buffer (GtkTextView *text_view, if (priv->text_handle) gtk_text_view_update_handles (text_view, GTK_TEXT_HANDLE_MODE_NONE); - } - gtk_widget_action_set_enabled (GTK_WIDGET (text_view), "text.undo", can_undo); - gtk_widget_action_set_enabled (GTK_WIDGET (text_view), "text.redo", can_redo); + gtk_widget_action_set_enabled (GTK_WIDGET (text_view), "text.undo", can_undo); + gtk_widget_action_set_enabled (GTK_WIDGET (text_view), "text.redo", can_redo); + } _gtk_text_view_accessible_set_buffer (text_view, old_buffer); if (old_buffer)