- if ( creating_new_layer )
- vik_aggregate_layer_add_layer( vik_layers_panel_get_top_layer(w->vlp), VIK_LAYER(vtl));
- if ( interface->keep_dialog_open ) {
+ 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)) )
+ 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.") );
+ }
+ /* View this data if available and is desired */
+ if ( vtl && source_interface->autoview ) {
+ vik_trw_layer_auto_set_view ( vtl, vik_layers_panel_get_viewport(w->vlp) );
+ vik_layers_panel_emit_update (w->vlp);
+ }
+ if ( source_interface->keep_dialog_open ) {