mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-06 08:40:08 +00:00
Fix some refcounting issues in the print dialog
gtk_tree_model_get returns a reference for objects, but the printers in the model can be NULL, https://bugzilla.gnome.org/show_bug.cgi?id=646446
This commit is contained in:
parent
eb02dacb37
commit
315bb30220
@ -774,13 +774,11 @@ void set_cell_sensitivity_func (GtkTreeViewColumn *tree_column,
|
||||
gtk_tree_model_get (tree_model, iter, PRINTER_LIST_COL_PRINTER_OBJ, &printer, -1);
|
||||
|
||||
if (printer != NULL && !gtk_printer_is_accepting_jobs (printer))
|
||||
g_object_set (cell,
|
||||
"sensitive", FALSE,
|
||||
NULL);
|
||||
g_object_set (cell, "sensitive", FALSE, NULL);
|
||||
else
|
||||
g_object_set (cell,
|
||||
"sensitive", TRUE,
|
||||
NULL);
|
||||
g_object_set (cell, "sensitive", TRUE, NULL);
|
||||
|
||||
g_object_unref (printer);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1009,10 +1007,8 @@ is_printer_active (GtkTreeModel *model,
|
||||
GtkPrinter *printer;
|
||||
GtkPrintUnixDialogPrivate *priv = dialog->priv;
|
||||
|
||||
gtk_tree_model_get (model,
|
||||
iter,
|
||||
PRINTER_LIST_COL_PRINTER_OBJ,
|
||||
&printer,
|
||||
gtk_tree_model_get (model, iter,
|
||||
PRINTER_LIST_COL_PRINTER_OBJ, &printer,
|
||||
-1);
|
||||
|
||||
if (printer == NULL)
|
||||
@ -1082,8 +1078,10 @@ default_printer_list_sort_func (GtkTreeModel *model,
|
||||
|
||||
g_free (a_name);
|
||||
g_free (b_name);
|
||||
g_object_unref (a_printer);
|
||||
g_object_unref (b_printer);
|
||||
if (a_printer)
|
||||
g_object_unref (a_printer);
|
||||
if (b_printer)
|
||||
g_object_unref (b_printer);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user