[gtk: 1/2] print: Free print backends after use
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk: 1/2] print: Free print backends after use
- Date: Mon, 11 Jul 2022 18:04:47 +0000 (UTC)
commit e68a3a612397f20b41955054882a64ac2cafdbcd
Author: Marek Kasik <mkasik redhat com>
Date: Mon Jul 11 16:54:36 2022 +0200
print: Free print backends after use
Print backends loaded in GtkPrintUnixDialog's load_print_backends()
are not freed later as done in e.g. GtkPageSetupUnixDialog.
This commit destroys and unref those print backends.
Closes #5019
gtk/gtkprintunixdialog.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c
index 14c15264ad..fd23cd9a89 100644
--- a/gtk/gtkprintunixdialog.c
+++ b/gtk/gtkprintunixdialog.c
@@ -942,6 +942,7 @@ static void
gtk_print_unix_dialog_finalize (GObject *object)
{
GtkPrintUnixDialog *dialog = GTK_PRINT_UNIX_DIALOG (object);
+ GList *iter;
unschedule_idle_mark_conflicts (dialog);
disconnect_printer_details_request (dialog, FALSE);
@@ -967,7 +968,9 @@ gtk_print_unix_dialog_finalize (GObject *object)
g_clear_pointer (&dialog->waiting_for_printer, (GDestroyNotify)g_free);
g_clear_pointer (&dialog->format_for_printer, (GDestroyNotify)g_free);
- g_list_free (dialog->print_backends);
+ for (iter = dialog->print_backends; iter != NULL; iter = iter->next)
+ gtk_print_backend_destroy (GTK_PRINT_BACKEND (iter->data));
+ g_list_free_full (dialog->print_backends, g_object_unref);
dialog->print_backends = NULL;
g_clear_object (&dialog->page_setup_list);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]