archrelease: copy trunk to community-any
[arch-community.git] / sensors-applet / trunk / fix-crash-destroying-active-sensor.patch
blob0beec62ac95085d53ab0b84abc6f9402579f3971
1 From: Alberts Muktupāvels <alberts.muktupavels@gmail.com>
2 Date: Sat, 28 Mar 2020 19:38:07 +0200
3 Subject: fix crash destroying active sensor
5 ---
6 sensors-applet/active-sensor.c | 19 ++++++++++++++-----
7 1 file changed, 14 insertions(+), 5 deletions(-)
9 diff --git a/sensors-applet/active-sensor.c b/sensors-applet/active-sensor.c
10 index 725e050..9fe4718 100644
11 --- a/sensors-applet/active-sensor.c
12 +++ b/sensors-applet/active-sensor.c
13 @@ -347,17 +347,17 @@ static void active_sensor_update_graph(ActiveSensor *as) {
15 void active_sensor_destroy(ActiveSensor *active_sensor) {
16 g_debug("-- destroying active sensor label...");
17 - gtk_widget_destroy(active_sensor->label);
18 + g_object_unref(active_sensor->label);
20 g_debug("-- destroying active sensor icon..");
21 - gtk_widget_destroy(active_sensor->icon);
22 + g_object_unref(active_sensor->icon);
24 g_debug("-- destroying active sensor value...");
25 - gtk_widget_destroy(active_sensor->value);
26 + g_object_unref(active_sensor->value);
28 g_debug("-- destroying active sensor graph and frame...");
29 - gtk_widget_destroy(active_sensor->graph);
30 - gtk_widget_destroy(active_sensor->graph_frame);
31 + g_object_unref(active_sensor->graph);
32 + g_object_unref(active_sensor->graph_frame);
34 g_debug("-- destroying active sensor values...");
35 g_free(active_sensor->sensor_values);
36 @@ -450,11 +450,20 @@ ActiveSensor *active_sensor_new(SensorsApplet *sensors_applet,
39 active_sensor->label = gtk_label_new("");
40 + g_object_ref_sink (active_sensor->label);
42 active_sensor->value = gtk_label_new("");
43 + g_object_ref_sink (active_sensor->value);
45 active_sensor->icon = gtk_image_new();
46 + g_object_ref_sink (active_sensor->icon);
48 active_sensor->graph = gtk_drawing_area_new();
49 + g_object_ref_sink (active_sensor->graph);
51 active_sensor->graph_frame = gtk_frame_new(NULL);
52 + g_object_ref_sink (active_sensor->graph_frame);
54 gtk_frame_set_shadow_type(GTK_FRAME(active_sensor->graph_frame),
55 GTK_SHADOW_IN);
56 gtk_container_add(GTK_CONTAINER(active_sensor->graph_frame),