diff --git a/gtk/gtkfontbutton.c b/gtk/gtkfontbutton.c
index 402cb634fa..43126969e1 100644
--- a/gtk/gtkfontbutton.c
+++ b/gtk/gtkfontbutton.c
@@ -137,9 +137,8 @@ static void dialog_destroy (GtkWidget *widget,
static void gtk_font_button_label_use_font (GtkFontButton *gfs);
static void gtk_font_button_update_font_info (GtkFontButton *gfs);
-static void gtk_font_button_set_font_name (GtkFontButton *button,
- const char *fontname);
-static const char *gtk_font_button_get_font_name (GtkFontButton *button);
+static void font_button_set_font_name (GtkFontButton *button,
+ const char *fontname);
static void gtk_font_button_set_level (GtkFontButton *font_button,
GtkFontChooserLevel level);
static void gtk_font_button_set_language (GtkFontButton *button,
@@ -1104,7 +1103,8 @@ gtk_font_button_clicked (GtkButton *button)
gtk_font_chooser_set_font_map (font_dialog, priv->font_map);
gtk_font_chooser_set_show_preview_entry (font_dialog, priv->show_preview_entry);
gtk_font_chooser_set_level (GTK_FONT_CHOOSER (font_dialog), priv->level);
- gtk_font_chooser_set_language (GTK_FONT_CHOOSER (font_dialog), priv->language);
+ gtk_font_chooser_set_language (GTK_FONT_CHOOSER (font_dialog), pango_language_to_string
+(priv->language));
if (priv->preview_text)
{
@@ -1189,9 +1189,8 @@ response_cb (GtkDialog *dialog,
g_object_ref (priv->font_face);
priv->font_size = gtk_font_chooser_get_font_size (font_chooser);
g_free (priv->font_features);
- g_object_get (font_chooser, "font-features", &priv->font_features, NULL);
- g_free (priv->language);
- g_object_get (font_chooser, "language", &priv->language, NULL);
+ priv->font_features = gtk_font_chooser_get_font_features (font_chooser);
+ priv->language = pango_language_from_string (gtk_font_chooser_get_language (font_chooser));
/* Set label font */
gtk_font_button_update_font_info (font_button);
diff --git a/gtk/gtkfontchooserwidget.c b/gtk/gtkfontchooserwidget.c
index 8f3c9e31c7..b34f28fcda 100644
--- a/gtk/gtkfontchooserwidget.c
+++ b/gtk/gtkfontchooserwidget.c
@@ -221,7 +221,6 @@ static void gtk_font_chooser_widget_cell_data_func (GtkTreeViewColum
static void selection_changed (GtkTreeSelection *selection,
GtkFontChooserWidget *fontchooser);
static void update_font_features (GtkFontChooserWidget *fontchooser);
-static void update_language (GtkFontChooserWidget *fontchooser);
static void gtk_font_chooser_widget_set_level (GtkFontChooserWidget *fontchooser,
@@ -1697,12 +1696,7 @@ find_language_and_script (GtkFontChooserWidget *fontchooser,
for (k = 0; k < n_languages; k++)
{
- hb_language_t *l;
- char buf[5], buf2[5];
- hb_tag_to_string (languages[k], buf); buf[4] = '\0';
- hb_tag_to_string (scripts[j], buf2); buf2[4] = '\0';
- l = hb_ot_tag_to_language (languages[k]);
- if (l == lang)
+ if (lang == hb_ot_tag_to_language (languages[k]))
{
*script_tag = scripts[j];
*lang_tag = languages[k];
@@ -1962,6 +1956,7 @@ add_check_group (GtkFontChooserWidget *fontchooser,
int i;
group = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ gtk_widget_show (group);
gtk_widget_set_halign (group, GTK_ALIGN_FILL);
label = gtk_label_new (title);
@@ -1987,6 +1982,7 @@ add_check_group (GtkFontChooserWidget *fontchooser,
tag = hb_tag_from_string (tags[i], -1);
feat = gtk_check_button_new_with_label (get_feature_display_name (tag));
+ gtk_widget_show (feat);
set_inconsistent (GTK_CHECK_BUTTON (feat), TRUE);
g_signal_connect_swapped (feat, "notify::active", G_CALLBACK (update_font_features), fontchooser);
g_signal_connect_swapped (feat, "notify::inconsistent", G_CALLBACK (update_font_features), fontchooser);
@@ -1999,10 +1995,12 @@ add_check_group (GtkFontChooserWidget *fontchooser,
g_signal_connect (gesture, "pressed", G_CALLBACK (feat_pressed), feat);
example = gtk_label_new ("");
+ gtk_widget_show (example);
gtk_label_set_selectable (GTK_LABEL (example), TRUE);
gtk_widget_set_halign (example, GTK_ALIGN_START);
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
+ gtk_widget_show (box);
gtk_box_set_homogeneous (GTK_BOX (box), TRUE);
gtk_container_add (GTK_CONTAINER (box), feat);
gtk_container_add (GTK_CONTAINER (box), example);
@@ -2034,6 +2032,7 @@ add_radio_group (GtkFontChooserWidget *fontchooser,
PangoAttrList *attrs;
group = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
+ gtk_widget_show (group);
gtk_widget_set_halign (group, GTK_ALIGN_FILL);
label = gtk_label_new (title);
@@ -2061,6 +2060,7 @@ add_radio_group (GtkFontChooserWidget *fontchooser,
feat = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (group_button),
name ? name : _("Default"));
+ gtk_widget_show (feat);
if (group_button == NULL)
group_button = feat;
@@ -2068,10 +2068,12 @@ add_radio_group (GtkFontChooserWidget *fontchooser,
g_object_set_data (G_OBJECT (feat), "default", group_button);
example = gtk_label_new ("");
+ gtk_widget_show (example);
gtk_label_set_selectable (GTK_LABEL (example), TRUE);
gtk_widget_set_halign (example, GTK_ALIGN_START);
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
+ gtk_widget_show (box);
gtk_box_set_homogeneous (GTK_BOX (box), TRUE);
gtk_container_add (GTK_CONTAINER (box), feat);
gtk_container_add (GTK_CONTAINER (box), example);
diff --git a/gtk/ui/gtkfontchooserwidget.ui b/gtk/ui/gtkfontchooserwidget.ui
index 2c324ffdfd..f1b003cf95 100644
--- a/gtk/ui/gtkfontchooserwidget.ui
+++ b/gtk/ui/gtkfontchooserwidget.ui
@@ -15,8 +15,8 @@
-
+