Skip to content
  • Carlos Garcia Campos's avatar
    gtkprintbackendcups: Fix a crash in avahi_create_browsers() · 5701681d
    Carlos Garcia Campos authored and Carlos Garcia Campos's avatar Carlos Garcia Campos committed
    In avahi_request_printer_list() a new connection to the DBus system bus
    is started asynchronously, but it's not cancellable and it's not taking
    any reference of the GtkPrintBackendCups. This means that when the
    callback is called, the object might have been destroyed already. We can
    just pass the cancellable created and check for the cancelled error in
    the callback before trying to use the GtkPrintBackendCups. The code to
    cancel avahi operations and to unsibscribe from the DBus signals has
    been moved from finalize to dispose to make sure it happens as soon as
    possible.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=696553
    5701681d