[krb5-auth-dialog] Avoid gtk_widget_destroy for windows



commit 0e5967a3ef0faf2884561b15aa992fe5232dc16e
Author: Guido Günther <agx sigxcpu org>
Date:   Fri Oct 14 13:47:04 2022 +0200

    Avoid gtk_widget_destroy for windows
    
    This allows us to handle the GTK4 case too.

 src/ka-main-window.c | 2 +-
 src/ka-preferences.c | 2 +-
 src/ka-pwdialog.c    | 2 +-
 src/ka-tools.c       | 8 ++++++--
 4 files changed, 9 insertions(+), 5 deletions(-)
---
diff --git a/src/ka-main-window.c b/src/ka-main-window.c
index e877a1a..60be3fb 100644
--- a/src/ka-main-window.c
+++ b/src/ka-main-window.c
@@ -215,7 +215,7 @@ ka_main_window_show (KaApplet *applet)
         gtk_window_set_resizable (GTK_WINDOW (message_dialog), FALSE);
 
         g_signal_connect (message_dialog, "response",
-                          G_CALLBACK (gtk_widget_destroy), NULL);
+                          G_CALLBACK (ka_window_destroy), NULL);
         gtk_widget_show (message_dialog);
     }
 }
diff --git a/src/ka-preferences.c b/src/ka-preferences.c
index 81a9a54..9e8713a 100644
--- a/src/ka-preferences.c
+++ b/src/ka-preferences.c
@@ -369,7 +369,7 @@ on_file_chooser_response (GtkDialog* dialog, gint response_id, gpointer user_dat
         filename = g_file_get_path (file);
     }
 
-    gtk_widget_destroy (GTK_WIDGET(filechooser));
+    ka_window_destroy (filechooser);
 
     if (filename) {
         g_autofree gchar *cert = g_strconcat (PKINIT_FILE, filename, NULL);
diff --git a/src/ka-pwdialog.c b/src/ka-pwdialog.c
index 5f57ee6..6f39724 100644
--- a/src/ka-pwdialog.c
+++ b/src/ka-pwdialog.c
@@ -66,7 +66,7 @@ ka_pwdialog_finalize (GObject *object)
     KaPwDialog *pwdialog = KA_PWDIALOG (object);
     GObjectClass *parent_class = G_OBJECT_CLASS (ka_pwdialog_parent_class);
 
-    gtk_widget_destroy (pwdialog->priv->error_dialog);
+    ka_window_destroy (pwdialog->priv->error_dialog);
     pwdialog->priv->error_dialog = NULL;
 
     parent_class->finalize (object);
diff --git a/src/ka-tools.c b/src/ka-tools.c
index 754653c..f17e519 100644
--- a/src/ka-tools.c
+++ b/src/ka-tools.c
@@ -45,8 +45,8 @@ ka_show_help (GtkWindow* window, const char* chapter)
       gtk_window_set_resizable (GTK_WINDOW (message_dialog), FALSE);
 
       g_signal_connect (message_dialog, "response",
-                  G_CALLBACK (gtk_widget_destroy),
-                  NULL);
+                        G_CALLBACK (ka_window_destroy),
+                        NULL);
 
       gtk_widget_show (message_dialog);
       g_clear_error (&error);
@@ -89,7 +89,11 @@ void
 ka_window_destroy (gpointer window)
 {
     g_assert (GTK_IS_WINDOW (window));
+#if GTK_CHECK_VERSION(4,0,0)
+    gtk_window_destroy (GTK_WINDOW (window));
+#else
     gtk_widget_destroy (GTK_WIDGET (window));
+#endif
 }
 
 


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