From d06426850df092c9c814776189312c6717655d52 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Fri, 9 Sep 2011 11:49:54 +0000 Subject: [PATCH] fixed memleak when window not drawable. --- NEWS | 1 + src/graph.c | 34 +++++++++++++++------------------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/NEWS b/NEWS index 3879df5..826ae94 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,7 @@ ** psensor-server: display graph of sensors (web server). ** psensor: bug fixed compilation with -Wall. ** psensor: bug fixed unallocated memory read during termination. +** psensor: fixed memleak when window not drawable. * v0.6.2.9 diff --git a/src/graph.c b/src/graph.c index da7bbfa..a0093d8 100644 --- a/src/graph.c +++ b/src/graph.c @@ -188,38 +188,34 @@ static void draw_sensor_curve(struct psensor *s, void graph_update(struct psensor **sensors, - GtkWidget *w_graph, struct config *config) + GtkWidget *w_graph, + struct config *config) { struct color *fgcolor = config->graph_fgcolor; - int et, bt; - double min_rpm = get_min_rpm(sensors); - double max_rpm = get_max_rpm(sensors); - - double mint = get_min_temp(sensors); - char *strmin = psensor_value_to_string(SENSOR_TYPE_TEMP, mint); - - double maxt = get_max_temp(sensors); - char *strmax = psensor_value_to_string(SENSOR_TYPE_TEMP, maxt); - - int width, height, g_width, g_height; - + int et, bt, width, height, g_width, g_height; + double min_rpm, max_rpm, mint, maxt; + char *strmin, *strmax; /* horizontal and vertical offset of the graph */ int g_xoff, g_yoff; - cairo_surface_t *cst; cairo_t *cr, *cr_pixmap; - - char *str_btime; - char *str_etime; - + char *str_btime, *str_etime; cairo_text_extents_t te_btime, te_etime, te_max, te_min; - struct psensor **sensor_cur; GtkAllocation galloc; if (!gtk_widget_is_drawable(w_graph)) return ; + min_rpm = get_min_rpm(sensors); + max_rpm = get_max_rpm(sensors); + + mint = get_min_temp(sensors); + strmin = psensor_value_to_string(SENSOR_TYPE_TEMP, mint); + + maxt = get_max_temp(sensors); + strmax = psensor_value_to_string(SENSOR_TYPE_TEMP, maxt); + str_btime = time_to_str(get_graph_begin_time_s(config)); str_etime = time_to_str(get_graph_end_time_s()); -- 2.7.4