diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2018-11-23 12:35:35 +1300 |
---|---|---|
committer | Robert Ancell <robert.ancell@gmail.com> | 2019-09-10 00:18:53 +0000 |
commit | fcde07c7700e9a116c975642ea44cf134c7c2d3d (patch) | |
tree | 371bc9c7a2db681d36d1d4c9e598742d50b0c542 /panels/printers/pp-details-dialog.c | |
parent | fb92795854a61c542b3614b65150c356f38538c3 (diff) | |
download | gnome-control-center-fcde07c7700e9a116c975642ea44cf134c7c2d3d.tar.gz |
printers: Remove pp_details_dialog_free, use gtk_widget_destroy
Diffstat (limited to 'panels/printers/pp-details-dialog.c')
-rw-r--r-- | panels/printers/pp-details-dialog.c | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/panels/printers/pp-details-dialog.c b/panels/printers/pp-details-dialog.c index a1aa63871..e4613de8f 100644 --- a/panels/printers/pp-details-dialog.c +++ b/panels/printers/pp-details-dialog.c @@ -362,10 +362,34 @@ pp_details_dialog_init (PpDetailsDialog *self) } static void +pp_details_dialog_dispose (GObject *object) +{ + PpDetailsDialog *self = PP_DETAILS_DIALOG (object); + + g_clear_pointer (&self->printer_name, g_free); + g_clear_pointer (&self->printer_location, g_free); + g_clear_pointer (&self->ppd_file_name, g_free); + + if (self->all_ppds_list != NULL) + { + ppd_list_free (self->all_ppds_list); + self->all_ppds_list = NULL; + } + + g_cancellable_cancel (self->cancellable); + g_clear_object (&self->cancellable); + + G_OBJECT_CLASS (pp_details_dialog_parent_class)->dispose (object); +} + +static void pp_details_dialog_class_init (PpDetailsDialogClass *klass) { + GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + object_class->dispose = pp_details_dialog_dispose; + gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/control-center/printers/pp-details-dialog.ui"); gtk_widget_class_bind_template_child (widget_class, PpDetailsDialog, dialog_title); @@ -428,25 +452,3 @@ pp_details_dialog_new (GtkWindow *parent, return self; } - -void -pp_details_dialog_free (PpDetailsDialog *self) -{ - if (self != NULL) - { - g_clear_pointer (&self->printer_name, g_free); - g_clear_pointer (&self->printer_location, g_free); - g_clear_pointer (&self->ppd_file_name, g_free); - - if (self->all_ppds_list != NULL) - { - ppd_list_free (self->all_ppds_list); - self->all_ppds_list = NULL; - } - - g_cancellable_cancel (self->cancellable); - g_clear_object (&self->cancellable); - - gtk_widget_destroy (GTK_WIDGET (self)); - } -} |