[gnome-control-center] printers: Don't pass PpMaintenanceCommand references around
- From: Robert Ancell <rancell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] printers: Don't pass PpMaintenanceCommand references around
- Date: Tue, 22 Sep 2020 21:30:36 +0000 (UTC)
commit 7c1f84b4d39106b65aabf6d016b53ba609fc6cc6
Author: Robert Ancell <robert ancell canonical com>
Date: Fri Jun 26 16:47:54 2020 +1200
printers: Don't pass PpMaintenanceCommand references around
An internal GTask will hold a reference to it for the duration of the async call.
panels/printers/pp-new-printer.c | 7 +++----
panels/printers/pp-options-dialog.c | 8 ++------
panels/printers/pp-printer-entry.c | 20 ++++++--------------
3 files changed, 11 insertions(+), 24 deletions(-)
---
diff --git a/panels/printers/pp-new-printer.c b/panels/printers/pp-new-printer.c
index 8c316c28e..072a760d3 100644
--- a/panels/printers/pp-new-printer.c
+++ b/panels/printers/pp-new-printer.c
@@ -1094,13 +1094,11 @@ pp_maintenance_command_execute_cb (GObject *source_object,
GAsyncResult *res,
gpointer user_data)
{
- PpMaintenanceCommand *command = (PpMaintenanceCommand *) source_object;
g_autoptr(GError) error = NULL;
PCData *data;
gboolean result;
- result = pp_maintenance_command_execute_finish (command, res, &error);
- g_object_unref (source_object);
+ result = pp_maintenance_command_execute_finish (PP_MAINTENANCE_COMMAND (source_object), res, &error);
if (result)
{
@@ -1193,7 +1191,8 @@ printer_configure_async (PpNewPrinter *self)
/* Run autoconfiguration of printer */
if (!self->is_network_device)
{
- PpMaintenanceCommand *command;
+ g_autoptr(PpMaintenanceCommand) command = NULL;
+
command = pp_maintenance_command_new (self->name,
"autoconfigure",
NULL,
diff --git a/panels/printers/pp-options-dialog.c b/panels/printers/pp-options-dialog.c
index 05f8e72df..3a4966d43 100644
--- a/panels/printers/pp-options-dialog.c
+++ b/panels/printers/pp-options-dialog.c
@@ -789,11 +789,7 @@ pp_maintenance_command_execute_cb (GObject *source_object,
GAsyncResult *res,
gpointer user_data)
{
- PpMaintenanceCommand *command = (PpMaintenanceCommand *) source_object;
-
- pp_maintenance_command_execute_finish (command, res, NULL);
-
- g_object_unref (command);
+ pp_maintenance_command_execute_finish (PP_MAINTENANCE_COMMAND(source_object), res, NULL);
}
static gchar *
@@ -867,7 +863,7 @@ test_page_cb (PpOptionsDialog *self)
}
else
{
- PpMaintenanceCommand *command;
+ g_autoptr(PpMaintenanceCommand) command = NULL;
command = pp_maintenance_command_new (self->printer_name,
"PrintSelfTestPage",
diff --git a/panels/printers/pp-printer-entry.c b/panels/printers/pp-printer-entry.c
index f74a44090..a943f65e5 100644
--- a/panels/printers/pp-printer-entry.c
+++ b/panels/printers/pp-printer-entry.c
@@ -485,24 +485,20 @@ check_clean_heads_maintenance_command_cb (GObject *source_object,
gpointer user_data)
{
PpPrinterEntry *self = user_data;
- PpMaintenanceCommand *command = (PpMaintenanceCommand *) source_object;
gboolean is_supported = FALSE;
g_autoptr(GError) error = NULL;
- is_supported = pp_maintenance_command_is_supported_finish (command, res, &error);
+ is_supported = pp_maintenance_command_is_supported_finish (PP_MAINTENANCE_COMMAND (source_object), res,
&error);
if (error != NULL)
{
g_debug ("Could not check 'Clean' maintenance command: %s", error->message);
- goto out;
+ return;
}
if (is_supported)
{
gtk_widget_show (GTK_WIDGET (self->clean_heads_menuitem));
}
-
- out:
- g_object_unref (source_object);
}
static void
@@ -525,15 +521,11 @@ clean_heads_maintenance_command_cb (GObject *source_object,
GAsyncResult *res,
gpointer user_data)
{
- PpPrinterEntry *self = user_data;
- PpMaintenanceCommand *command = (PpMaintenanceCommand *) source_object;
- g_autoptr(GError) error = NULL;
+ PpPrinterEntry *self = user_data;
+ g_autoptr(GError) error = NULL;
- if (!pp_maintenance_command_execute_finish (command, res, &error))
- {
- g_warning ("Error cleaning print heads for %s: %s", self->printer_name, error->message);
- }
- g_object_unref (source_object);
+ if (!pp_maintenance_command_execute_finish (PP_MAINTENANCE_COMMAND (source_object), res, &error))
+ g_warning ("Error cleaning print heads for %s: %s", self->printer_name, error->message);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]