[gnome-control-center] printers: Unset transient-for



commit e81651873c9def3e4fcf60d70800332cc3e1eaeb
Author: Marek Kasik <mkasik redhat com>
Date:   Fri Feb 25 15:14:00 2022 +0100

    printers: Unset transient-for
    
    Unset transient-for for PpPPDSelectionDialog in its responce callback
    since due some reason its parent PpNewPrinterDialog is destroyed first
    and once the PpPPDSelectionDialog is being destroyed it tries to
    unset the transient-for but unsuccesfully resulting in warnings like:
    
    "instance with invalid (NULL) class pointer"
    "g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed"

 panels/printers/pp-new-printer-dialog.c | 3 +++
 1 file changed, 3 insertions(+)
---
diff --git a/panels/printers/pp-new-printer-dialog.c b/panels/printers/pp-new-printer-dialog.c
index 571fa4f9a..ea425d8b4 100644
--- a/panels/printers/pp-new-printer-dialog.c
+++ b/panels/printers/pp-new-printer-dialog.c
@@ -1700,6 +1700,9 @@ ppd_selection_cb (GtkDialog *_dialog,
         }
     }
 
+  /* This is needed here since parent dialog is destroyed first. */
+  gtk_window_set_transient_for (GTK_WINDOW (self->ppd_selection_dialog), NULL);
+
   self->user_callback (GTK_DIALOG (self), response_id, self->user_data);
 }
 


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