]> git.street.me.uk Git - andy/viking.git/commitdiff
Enforce memory free
authorGuilhem Bonnefille <guilhem.bonnefille@gmail.com>
Thu, 22 Jan 2009 20:43:25 +0000 (20:43 +0000)
committerGuilhem Bonnefille <guilhem.bonnefille@gmail.com>
Thu, 22 Jan 2009 20:43:25 +0000 (20:43 +0000)
Setting to NULL after a free avoid a wrong reuse.

ChangeLog
src/viktreeview.c
src/viktrwlayer_propwin.c
src/vikviewport.c

index 22c726eb677c998f6eaa55e5f5ecbc907f05dc2a..025edde0ce2c0dd4b056133bcdac3a50dbc15c24 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-22
+Rob Norris <robbieonsea@users.sourceforge.net>:
+       * Fix 2249398: Fix some memory leaks
+
 2009-01-18
 Guilhem Bonnefille <guilhem.bonnefille@gmail.com>:
        * configure.ac: allow to enable/disable geonames and select the search method
index 45c2506741b146769daa9eb4f507e8c62a4a0cd2..f04fc9e5d75ad0043231d00173017bf7f83e428f 100644 (file)
@@ -461,7 +461,7 @@ void vik_treeview_add_sublayer ( VikTreeview *vt, GtkTreeIter *parent_iter, GtkT
 void vik_treeview_sublayer_realphabetize ( VikTreeview *vt, GtkTreeIter *iter, const gchar *newname )
 {
   GtkTreeIter search_iter, parent_iter;
-  gchar *search_name;
+  gchar *search_name = NULL;
   g_assert ( iter != NULL );
 
   gtk_tree_model_iter_parent ( vt->model, &parent_iter, iter );
@@ -473,8 +473,12 @@ void vik_treeview_sublayer_realphabetize ( VikTreeview *vt, GtkTreeIter *iter, c
     if ( strcmp ( search_name, newname ) > 0 ) /* not >= or would trip on itself */
     {
       gtk_tree_store_move_before ( GTK_TREE_STORE(vt->model), iter, &search_iter );
+      g_free (search_name);
+      search_name = NULL;
       return;
     }
+    g_free (search_name);
+    search_name = NULL;
   } while ( gtk_tree_model_iter_next ( vt->model, &search_iter ) );
 
   gtk_tree_store_move_before ( GTK_TREE_STORE(vt->model), iter, NULL );
@@ -485,7 +489,7 @@ void vik_treeview_add_sublayer_alphabetized
                    gint data, GdkPixbuf *icon, gboolean has_visible, gboolean editable )
 {
   GtkTreeIter search_iter;
-  gchar *search_name;
+  gchar *search_name = NULL;
   g_assert ( iter != NULL );
 
   if ( gtk_tree_model_iter_children ( vt->model, &search_iter, parent_iter ) )
@@ -497,10 +501,12 @@ 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);
+        g_free (search_name);
+        search_name = NULL;
         break;
       }
       g_free (search_name);
+      search_name = NULL;
     } while ( gtk_tree_model_iter_next ( vt->model, &search_iter ) );
 
     if ( ! found_greater_string )
index d47daa4e5f3d697b2848dbb8e070514e8fbcb05a..eb96f274ec052231c0a2f91ca42bc1c075a8c4ec 100644 (file)
@@ -399,6 +399,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 ) );
+    pl = NULL;
   }
 
   /* draw elevations */
@@ -531,6 +532,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 ) );
+    pl = NULL;
   }
   
 
index 162309087e715c824b8af35ee752d6a04d447125..6502881953777eba290bfdbf2d226f5a7836a95e 100644 (file)
@@ -414,6 +414,7 @@ void vik_viewport_draw_scale ( VikViewport *vvp )
     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);
+    pl = NULL;
   }
 }