[gnome-control-center] ppd_list is not a copy, don't free it.



commit a73a095d764f3c85fcb5d791250bbbe9266286cd
Author: Brandon Nielsen <nielsenb jetfuse net>
Date:   Thu Jul 15 22:21:20 2021 -0500

    ppd_list is not a copy, don't free it.
    
    Both consumers of PpPPDSelectionDialog (PpNewPrinterDialog,
    PpDetailsDialog) free the PPDList they pass to
    pp_ppd_selection_dialog_set_ppd_list and they do not pass a copy, so
    PpPPDSelectionDialog should not free the pointer on dispose.
    
    This fixes a racy segfault when closing a PpDetailsDialog after PPD
    selection (introduced with this series), did not appear with
    PpNewPrinterDialog for some reason.

 panels/printers/pp-ppd-selection-dialog.c | 1 -
 1 file changed, 1 deletion(-)
---
diff --git a/panels/printers/pp-ppd-selection-dialog.c b/panels/printers/pp-ppd-selection-dialog.c
index e22b1aed0..13f72743d 100644
--- a/panels/printers/pp-ppd-selection-dialog.c
+++ b/panels/printers/pp-ppd-selection-dialog.c
@@ -331,7 +331,6 @@ pp_ppd_selection_dialog_dispose (GObject *object)
   g_clear_pointer (&self->ppd_name, g_free);
   g_clear_pointer (&self->ppd_display_name, g_free);
   g_clear_pointer (&self->manufacturer, g_free);
-  g_clear_pointer (&self->list, ppd_list_free);
 
   G_OBJECT_CLASS (pp_ppd_selection_dialog_parent_class)->dispose (object);
 }


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