summaryrefslogtreecommitdiff
path: root/src/nm-manager.c
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-03-27 16:19:20 +0200
committerThomas Haller <thaller@redhat.com>2018-04-04 14:02:13 +0200
commit79458a558bdf45a789df3024f84942f85eb15875 (patch)
treeaa94c4e1eeaebf9c74dad92ac735a9772a73eb07 /src/nm-manager.c
parent63e3bff916d4df1968367421b0ba8df7986c1c3f (diff)
downloadNetworkManager-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.c15
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,