After searching through and trying a number of login widgets I decided to use your plugin. It had a number of options that the other plugins didn't have. Thanks for the effort.
I added a role called "vendor". A user defined with the "vendor" role is, by design, not allowed into the backend of the web site. I needed a plugin that enabled a vendor to login and then redirect them to a portion of the web site they can access. A couple of user links provided by the plugin after the vendor logs in includes a link to their profile and a link to the dashboard. Because I don't this particular user role to have access to those links, I changed the plugin's user link options (for the role) by removing the dashboard and profile links and saved the settings.
After logging out and then logging back in as a user with a "vendor" role, the links for the dashboard and profile were still displayed. I discovered that the links are always provided by this class function: Theme_My_Login_Template::get_user_links by way of the function call $this->get_user_links() in the default template. I have no interest in creating a new template or changing the template class functionality.
The function get_user_links() provides a filter hook for making changes to the array of links, however, the filter doesn't provide me with a context (i.e. the "role" the user links refer to). Instead, I have to determine the role of the user myself and decide what to return in the filter callback.
Am I not understanding the purpose of defining or changing user links? I would have expected that the defined set of user links (or lack there of) for the given role would be returned from a saved option (or something).
Maybe you could explain what should be taking place and where the user defined links are that I saved.