From: Robert Norris Date: Thu, 22 Jan 2009 20:42:34 +0000 (+0000) Subject: Fix some memory leaks. X-Git-Url: https://git.street.me.uk/andy/viking.git/commitdiff_plain/6278ccc6f46903f87a3a2260b36d67535ae0cf50 Fix some memory leaks. This were found a by mixture of valgrind use and code review. Submitted by Rob Norris --- diff --git a/src/gpx.c b/src/gpx.c index 5f379dab..ea94ffed 100644 --- a/src/gpx.c +++ b/src/gpx.c @@ -421,6 +421,7 @@ void a_gpx_read_file( VikTrwLayer *vtl, FILE *f ) { XML_Parse(parser, buf, len, done); } + XML_ParserFree (parser); g_string_free ( xpath, TRUE ); g_string_free ( c_cdata, TRUE ); } diff --git a/src/viktreeview.c b/src/viktreeview.c index 7c43a233..45c25067 100644 --- a/src/viktreeview.c +++ b/src/viktreeview.c @@ -497,8 +497,10 @@ void vik_treeview_add_sublayer_alphabetized { gtk_tree_store_insert_before ( GTK_TREE_STORE(vt->model), iter, parent_iter, &search_iter ); found_greater_string = TRUE; + g_free (search_name); break; } + g_free (search_name); } while ( gtk_tree_model_iter_next ( vt->model, &search_iter ) ); if ( ! found_greater_string ) diff --git a/src/viktrwlayer_propwin.c b/src/viktrwlayer_propwin.c index 50052362..d47daa4e 100644 --- a/src/viktrwlayer_propwin.c +++ b/src/viktrwlayer_propwin.c @@ -398,6 +398,7 @@ GtkWidget *vik_trw_layer_create_profile ( GtkWidget *window, VikTrack *tr, gpoin gdk_draw_line (GDK_DRAWABLE(pix), window->style->dark_gc[0], MARGIN, PROFILE_HEIGHT/LINES * i, MARGIN + PROFILE_WIDTH, PROFILE_HEIGHT/LINES * i); + g_object_unref ( G_OBJECT ( pl ) ); } /* draw elevations */ @@ -529,6 +530,7 @@ GtkWidget *vik_trw_layer_create_vtdiag ( GtkWidget *window, VikTrack *tr, gpoint gdk_draw_line (GDK_DRAWABLE(pix), window->style->dark_gc[0], MARGIN, PROFILE_HEIGHT/LINES * i, MARGIN + PROFILE_WIDTH, PROFILE_HEIGHT/LINES * i); + g_object_unref ( G_OBJECT ( pl ) ); } diff --git a/src/vikviewport.c b/src/vikviewport.c index 58dd3118..16230908 100644 --- a/src/vikviewport.c +++ b/src/vikviewport.c @@ -413,6 +413,7 @@ void vik_viewport_draw_scale ( VikViewport *vvp ) pango_layout_set_text(pl, s, -1); vik_viewport_draw_layout(vvp, GTK_WIDGET(&vvp->drawing_area)->style->black_gc, PAD + len + PAD, vvp->height - PAD - 10, pl); + g_object_unref(pl); } }