[gnome-control-center] printers: Don't pass PpPrinter references around



commit 703d833e2f2ad7b4d4853288b28f51529f79f97b
Author: Robert Ancell <robert ancell canonical com>
Date:   Fri Jun 26 16:56:58 2020 +1200

    printers: Don't pass PpPrinter references around
    
    An internal GTask will hold a reference to it for the duration of the async call.

 panels/printers/cc-printers-panel.c | 5 ++---
 panels/printers/pp-options-dialog.c | 4 +---
 panels/printers/pp-printer-entry.c  | 7 ++-----
 3 files changed, 5 insertions(+), 11 deletions(-)
---
diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c
index f1fba04c1..cedeb8f25 100644
--- a/panels/printers/cc-printers-panel.c
+++ b/panels/printers/cc-printers-panel.c
@@ -255,7 +255,6 @@ printer_removed_cb (GObject      *source_object,
 
   g_object_get (printer, "printer-name", &printer_name, NULL);
   pp_printer_delete_finish (printer, result, &error);
-  g_object_unref (source_object);
 
   if (user_data != NULL)
     {
@@ -291,7 +290,7 @@ cc_printers_panel_dispose (GObject *object)
 
   if (self->deleted_printer_name != NULL)
     {
-      PpPrinter *printer = pp_printer_new (self->deleted_printer_name);
+      g_autoptr(PpPrinter) printer = pp_printer_new (self->deleted_printer_name);
       pp_printer_delete_async (printer,
                                NULL,
                                printer_removed_cb,
@@ -649,7 +648,7 @@ on_notification_dismissed (CcPrintersPanel *self)
 
   if (self->deleted_printer_name != NULL)
     {
-      PpPrinter *printer;
+      g_autoptr(PpPrinter) printer = NULL;
 
       printer = pp_printer_new (self->deleted_printer_name);
       /* The reference tells to the callback whether
diff --git a/panels/printers/pp-options-dialog.c b/panels/printers/pp-options-dialog.c
index 3a4966d43..02dbadebb 100644
--- a/panels/printers/pp-options-dialog.c
+++ b/panels/printers/pp-options-dialog.c
@@ -820,8 +820,6 @@ print_test_page_cb (GObject      *source_object,
 {
   pp_printer_print_file_finish (PP_PRINTER (source_object),
                                 result, NULL);
-
-  g_object_unref (source_object);
 }
 
 static void
@@ -850,7 +848,7 @@ test_page_cb (PpOptionsDialog *self)
 
       if (filename != NULL)
         {
-          PpPrinter *printer;
+          g_autoptr(PpPrinter) printer = NULL;
 
           printer = pp_printer_new (self->printer_name);
           pp_printer_print_file_async (printer,
diff --git a/panels/printers/pp-printer-entry.c b/panels/printers/pp-printer-entry.c
index 8a9f353b5..ad0db5587 100644
--- a/panels/printers/pp-printer-entry.c
+++ b/panels/printers/pp-printer-entry.c
@@ -555,14 +555,11 @@ get_jobs_cb (GObject      *source_object,
              gpointer      user_data)
 {
   PpPrinterEntry      *self = user_data;
-  PpPrinter           *printer = PP_PRINTER (source_object);
   g_autoptr(GError)    error = NULL;
   g_autoptr(GPtrArray) jobs = NULL;
   g_autofree gchar    *button_label = NULL;
 
-  jobs = pp_printer_get_jobs_finish (printer, result, &error);
-
-  g_object_unref (source_object);
+  jobs = pp_printer_get_jobs_finish (PP_PRINTER (source_object), result, &error);
 
   if (error != NULL)
     {
@@ -599,7 +596,7 @@ get_jobs_cb (GObject      *source_object,
 void
 pp_printer_entry_update_jobs_count (PpPrinterEntry *self)
 {
-  PpPrinter *printer;
+  g_autoptr(PpPrinter) printer = NULL;
 
   g_cancellable_cancel (self->get_jobs_cancellable);
   g_clear_object (&self->get_jobs_cancellable);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]