From: Timm Bäder Date: Sat, 28 Sep 2019 08:30:35 +0000 (+0200) Subject: modelbutton: Replace map() with root() X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~20^2~785 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b8f37da9117c090fd0a2743b4e324245f6113440;p=gtk4.git modelbutton: Replace map() with root() --- diff --git a/gtk/gtkmodelbutton.c b/gtk/gtkmodelbutton.c index 833365115f..4fc89f9ab4 100644 --- a/gtk/gtkmodelbutton.c +++ b/gtk/gtkmodelbutton.c @@ -984,21 +984,25 @@ gtk_model_button_finalize (GObject *object) } static void -gtk_model_button_map (GtkWidget *widget) +gtk_model_button_root (GtkWidget *widget) { - GtkModelButton *button = GTK_MODEL_BUTTON (widget); - GtkWindow *window; + GtkModelButton *self = GTK_MODEL_BUTTON (widget); + GtkRoot *root; GtkApplication *app; const char *action_name; GVariant *action_target; - GTK_WIDGET_CLASS (gtk_model_button_parent_class)->map (widget); + GTK_WIDGET_CLASS (gtk_model_button_parent_class)->root (widget); + + if (!self->accel) + return; + + root = gtk_widget_get_root (widget); - if (button->accel) + if (!GTK_IS_WINDOW (root)) return; - window = GTK_WINDOW (gtk_widget_get_root (widget)); - app = gtk_window_get_application (window); + app = gtk_window_get_application (GTK_WINDOW (root)); if (!app) return; @@ -1014,7 +1018,7 @@ gtk_model_button_map (GtkWidget *widget) detailed = g_action_print_detailed_name (action_name, action_target); accels = gtk_application_get_accels_for_action (app, detailed); - update_accel (button, accels[0]); + update_accel (self, accels[0]); g_strfreev (accels); g_free (detailed); @@ -1081,10 +1085,10 @@ gtk_model_button_class_init (GtkModelButtonClass *class) widget_class->measure = gtk_model_button_measure; widget_class->size_allocate = gtk_model_button_size_allocate; widget_class->destroy = gtk_model_button_destroy; - widget_class->map = gtk_model_button_map; widget_class->state_flags_changed = gtk_model_button_state_flags_changed; widget_class->direction_changed = gtk_model_button_direction_changed; widget_class->focus = gtk_model_button_focus; + widget_class->root = gtk_model_button_root; button_class->clicked = gtk_model_button_clicked;