[gtk+/gtk-2-24] printing: Don't crash because of missing g_clear_pointer()



commit e84bb08ded46bf3c96dd53bfffd372296de047b4
Author: Marek Kasik <mkasik redhat com>
Date:   Wed Mar 12 10:52:05 2014 +0100

    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 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/modules/printbackends/cups/gtkprintbackendcups.c 
b/modules/printbackends/cups/gtkprintbackendcups.c
index 60c2f7e..4137e97 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),


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]