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
This commit is contained in:
parent
2aceafe0e0
commit
91328078fe
1 changed files with 7 additions and 4 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue