summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2018-10-08 21:43:18 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2018-10-09 09:58:27 +0200
commit5be9e245e612b52d0ff7f4570b091732c6d30d6f (patch)
tree7304139961ba1ea6a18ae70c84b1563cfd4be49f
parent3fb646f2568551533707b5efb5e45d6c8a688307 (diff)
cli: fix cleanup after activation from editor
progress_activation_editor_cb() is called multiple times every 120 milliseconds and it must free resources only the last time. Fixes: f0a26865458a42dd35975efd9bf6fdd2d9445c08 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/51
-rw-r--r--clients/cli/connections.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/clients/cli/connections.c b/clients/cli/connections.c
index eb18350ef..11d88bbef 100644
--- a/clients/cli/connections.c
+++ b/clients/cli/connections.c
@@ -6616,8 +6616,8 @@ static gboolean
progress_activation_editor_cb (gpointer user_data)
{
MonitorACInfo *info = (MonitorACInfo *) user_data;
- gs_unref_object NMDevice *device = info->device;
- gs_unref_object NMActiveConnection *ac = info->ac;
+ NMDevice *device = info->device;
+ NMActiveConnection *ac = info->ac;
NMActiveConnectionState ac_state;
NMDeviceState dev_state;
@@ -6650,11 +6650,13 @@ progress_activation_editor_cb (gpointer user_data)
nm_object_get_path (NM_OBJECT (connection)));
}
- return TRUE;
+ return G_SOURCE_CONTINUE;
finish:
+ nm_g_object_unref (device);
+ nm_g_object_unref (ac);
info->monitor_id = 0;
- return FALSE;
+ return G_SOURCE_REMOVE;
}
static void