From: Matthias Clasen Date: Tue, 24 Mar 2020 16:44:08 +0000 (-0400) Subject: label: Respect GtkPopover::mnemonics-visible X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~19^2~32^2~8 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fc0b0b14a869b4f2c5ca16c423171bdbaa34d966;p=gtk4.git label: Respect GtkPopover::mnemonics-visible When inside a popover, look to the popover for whether to show mnemonics or not. --- diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 956a82c4da..1d591877bd 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -1960,14 +1960,14 @@ _gtk_label_mnemonics_visible_apply_recursively (GtkWidget *widget, } static void -label_mnemonics_visible_changed (GtkWindow *window, +label_mnemonics_visible_changed (GtkWidget *widget, GParamSpec *pspec, gpointer data) { gboolean visible; - g_object_get (window, "mnemonics-visible", &visible, NULL); - _gtk_label_mnemonics_visible_apply_recursively (GTK_WIDGET (window), visible); + g_object_get (widget, "mnemonics-visible", &visible, NULL); + _gtk_label_mnemonics_visible_apply_recursively (widget, visible); } static void @@ -4572,15 +4572,16 @@ connect_mnemonics_visible_notify (GtkLabel *label) GtkLabelPrivate *priv = gtk_label_get_instance_private (label); GtkNative *native; gboolean connected; + gboolean mnemonics_visible; native = gtk_widget_get_native (GTK_WIDGET (label)); - if (!GTK_IS_WINDOW (native)) + if (!GTK_IS_WINDOW (native) && !GTK_IS_POPOVER (native)) return; /* always set up this widgets initial value */ - priv->mnemonics_visible = - gtk_window_get_mnemonics_visible (GTK_WINDOW (native)); + g_object_get (native, "mnemonics-visible", &mnemonics_visible, NULL); + priv->mnemonics_visible = mnemonics_visible; connected = GPOINTER_TO_INT (g_object_get_qdata (G_OBJECT (native), quark_mnemonics_visible_connected));