[gnome-applets: 257/263] netspeed: use gobject finalize
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-applets: 257/263] netspeed: use gobject finalize
- Date: Wed, 25 Mar 2015 20:39:33 +0000 (UTC)
commit e2132fafdb9bdf3c9a435321c84921bad7583120
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Wed Mar 25 13:04:51 2015 +0200
netspeed: use gobject finalize
netspeed/src/netspeed.c | 61 ++++++++++++++++++++--------------------------
1 files changed, 27 insertions(+), 34 deletions(-)
---
diff --git a/netspeed/src/netspeed.c b/netspeed/src/netspeed.c
index f5a23a8..af4e764 100644
--- a/netspeed/src/netspeed.c
+++ b/netspeed/src/netspeed.c
@@ -1319,36 +1319,6 @@ applet_button_press(GtkWidget *widget, GdkEventButton *event, NetspeedApplet *ap
return FALSE;
}
-/* Frees the applet and all the data it contains
- * Removes the timeout_cb
- */
-static void
-applet_destroy(PanelApplet *applet_widget, NetspeedApplet *applet)
-{
- GtkIconTheme *icon_theme;
-
- g_assert(applet);
-
- icon_theme = gtk_icon_theme_get_default();
- g_object_disconnect(G_OBJECT(icon_theme), "changed",
- G_CALLBACK(icon_theme_changed_cb), (gpointer)applet,
- NULL);
- g_source_remove(applet->timeout_id);
- applet->timeout_id = 0;
-
- if (applet->up_cmd)
- g_free(applet->up_cmd);
- if (applet->down_cmd)
- g_free(applet->down_cmd);
-
- /* Should never be NULL */
- free_device_info(&applet->devinfo);
- g_free(applet);
- return;
-}
-
-
-
static void
update_tooltip(NetspeedApplet* applet)
{
@@ -1423,8 +1393,35 @@ static const GActionEntry menu_actions [] = {
};
static void
+netspeed_applet_finalize (GObject *object)
+{
+ NetspeedApplet *netspeed;
+
+ netspeed = NETSPEED_APPLET (object);
+
+ g_object_disconnect (gtk_icon_theme_get_default (), "any_signal::changed",
+ G_CALLBACK (icon_theme_changed_cb), netspeed,
+ NULL);
+
+ if (netspeed->timeout_id > 0) {
+ g_source_remove (netspeed->timeout_id);
+ netspeed->timeout_id = 0;
+ }
+
+ g_free (netspeed->up_cmd);
+ g_free (netspeed->down_cmd);
+
+ free_device_info (&netspeed->devinfo);
+}
+
+static void
netspeed_applet_class_init (NetspeedAppletClass *netspeed_class)
{
+ GObjectClass *object_class;
+
+ object_class = G_OBJECT_CLASS (netspeed_class);
+
+ object_class->finalize = netspeed_applet_finalize;
}
static void
@@ -1628,10 +1625,6 @@ netspeed_applet_factory (PanelApplet *applet,
G_CALLBACK (label_size_request_cb),
netspeed);
- g_signal_connect (applet, "destroy",
- G_CALLBACK (applet_destroy),
- netspeed);
-
g_signal_connect (applet, "button-press-event",
G_CALLBACK (applet_button_press),
netspeed);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]