diff --git a/src/vpn-manager/nm-vpn-connection.c b/src/vpn-manager/nm-vpn-connection.c index 0c0a42357b..cbc7c69d34 100644 --- a/src/vpn-manager/nm-vpn-connection.c +++ b/src/vpn-manager/nm-vpn-connection.c @@ -1945,7 +1945,7 @@ nm_vpn_service_daemon_exec (NMVpnConnection *self, GError **error) if (success) { _LOGI ("Started the VPN service, PID %ld", (long int) pid); - priv->start_timeout = g_timeout_add_seconds (5, _daemon_exec_timeout, g_object_ref (self)); + priv->start_timeout = g_timeout_add_seconds (5, _daemon_exec_timeout, self); } else { g_set_error (error, NM_MANAGER_ERROR, NM_MANAGER_ERROR_FAILED, @@ -2401,6 +2401,8 @@ dispose (GObject *object) NMVpnConnection *self = NM_VPN_CONNECTION (object); NMVpnConnectionPrivate *priv = NM_VPN_CONNECTION_GET_PRIVATE (self); + nm_clear_g_source (&priv->start_timeout); + g_clear_pointer (&priv->connect_hash, g_variant_unref); nm_clear_g_source (&priv->connect_timeout);