[gnome-control-center] printers: Make pp_devices_list_free() generally available
- From: Marek Kašík <mkasik src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] printers: Make pp_devices_list_free() generally available
- Date: Thu, 31 Jul 2014 09:46:22 +0000 (UTC)
commit 6576db1a160ea7635c87d8f698ca7658acaea254
Author: Marek Kasik <mkasik redhat com>
Date: Tue Jul 29 16:54:46 2014 +0200
printers: Make pp_devices_list_free() generally available
Move pp_devices_list_free() to pp-utils.h and optimize it
using g_list_free_full().
https://bugzilla.gnome.org/show_bug.cgi?id=695564
panels/printers/pp-host.c | 15 +--------------
panels/printers/pp-new-printer-dialog.c | 15 ---------------
panels/printers/pp-samba.c | 7 +------
panels/printers/pp-utils.c | 10 ++++++++++
panels/printers/pp-utils.h | 2 ++
5 files changed, 14 insertions(+), 35 deletions(-)
---
diff --git a/panels/printers/pp-host.c b/panels/printers/pp-host.c
index d6ed143..fbbcecb 100644
--- a/panels/printers/pp-host.c
+++ b/panels/printers/pp-host.c
@@ -306,22 +306,9 @@ _pp_host_get_snmp_devices_thread (GSimpleAsyncResult *res,
static void
gsd_data_free (GSDData *data)
{
- GList *iter;
-
if (data)
{
- if (data->devices)
- {
- if (data->devices->devices)
- {
- for (iter = data->devices->devices; iter; iter = iter->next)
- pp_print_device_free ((PpPrintDevice *) iter->data);
- g_list_free (data->devices->devices);
- }
-
- g_free (data->devices);
- }
-
+ pp_devices_list_free (data->devices);
g_free (data);
}
}
diff --git a/panels/printers/pp-new-printer-dialog.c b/panels/printers/pp-new-printer-dialog.c
index 598f497..cf3617e 100644
--- a/panels/printers/pp-new-printer-dialog.c
+++ b/panels/printers/pp-new-printer-dialog.c
@@ -68,7 +68,6 @@ static void add_devices_to_list (PpNewPrinterDialog *dialog,
gboolean new_device);
static void remove_device_from_list (PpNewPrinterDialog *dialog,
const gchar *device_name);
-static void pp_devices_list_free (PpDevicesList *result);
enum
{
@@ -687,20 +686,6 @@ device_in_list (gchar *device_uri,
}
static void
-pp_devices_list_free (PpDevicesList *result)
-{
- GList *iter;
-
- if (result)
- {
- for (iter = result->devices; iter; iter = iter->next)
- pp_print_device_free ((PpPrintDevice *) iter->data);
- g_list_free (result->devices);
- g_free (result);
- }
-}
-
-static void
update_spinner_state (PpNewPrinterDialog *dialog)
{
PpNewPrinterDialogPrivate *priv = dialog->priv;
diff --git a/panels/printers/pp-samba.c b/panels/printers/pp-samba.c
index a94bdcd..d8c51c9 100644
--- a/panels/printers/pp-samba.c
+++ b/panels/printers/pp-samba.c
@@ -199,12 +199,7 @@ smb_data_free (SMBData *data)
{
if (data)
{
- if (data->devices)
- {
- g_list_free_full (data->devices->devices, (GDestroyNotify) pp_print_device_free);
- g_free (data->devices);
- }
-
+ pp_devices_list_free (data->devices);
smb_auth_info_free (data->auth_info);
g_object_unref (data->parent);
diff --git a/panels/printers/pp-utils.c b/panels/printers/pp-utils.c
index 6730c6e..d4e4d3b 100644
--- a/panels/printers/pp-utils.c
+++ b/panels/printers/pp-utils.c
@@ -3284,6 +3284,16 @@ printer_get_ppd_async (const gchar *printer_name,
}
}
+void
+pp_devices_list_free (PpDevicesList *result)
+{
+ if (result)
+ {
+ g_list_free_full (result->devices, (GDestroyNotify) pp_print_device_free);
+ g_free (result);
+ }
+}
+
typedef struct
{
gchar *printer_name;
diff --git a/panels/printers/pp-utils.h b/panels/printers/pp-utils.h
index 11bc75c..0274fae 100644
--- a/panels/printers/pp-utils.h
+++ b/panels/printers/pp-utils.h
@@ -295,6 +295,8 @@ typedef struct
void pp_print_device_free (PpPrintDevice *device);
PpPrintDevice *pp_print_device_copy (PpPrintDevice *device);
+void pp_devices_list_free (PpDevicesList *result);
+
const gchar *get_paper_size_from_locale (void);
typedef void (*GCDCallback) (GList *devices,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]