[krb5-auth-dialog] applet: Simplify dispose



commit 8f7d55a3e173c81a814c164bd46614c3be7f32e4
Author: Guido Günther <agx sigxcpu org>
Date:   Thu Oct 13 14:05:56 2022 +0200

    applet: Simplify dispose
    
    Use g_clear_{pointer,object} to avoid NULL checks

 src/ka-applet.c | 14 ++++----------
 src/ka-tools.c  |  8 ++++++++
 src/ka-tools.h  |  1 +
 3 files changed, 13 insertions(+), 10 deletions(-)
---
diff --git a/src/ka-applet.c b/src/ka-applet.c
index 6a4b3a6..d8b339c 100644
--- a/src/ka-applet.c
+++ b/src/ka-applet.c
@@ -417,22 +417,16 @@ ka_applet_constructed (GObject *object)
     ka_dbus_connect (self);
 }
 
+
 static void
 ka_applet_dispose (GObject *object)
 {
     KaApplet *self = KA_APPLET (object);
-    GObjectClass *parent_class = G_OBJECT_CLASS (ka_applet_parent_class);
 
-    if (self->pwdialog) {
-        gtk_widget_destroy (GTK_WIDGET(self->pwdialog));
-        self->pwdialog = NULL;
-    }
-    if (self->loader) {
-        g_object_unref (self->loader);
-        self->loader = NULL;
-    }
+    g_clear_pointer (&self->pwdialog, ka_window_destroy);
+    g_clear_object (&self->loader);
 
-    parent_class->dispose (object);
+    G_OBJECT_CLASS (ka_applet_parent_class)->dispose (object);
 }
 
 
diff --git a/src/ka-tools.c b/src/ka-tools.c
index 2a4c1fe..69c0980 100644
--- a/src/ka-tools.c
+++ b/src/ka-tools.c
@@ -83,3 +83,11 @@ ka_show_about (KaApplet *applet)
                            "translator-credits", _("translator-credits"),
                            NULL);
 }
+
+
+void
+ka_window_destroy (gpointer window)
+{
+    g_assert (GTK_IS_WINDOW (window));
+    gtk_widget_destroy (GTK_WIDGET (window));
+}
diff --git a/src/ka-tools.h b/src/ka-tools.h
index 3263b8e..a4992ed 100644
--- a/src/ka-tools.h
+++ b/src/ka-tools.h
@@ -27,6 +27,7 @@ G_BEGIN_DECLS
 
 void ka_show_help (GtkWindow* window, const char* section);
 void ka_show_about (KaApplet *applet);
+void ka_window_destroy (gpointer window);
 
 G_END_DECLS
 


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