diff options
Diffstat (limited to 'src/libnm-platform/nmp-global-tracker.c')
| -rw-r--r-- | src/libnm-platform/nmp-global-tracker.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libnm-platform/nmp-global-tracker.c b/src/libnm-platform/nmp-global-tracker.c index 3fd31e4e..b06e9fe5 100644 --- a/src/libnm-platform/nmp-global-tracker.c +++ b/src/libnm-platform/nmp-global-tracker.c @@ -540,12 +540,13 @@ _track_data_untrack(NMPGlobalTracker *self, * sync. */ obj_data->config_state = CONFIG_STATE_OWNED_BY_US; } - } else if (remove_user_tag_data && c_list_length_is(&track_data->user_tag_lst, 1)) + } else if (remove_user_tag_data && c_list_is_empty_or_single(&track_data->user_tag_lst)) g_hash_table_remove(self->by_user_tag, &track_data->user_tag); /* if obj_data is marked to be "added_by_us" or "removed_by_us", we need to keep this entry * around for the next sync -- so that we can undo what we did earlier. */ - if (obj_data->config_state == CONFIG_STATE_NONE && c_list_length_is(&track_data->obj_lst, 1)) + if (obj_data->config_state == CONFIG_STATE_NONE + && c_list_is_empty_or_single(&track_data->obj_lst)) g_hash_table_remove(self->by_obj, &track_data->obj); g_hash_table_remove(self->by_data, track_data); @@ -1101,7 +1102,7 @@ nmp_global_tracker_sync(NMPGlobalTracker *self, NMPObjectType obj_type, gboolean NMP_NLM_FLAG_ADD, NMP_OBJECT_CAST_ROUTING_RULE(obj_data->obj)); } else - nm_platform_ip_route_add(self->platform, NMP_NLM_FLAG_APPEND, obj_data->obj); + nm_platform_ip_route_add(self->platform, NMP_NLM_FLAG_APPEND, obj_data->obj, NULL); } } |