]> git.street.me.uk Git - andy/viking.git/commitdiff
Fix split track at trackpoint for using the internal track id properly.
authorRob Norris <rw_norris@hotmail.com>
Sun, 12 Aug 2012 10:04:01 +0000 (11:04 +0100)
committerRob Norris <rw_norris@hotmail.com>
Sun, 12 Aug 2012 10:05:15 +0000 (11:05 +0100)
Follow on from commt: 3d2ad4f8f73e4fad30df83199a83d6e947a88786

src/viktrwlayer.c

index d04b0d0d267a97dafe56255cffe584a9e246c0d0..8547e8510b7f94969c006f37b18651348f5af76d 100644 (file)
@@ -4991,13 +4991,25 @@ static void trw_layer_tpwin_response ( VikTrwLayer *vtl, gint response )
       vtl->current_tpl->next = NULL;
 
       vtl->current_tpl = newglist; /* change tp to first of new track. */
-      vtl->current_tp_track->name = name;
+      vtl->current_tp_track = tr;
 
       vik_trw_layer_tpwin_set_tp ( vtl->tpwin, vtl->current_tpl, vtl->current_tp_track->name );
 
       tr->visible = TRUE;
 
       vik_trw_layer_add_track ( vtl, name, tr );
+
+      trku_udata udata;
+      udata.trk  = tr;
+      udata.uuid = NULL;
+
+      // Also need id of newly created track
+      gpointer *trkf = g_hash_table_find ( vtl->tracks, (GHRFunc) trw_layer_track_find_uuid, &udata );
+      if ( trkf && udata.uuid )
+        vtl->current_tp_id = udata.uuid;
+      else
+        vtl->current_tp_id = NULL;
+
       vik_layer_emit_update(VIK_LAYER(vtl), FALSE);
     }
   }