summaryrefslogtreecommitdiff
path: root/panels/printers/pp-details-dialog.c
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2018-11-23 12:35:35 +1300
committerRobert Ancell <robert.ancell@gmail.com>2019-09-10 00:18:53 +0000
commitfcde07c7700e9a116c975642ea44cf134c7c2d3d (patch)
tree371bc9c7a2db681d36d1d4c9e598742d50b0c542 /panels/printers/pp-details-dialog.c
parentfb92795854a61c542b3614b65150c356f38538c3 (diff)
downloadgnome-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.c46
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));
- }
-}