diff --git a/src/applets/battery.c b/src/applets/battery.c index 96ef48f..8b050ad 100644 --- a/src/applets/battery.c +++ b/src/applets/battery.c @@ -152,10 +152,10 @@ static Battery * _battery_init(PanelAppletHelper * helper, GtkWidget ** widget) } else battery->box = hbox; - *widget = battery->box; battery->timeout = g_timeout_add(5000, _on_timeout, battery); _on_timeout(battery); gtk_widget_show(battery->image); + *widget = battery->box; return battery; } diff --git a/src/applets/clock.c b/src/applets/clock.c index f331d04..4049b6c 100644 --- a/src/applets/clock.c +++ b/src/applets/clock.c @@ -1,5 +1,5 @@ /* $Id$ */ -/* Copyright (c) 2010-2012 Pierre Pronchery */ +/* Copyright (c) 2010-2013 Pierre Pronchery */ /* This file is part of DeforaOS Desktop Panel */ /* This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -33,6 +33,7 @@ typedef struct _PanelApplet { PanelAppletHelper * helper; + GtkWidget * widget; char const * format; GtkWidget * label; guint timeout; @@ -68,7 +69,6 @@ PanelAppletDefinition applet = static Clock * _clock_init(PanelAppletHelper * helper, GtkWidget ** widget) { Clock * clock; - GtkWidget * ret; #ifdef EMBEDDED PangoFontDescription * desc; #endif @@ -81,7 +81,7 @@ static Clock * _clock_init(PanelAppletHelper * helper, GtkWidget ** widget) "format")) == NULL) #ifdef EMBEDDED clock->format = _("%H:%M"); - ret = clock->label; + clock->widget = clock->label; desc = pango_font_description_new(); pango_font_description_set_weight(desc, PANGO_WEIGHT_BOLD); gtk_widget_modify_font(clock->label, desc); @@ -93,15 +93,15 @@ static Clock * _clock_init(PanelAppletHelper * helper, GtkWidget ** widget) else clock->format = _("%H:%M"); } - ret = gtk_frame_new(NULL); - gtk_frame_set_shadow_type(GTK_FRAME(ret), GTK_SHADOW_IN); - gtk_container_add(GTK_CONTAINER(ret), clock->label); + clock->widget = gtk_frame_new(NULL); + gtk_frame_set_shadow_type(GTK_FRAME(clock->widget), GTK_SHADOW_IN); + gtk_container_add(GTK_CONTAINER(clock->widget), clock->label); #endif gtk_label_set_justify(GTK_LABEL(clock->label), GTK_JUSTIFY_CENTER); clock->timeout = g_timeout_add(1000, _on_timeout, clock); _on_timeout(clock); - gtk_widget_show_all(ret); - *widget = ret; + gtk_widget_show_all(clock->widget); + *widget = clock->widget; return clock; } @@ -110,6 +110,7 @@ static Clock * _clock_init(PanelAppletHelper * helper, GtkWidget ** widget) static void _clock_destroy(Clock * clock) { g_source_remove(clock->timeout); + gtk_widget_destroy(clock->widget); free(clock); } diff --git a/src/applets/cpu.c b/src/applets/cpu.c index 7715d85..e154b91 100644 --- a/src/applets/cpu.c +++ b/src/applets/cpu.c @@ -38,6 +38,7 @@ typedef struct _PanelApplet { PanelAppletHelper * helper; + GtkWidget * widget; GtkWidget * scale; guint timeout; #if defined(__FreeBSD__) || defined(__NetBSD__) @@ -79,7 +80,6 @@ static Cpu * _cpu_init(PanelAppletHelper * helper, GtkWidget ** widget) { #if defined(__FreeBSD__) || defined(__NetBSD__) Cpu * cpu; - GtkWidget * ret; PangoFontDescription * desc; GtkWidget * label; @@ -89,24 +89,24 @@ static Cpu * _cpu_init(PanelAppletHelper * helper, GtkWidget ** widget) return NULL; } cpu->helper = helper; - ret = gtk_hbox_new(FALSE, 0); + cpu->widget = gtk_hbox_new(FALSE, 0); desc = pango_font_description_new(); pango_font_description_set_weight(desc, PANGO_WEIGHT_BOLD); label = gtk_label_new(_("CPU:")); gtk_widget_modify_font(label, desc); - gtk_box_pack_start(GTK_BOX(ret), label, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(cpu->widget), label, FALSE, FALSE, 0); cpu->scale = gtk_vscale_new_with_range(0, 100, 1); gtk_widget_set_sensitive(cpu->scale, FALSE); gtk_range_set_inverted(GTK_RANGE(cpu->scale), TRUE); gtk_scale_set_value_pos(GTK_SCALE(cpu->scale), GTK_POS_RIGHT); - gtk_box_pack_start(GTK_BOX(ret), cpu->scale, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(cpu->widget), cpu->scale, FALSE, FALSE, 0); cpu->timeout = g_timeout_add(500, _on_timeout, cpu); cpu->used = 0; cpu->total = 0; _on_timeout(cpu); pango_font_description_free(desc); - gtk_widget_show_all(ret); - *widget = ret; + gtk_widget_show_all(cpu->widget); + *widget = cpu->widget; return cpu; #else error_set("%s: %s", "cpu", _("Unsupported platform")); @@ -119,6 +119,7 @@ static Cpu * _cpu_init(PanelAppletHelper * helper, GtkWidget ** widget) static void _cpu_destroy(Cpu * cpu) { g_source_remove(cpu->timeout); + gtk_widget_destroy(cpu->widget); free(cpu); } diff --git a/src/applets/lock.c b/src/applets/lock.c index b47ce9d..9dc6687 100644 --- a/src/applets/lock.c +++ b/src/applets/lock.c @@ -1,5 +1,5 @@ /* $Id$ */ -/* Copyright (c) 2011-2012 Pierre Pronchery */ +/* Copyright (c) 2011-2013 Pierre Pronchery */ /* This file is part of DeforaOS Desktop Panel */ /* This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,6 +27,7 @@ typedef struct _PanelApplet { PanelAppletHelper * helper; + GtkWidget * widget; /* preferences */ GtkWidget * pr_box; @@ -64,7 +65,6 @@ PanelAppletDefinition applet = static Lock * _lock_init(PanelAppletHelper * helper, GtkWidget ** widget) { Lock * lock; - GtkWidget * ret; GtkWidget * image; if((lock = malloc(sizeof(*lock))) == NULL) @@ -72,18 +72,18 @@ static Lock * _lock_init(PanelAppletHelper * helper, GtkWidget ** widget) lock->helper = helper; lock->pr_box = NULL; lock->pr_command = NULL; - ret = gtk_button_new(); + lock->widget = gtk_button_new(); image = gtk_image_new_from_icon_name("gnome-lockscreen", helper->icon_size); - gtk_button_set_image(GTK_BUTTON(ret), image); - gtk_button_set_relief(GTK_BUTTON(ret), GTK_RELIEF_NONE); + gtk_button_set_image(GTK_BUTTON(lock->widget), image); + gtk_button_set_relief(GTK_BUTTON(lock->widget), GTK_RELIEF_NONE); #if GTK_CHECK_VERSION(2, 12, 0) - gtk_widget_set_tooltip_text(ret, _("Lock screen")); + gtk_widget_set_tooltip_text(lock->widget, _("Lock screen")); #endif - g_signal_connect_swapped(G_OBJECT(ret), "clicked", G_CALLBACK( + g_signal_connect_swapped(lock->widget, "clicked", G_CALLBACK( _on_clicked), helper); - gtk_widget_show_all(ret); - *widget = ret; + gtk_widget_show_all(lock->widget); + *widget = lock->widget; return lock; } @@ -91,6 +91,7 @@ static Lock * _lock_init(PanelAppletHelper * helper, GtkWidget ** widget) /* lock_destroy */ static void _lock_destroy(Lock * lock) { + gtk_widget_destroy(lock->widget); free(lock); } diff --git a/src/applets/logout.c b/src/applets/logout.c index b7f4dbb..62c41f2 100644 --- a/src/applets/logout.c +++ b/src/applets/logout.c @@ -1,5 +1,5 @@ /* $Id$ */ -/* Copyright (c) 2010-2012 Pierre Pronchery */ +/* Copyright (c) 2010-2013 Pierre Pronchery */ /* This file is part of DeforaOS Desktop Panel */ /* This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,6 +28,7 @@ typedef struct _PanelApplet { PanelAppletHelper * helper; + GtkWidget * widget; } Logout; @@ -60,7 +61,6 @@ PanelAppletDefinition applet = static Logout * _logout_init(PanelAppletHelper * helper, GtkWidget ** widget) { Logout * logout; - GtkWidget * ret; GtkWidget * image; if((logout = malloc(sizeof(*logout))) == NULL) @@ -71,17 +71,17 @@ static Logout * _logout_init(PanelAppletHelper * helper, GtkWidget ** widget) helper->error(NULL, _("logout: Logging out is disabled"), 1); return NULL; } - ret = gtk_button_new(); + logout->widget = gtk_button_new(); image = gtk_image_new_from_icon_name("gnome-logout", helper->icon_size); - gtk_button_set_image(GTK_BUTTON(ret), image); - gtk_button_set_relief(GTK_BUTTON(ret), GTK_RELIEF_NONE); + gtk_button_set_image(GTK_BUTTON(logout->widget), image); + gtk_button_set_relief(GTK_BUTTON(logout->widget), GTK_RELIEF_NONE); #if GTK_CHECK_VERSION(2, 12, 0) - gtk_widget_set_tooltip_text(ret, _("Logout")); + gtk_widget_set_tooltip_text(logout->widget, _("Logout")); #endif - g_signal_connect_swapped(G_OBJECT(ret), "clicked", G_CALLBACK( + g_signal_connect_swapped(logout->widget, "clicked", G_CALLBACK( _on_clicked), logout); - gtk_widget_show_all(ret); - *widget = ret; + gtk_widget_show_all(logout->widget); + *widget = logout->widget; return logout; } @@ -89,6 +89,7 @@ static Logout * _logout_init(PanelAppletHelper * helper, GtkWidget ** widget) /* logout_destroy */ static void _logout_destroy(Logout * logout) { + gtk_widget_destroy(logout->widget); free(logout); }