]> git.street.me.uk Git - andy/viking.git/commitdiff
Fix some memory leaks.
authorRobert Norris <rw_norris@hotmail.com>
Thu, 22 Jan 2009 20:42:34 +0000 (20:42 +0000)
committerRobert Norris <rw_norris@hotmail.com>
Thu, 22 Jan 2009 20:42:34 +0000 (20:42 +0000)
This were found a by mixture of valgrind use and code review.

Submitted by Rob Norris

src/gpx.c
src/viktreeview.c
src/viktrwlayer_propwin.c
src/vikviewport.c

index 5f379dab23b9361424500b38c8ec68bd9067109e..ea94ffed6b54ee60c0954ec41c57edc026d3b459 100644 (file)
--- 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 );
 }
index 7c43a233837ca05a067f339e06d29cdb9e913ce0..45c2506741b146769daa9eb4f507e8c62a4a0cd2 100644 (file)
@@ -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 )
index 50052362ada046ec4676ce3fdafb4c08786ce556..d47daa4e5f3d697b2848dbb8e070514e8fbcb05a 100644 (file)
@@ -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 ) );
   }
   
 
index 58dd31183a47ef68da51f2276a3be9636a1623c6..162309087e715c824b8af35ee752d6a04d447125 100644 (file)
@@ -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);
   }
 }