]> git.street.me.uk Git - andy/viking.git/blobdiff - src/vikwaypoint.c
SF#3608411: Part 1 - Avoid warning about unbuffer on Windows Systems.
[andy/viking.git] / src / vikwaypoint.c
index b91243595e5803463540a62dbf75f714f7989b9c..2375c57787ce9efeaf36554ac31511f727d96352 100644 (file)
@@ -25,6 +25,7 @@
 #include "vikcoord.h"
 #include "vikwaypoint.h"
 #include "globals.h"
 #include "vikcoord.h"
 #include "vikwaypoint.h"
 #include "globals.h"
+#include "garminsymbols.h"
 #include <glib/gi18n.h>
 
 VikWaypoint *vik_waypoint_new()
 #include <glib/gi18n.h>
 
 VikWaypoint *vik_waypoint_new()
@@ -41,10 +42,7 @@ void vik_waypoint_set_name(VikWaypoint *wp, const gchar *name)
   if ( wp->name )
     g_free ( wp->name );
 
   if ( wp->name )
     g_free ( wp->name );
 
-  if ( name && name[0] != '\0' )
-    wp->name = g_strdup(name);
-  else
-    wp->name = NULL;
+  wp->name = g_strdup(name);
 }
 
 void vik_waypoint_set_comment_no_copy(VikWaypoint *wp, gchar *comment)
 }
 
 void vik_waypoint_set_comment_no_copy(VikWaypoint *wp, gchar *comment)
@@ -93,10 +91,16 @@ void vik_waypoint_set_symbol(VikWaypoint *wp, const gchar *symname)
   if ( wp->symbol )
     g_free ( wp->symbol );
 
   if ( wp->symbol )
     g_free ( wp->symbol );
 
-  if ( symname && symname[0] != '\0' )
+  // NB symbol_pixbuf is just a reference, so no need to free it
+
+  if ( symname && symname[0] != '\0' ) {
     wp->symbol = g_strdup(symname);
     wp->symbol = g_strdup(symname);
-  else
+    wp->symbol_pixbuf = a_get_wp_sym ( wp->symbol );
+  }
+  else {
     wp->symbol = NULL;
     wp->symbol = NULL;
+    wp->symbol_pixbuf = NULL;
+  }
 }
 
 void vik_waypoint_free(VikWaypoint *wp)
 }
 
 void vik_waypoint_free(VikWaypoint *wp)