James McAvoy , who plays Thomas Langlois Lefroy , believed that filming in Ireland made her casting `` a bit safer '' than if they had shot in England .
James McAvoy played Thomas Lefroy .