static void gnm_font_button_finalize (GObject *object) { GnmFontButton *font_button = GNM_FONT_BUTTON (object); if (font_button->priv->font_dialog != NULL) gtk_widget_destroy (font_button->priv->font_dialog); font_button->priv->font_dialog = NULL; g_free (font_button->priv->title); font_button->priv->title = NULL; clear_font_data (font_button); clear_font_filter_data (font_button); g_free (font_button->priv->preview_text); font_button->priv->preview_text = NULL; G_OBJECT_CLASS (gnm_font_button_parent_class)->finalize (object); }
static void gtk_font_button_finalize (GObject *object) { GtkFontButton *font_button = GTK_FONT_BUTTON (object); GtkFontButtonPrivate *priv = font_button->priv; if (priv->font_dialog != NULL) gtk_widget_destroy (priv->font_dialog); g_free (priv->title); clear_font_data (font_button); clear_font_filter_data (font_button); g_free (priv->preview_text); g_clear_object (&priv->provider); G_OBJECT_CLASS (gtk_font_button_parent_class)->finalize (object); }
static void gnm_font_button_font_chooser_set_filter_func (GtkFontChooser *chooser, GtkFontFilterFunc filter_func, gpointer filter_data, GDestroyNotify data_destroy) { GnmFontButton *font_button = GNM_FONT_BUTTON (chooser); GnmFontButtonPrivate *priv = font_button->priv; if (priv->font_dialog) { gtk_font_chooser_set_filter_func (GTK_FONT_CHOOSER (priv->font_dialog), filter_func, filter_data, data_destroy); return; } clear_font_filter_data (font_button); priv->font_filter = filter_func; priv->font_filter_data = filter_data; priv->font_filter_data_destroy = data_destroy; }