X-Git-Url: https://git.street.me.uk/andy/viking.git/blobdiff_plain/0944940fe9a9268a45669a140cac4c5e3d1cd036..9552af08b0de8cf0de6b8d253d5a77173f35259b:/src/acquire.c?ds=sidebyside diff --git a/src/acquire.c b/src/acquire.c index a71df622..a48442bd 100644 --- a/src/acquire.c +++ b/src/acquire.c @@ -56,7 +56,6 @@ const VikDataSourceInterface *filters[] = { const guint N_FILTERS = sizeof(filters) / sizeof(filters[0]); VikTrack *filter_track = NULL; -gchar *filter_track_name = NULL; /********************************************************/ @@ -122,7 +121,7 @@ static void get_from_anything ( w_and_interface_t *wi ) // TODO consider removing 'type' and make everything run via the specficied process function switch ( source_interface->type ) { case VIK_DATASOURCE_GPSBABEL_DIRECT: - result = a_babel_convert_from (vtl, cmd, (BabelStatusFunc) progress_func, extra, w); + result = a_babel_convert_from (vtl, cmd, extra, (BabelStatusFunc) progress_func, w); break; case VIK_DATASOURCE_URL: result = a_babel_convert_from_url (vtl, cmd, extra, (BabelStatusFunc) progress_func, w); @@ -155,8 +154,10 @@ static void get_from_anything ( w_and_interface_t *wi ) if ( creating_new_layer ) { /* Only create the layer if it actually contains anything useful */ if ( g_hash_table_size (vik_trw_layer_get_tracks(vtl)) || - g_hash_table_size (vik_trw_layer_get_waypoints(vtl)) ) + g_hash_table_size (vik_trw_layer_get_waypoints(vtl)) ) { + vik_layer_post_read ( VIK_LAYER(vtl), w->vvp, TRUE ); vik_aggregate_layer_add_layer( vik_layers_panel_get_top_layer(w->vlp), VIK_LAYER(vtl)); + } else gtk_label_set_text ( GTK_LABEL(w->status), _("No data.") ); } @@ -212,7 +213,7 @@ static gchar *write_tmp_track ( VikTrack *track ) FILE *f; g_assert ((fd_src = g_file_open_tmp("tmp-viking.XXXXXX", &name_src, NULL)) >= 0); f = fdopen(fd_src, "w"); - a_gpx_write_track_file("track", track, f); /* Thank you Guilhem! Just when I needed this function... -- Evan */ + a_gpx_write_track_file(track, f); /* Thank you Guilhem! Just when I needed this function... -- Evan */ fclose(f); f = NULL; return name_src; @@ -379,7 +380,7 @@ static void acquire ( VikWindow *vw, VikLayersPanel *vlp, VikViewport *vvp, VikD else { if ( cmd_off ) { /* Turn off */ - a_babel_convert_from (NULL, cmd_off, NULL, extra_off, NULL); + a_babel_convert_from (NULL, cmd_off, extra_off, NULL, NULL); } g_free ( w ); /* thread has finished; free w */ } @@ -446,7 +447,7 @@ GtkWidget *a_acquire_trwlayer_track_menu (VikWindow *vw, VikLayersPanel *vlp, Vi if ( filter_track == NULL ) return NULL; else { - gchar *menu_title = g_strdup_printf ( "Filter with %s", filter_track_name ); + gchar *menu_title = g_strdup_printf ( "Filter with %s", filter_track->name ); GtkWidget *rv = acquire_build_menu ( vw, vlp, vvp, vtl, filter_track, menu_title, VIK_DATASOURCE_INPUTTYPE_TRWLAYER_TRACK ); g_free ( menu_title ); @@ -459,15 +460,11 @@ GtkWidget *a_acquire_track_menu (VikWindow *vw, VikLayersPanel *vlp, VikViewport return acquire_build_menu ( vw, vlp, vvp, NULL, tr, "Filter", VIK_DATASOURCE_INPUTTYPE_TRACK ); } -void a_acquire_set_filter_track ( VikTrack *tr, const gchar *name ) +void a_acquire_set_filter_track ( VikTrack *tr ) { if ( filter_track ) vik_track_free ( filter_track ); - if ( filter_track_name ) - g_free ( filter_track_name ); filter_track = tr; vik_track_ref ( tr ); - - filter_track_name = g_strdup(name); }