From e84bb08ded46bf3c96dd53bfffd372296de047b4 Mon Sep 17 00:00:00 2001 From: Marek Kasik Date: Wed, 12 Mar 2014 10:52:05 +0100 Subject: [PATCH] printing: Don't crash because of missing g_clear_pointer() g_clear_pointer() is not available in glib-2.28 which is minimal required version for gtk+-2.24. https://bugzilla.gnome.org/show_bug.cgi?id=708783 --- modules/printbackends/cups/gtkprintbackendcups.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c index 60c2f7e942..4137e97f2d 100644 --- a/modules/printbackends/cups/gtkprintbackendcups.c +++ b/modules/printbackends/cups/gtkprintbackendcups.c @@ -815,7 +815,8 @@ gtk_print_backend_cups_finalize (GObject *object) #ifdef HAVE_CUPS_API_1_6 g_clear_object (&backend_cups->avahi_cancellable); - g_clear_pointer (&backend_cups->avahi_default_printer, g_free); + g_free (backend_cups->avahi_default_printer); + backend_cups->avahi_default_printer = NULL; g_clear_object (&backend_cups->dbus_connection); #endif @@ -870,7 +871,8 @@ gtk_print_backend_cups_dispose (GObject *object) NULL, NULL, NULL); - g_clear_pointer (&backend_cups->avahi_service_browser_paths[i], g_free); + g_free (backend_cups->avahi_service_browser_paths[i]); + backend_cups->avahi_service_browser_paths[i] = NULL; } } @@ -2819,7 +2821,10 @@ avahi_service_browser_signal_handler (GDBusConnection *connection, { if (g_strcmp0 (gtk_printer_get_name (GTK_PRINTER (printer)), backend->avahi_default_printer) == 0) - g_clear_pointer (&backend->avahi_default_printer, g_free); + { + g_free (backend->avahi_default_printer); + backend->avahi_default_printer = NULL; + } g_signal_emit_by_name (backend, "printer-removed", printer); gtk_print_backend_remove_printer (GTK_PRINT_BACKEND (backend),