summaryrefslogtreecommitdiff
path: root/gtk/gtklabel.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtklabel.c')
-rw-r--r--gtk/gtklabel.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 64f85330ed..db4c7e8ef5 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -492,8 +492,7 @@ gtk_label_setup_mnemonic (GtkLabel *label,
return;
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (label));
-
- if (GTK_IS_WINDOW (toplevel))
+ if (GTK_WIDGET_TOPLEVEL (toplevel))
{
gtk_window_add_mnemonic (GTK_WINDOW (toplevel),
label->mnemonic_keyval,
@@ -953,7 +952,10 @@ gtk_label_set_pattern_internal (GtkLabel *label,
g_return_if_fail (GTK_IS_LABEL (label));
attrs = gtk_label_pattern_to_attrs (label, pattern);
- gtk_label_set_attributes_internal (label, attrs);
+
+ if (label->effective_attrs)
+ pango_attr_list_unref (label->effective_attrs);
+ label->effective_attrs = attrs;
}
void
@@ -1092,7 +1094,7 @@ gtk_label_finalize (GObject *object)
pango_attr_list_unref (label->attrs);
if (label->effective_attrs)
- pango_attr_list_unref (label->attrs);
+ pango_attr_list_unref (label->effective_attrs);
g_free (label->select_info);