[gnome-control-center] Printers: Fix GVariant handling
- From: Marek Kašík <mkasik src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] Printers: Fix GVariant handling
- Date: Mon, 26 Feb 2018 13:34:09 +0000 (UTC)
commit 91328078fee7046eed7bb506e97fa42497fcf414
Author: Marek Kasik <mkasik redhat com>
Date: Wed Feb 21 18:00:15 2018 +0100
Printers: Fix GVariant handling
Some const strings taken from GVariants were used
after their GVariants were unreffed.
https://bugzilla.gnome.org/show_bug.cgi?id=758170
panels/printers/cc-printers-panel.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/panels/printers/cc-printers-panel.c b/panels/printers/cc-printers-panel.c
index 2d87dac07..64cc32c90 100644
--- a/panels/printers/cc-printers-panel.c
+++ b/panels/printers/cc-printers-panel.c
@@ -143,28 +143,31 @@ execute_action (CcPrintersPanel *self,
const gchar *action_name;
const gchar *printer_name;
GVariant *variant;
+ GVariant *action_variant;
gint count;
count = g_variant_n_children (action);
if (count == 2)
{
- g_variant_get_child (action, 0, "v", &variant);
- action_name = g_variant_get_string (variant, NULL);
- g_variant_unref (variant);
+ g_variant_get_child (action, 0, "v", &action_variant);
+ action_name = g_variant_get_string (action_variant, NULL);
/* authenticate-jobs printer-name */
if (g_strcmp0 (action_name, "authenticate-jobs") == 0)
{
g_variant_get_child (action, 1, "v", &variant);
printer_name = g_variant_get_string (variant, NULL);
- g_variant_unref (variant);
printer_entry = PP_PRINTER_ENTRY (g_hash_table_lookup (priv->printer_entries, printer_name));
if (printer_entry != NULL)
pp_printer_entry_authenticate_jobs (printer_entry);
else
g_warning ("Could not find printer \"%s\"!", printer_name);
+
+ g_variant_unref (variant);
}
+
+ g_variant_unref (action_variant);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]