[gnome-applets] netspeed: destroy dialogs when applet is destroyed



commit 3863c7852977918f2d12fa25eb9b73146d6bd1c0
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Sun Mar 29 19:34:52 2020 +0300

    netspeed: destroy dialogs when applet is destroyed

 netspeed/src/netspeed.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/netspeed/src/netspeed.c b/netspeed/src/netspeed.c
index df72305e9..3e5e2f74c 100644
--- a/netspeed/src/netspeed.c
+++ b/netspeed/src/netspeed.c
@@ -104,7 +104,7 @@ struct _NetspeedApplet
 
        GtkWidget      *inbytes_text;
        GtkWidget      *outbytes_text;
-       GtkDialog      *details;
+       GtkWidget      *details;
        GtkWidget      *preferences;
        GtkDrawingArea *drawingarea;
        
@@ -822,9 +822,8 @@ info_response_cb (GtkDialog *dialog, gint id, NetspeedApplet *applet)
                return;
        }
 
-       gtk_widget_destroy(GTK_WIDGET(applet->details));
+       g_clear_pointer (&applet->details, gtk_widget_destroy);
 
-       applet->details = NULL;
        applet->inbytes_text = NULL;
        applet->outbytes_text = NULL;
        applet->drawingarea = NULL;
@@ -1019,7 +1018,7 @@ details_cb (GSimpleAction *action,
 
         dialog_vbox = gtk_dialog_get_content_area (GTK_DIALOG (applet->details));
        gtk_container_add(GTK_CONTAINER(dialog_vbox), box);
-       gtk_widget_show_all(GTK_WIDGET(applet->details));
+       gtk_widget_show_all (applet->details);
 }      
 
 static void
@@ -1093,6 +1092,9 @@ netspeed_applet_finalize (GObject *object)
 
        g_clear_object (&netspeed->settings);
 
+       g_clear_pointer (&netspeed->details, gtk_widget_destroy);
+       g_clear_pointer (&netspeed->preferences, gtk_widget_destroy);
+
        g_free (netspeed->up_cmd);
        g_free (netspeed->down_cmd);
 


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