From e6ae080b040e5115dcc36e8021700eb5d518ea6b Mon Sep 17 00:00:00 2001 From: Rob Norris Date: Sun, 12 Mar 2017 22:48:44 +0000 Subject: [PATCH] Prevent Gtk Warnings in deleting all TrackWaypoint items If the set of items is empty, then the containing treeview entry won't be present either - so don't attempt to delete the non-existent entry. --- src/viktrwlayer.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/viktrwlayer.c b/src/viktrwlayer.c index 25bb2a98..a4b23098 100644 --- a/src/viktrwlayer.c +++ b/src/viktrwlayer.c @@ -5006,9 +5006,10 @@ void vik_trw_layer_delete_all_routes ( VikTrwLayer *vtl ) g_hash_table_foreach(vtl->routes_iters, (GHFunc) remove_item_from_treeview, VIK_LAYER(vtl)->vt); g_hash_table_remove_all(vtl->routes_iters); - g_hash_table_remove_all(vtl->routes); - vik_treeview_item_delete ( VIK_LAYER(vtl)->vt, &(vtl->routes_iter) ); + if ( g_hash_table_size (vtl->routes) > 0 ) + vik_treeview_item_delete ( VIK_LAYER(vtl)->vt, &(vtl->routes_iter) ); + g_hash_table_remove_all(vtl->routes); vik_layer_emit_update ( VIK_LAYER(vtl) ); } @@ -5023,9 +5024,10 @@ void vik_trw_layer_delete_all_tracks ( VikTrwLayer *vtl ) g_hash_table_foreach(vtl->tracks_iters, (GHFunc) remove_item_from_treeview, VIK_LAYER(vtl)->vt); g_hash_table_remove_all(vtl->tracks_iters); - g_hash_table_remove_all(vtl->tracks); - vik_treeview_item_delete ( VIK_LAYER(vtl)->vt, &(vtl->tracks_iter) ); + if ( g_hash_table_size (vtl->tracks) > 0 ) + vik_treeview_item_delete ( VIK_LAYER(vtl)->vt, &(vtl->tracks_iter) ); + g_hash_table_remove_all(vtl->tracks); vik_layer_emit_update ( VIK_LAYER(vtl) ); } @@ -5040,9 +5042,10 @@ void vik_trw_layer_delete_all_waypoints ( VikTrwLayer *vtl ) g_hash_table_foreach(vtl->waypoints_iters, (GHFunc) remove_item_from_treeview, VIK_LAYER(vtl)->vt); g_hash_table_remove_all(vtl->waypoints_iters); - g_hash_table_remove_all(vtl->waypoints); - vik_treeview_item_delete ( VIK_LAYER(vtl)->vt, &(vtl->waypoints_iter) ); + if ( g_hash_table_size (vtl->waypoints) > 0 ) + vik_treeview_item_delete ( VIK_LAYER(vtl)->vt, &(vtl->waypoints_iter) ); + g_hash_table_remove_all(vtl->waypoints); vik_layer_emit_update ( VIK_LAYER(vtl) ); } -- 2.39.5