diff --git a/ChangeLog b/ChangeLog index c3fdbf95be..cc681e4fa3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-05-19 Damon Chaplin + + * gtk/gtkfontsel.c (gtk_font_selection_init): use + atk_relation_add_target() to add the targets, since it sets up weak + references to avoid crashes. (#305530) + 2006-05-18 Matthias Clasen * gtk/gtkprintoperation.h: diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index c3fdbf95be..cc681e4fa3 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +2006-05-19 Damon Chaplin + + * gtk/gtkfontsel.c (gtk_font_selection_init): use + atk_relation_add_target() to add the targets, since it sets up weak + references to avoid crashes. (#305530) + 2006-05-18 Matthias Clasen * gtk/gtkprintoperation.h: diff --git a/gtk/gtkfontsel.c b/gtk/gtkfontsel.c index ee88c292cb..1c2914793a 100644 --- a/gtk/gtkfontsel.c +++ b/gtk/gtkfontsel.c @@ -474,15 +474,13 @@ gtk_font_selection_init (GtkFontSelection *fontsel) AtkRelationSet *relation_set; AtkRelation *relation; AtkObject *obj_array[1]; - GPtrArray *array; atk_label = gtk_widget_get_accessible (label); relation_set = atk_object_ref_relation_set (atk_obj); relation = atk_relation_set_get_relation_by_type (relation_set, ATK_RELATION_LABELLED_BY); if (relation) { - array = atk_relation_get_target (relation); - g_ptr_array_add (array, atk_label); + atk_relation_add_target (relation, atk_label); } else { @@ -496,8 +494,7 @@ gtk_font_selection_init (GtkFontSelection *fontsel) relation = atk_relation_set_get_relation_by_type (relation_set, ATK_RELATION_LABEL_FOR); if (relation) { - array = atk_relation_get_target (relation); - g_ptr_array_add (array, atk_obj); + atk_relation_add_target (relation, atk_obj); } else {