diff options
| author | Thomas Haller <thaller@redhat.com> | 2018-03-27 16:19:20 +0200 |
|---|---|---|
| committer | Thomas Haller <thaller@redhat.com> | 2018-04-04 14:02:13 +0200 |
| commit | 79458a558bdf45a789df3024f84942f85eb15875 (patch) | |
| tree | aa94c4e1eeaebf9c74dad92ac735a9772a73eb07 /src/nm-manager.c | |
| parent | 63e3bff916d4df1968367421b0ba8df7986c1c3f (diff) | |
| download | NetworkManager-79458a558bdf45a789df3024f84942f85eb15875.tar.gz | |
checkpoint: don't explicitly track checkpoints in a GHashTable
We already have a GHashTable for exported objects. We can use
that if we want to look up by path efficiently.
Diffstat (limited to 'src/nm-manager.c')
| -rw-r--r-- | src/nm-manager.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c index 4c4313a55a..71ccb55864 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -6471,7 +6471,6 @@ get_property (GObject *object, guint prop_id, NMConfigData *config_data; const NMGlobalDnsConfig *dns_config; const char *type; - char **strv; const char *path; NMActiveConnection *ac; GPtrArray *ptrarr; @@ -6578,10 +6577,11 @@ get_property (GObject *object, guint prop_id, TRUE))); break; case PROP_CHECKPOINTS: - strv = NULL; - if (priv->checkpoint_mgr) - strv = nm_checkpoint_manager_get_checkpoint_paths (priv->checkpoint_mgr); - g_value_take_boxed (value, strv); + g_value_take_boxed (value, + priv->checkpoint_mgr + ? nm_utils_strv_make_deep_copied (nm_checkpoint_manager_get_checkpoint_paths (priv->checkpoint_mgr, + NULL)) + : NULL); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -6664,10 +6664,7 @@ dispose (GObject *object) nm_clear_g_source (&priv->devices_inited_id); - if (priv->checkpoint_mgr) { - nm_checkpoint_manager_destroy_all (priv->checkpoint_mgr, NULL); - g_clear_pointer (&priv->checkpoint_mgr, nm_checkpoint_manager_free); - } + g_clear_pointer (&priv->checkpoint_mgr, nm_checkpoint_manager_free); if (priv->auth_mgr) { g_signal_handlers_disconnect_by_func (priv->auth_mgr, |
