Changing profile runs on Event Dispatch Thread
Changing profile on the launcher runs on the Event Dispatch Thread, which means if you change to a profile that is logged into another Minecraft account, the launcher temporarily freezes whilst it contacts the authentication servers.
Any task that could take time shouldn't run on the EDT.
What I expected to happen was...:
The launcher would work much like it does when you first start it: there is a 'Play Offline' button until it logs into your account, and the launcher works normally, with interaction possible.
What actually happened was...:
The launcher froze whilst it was attempting to login to the other account, with no interaction available.
Steps to Reproduce:
1. Have 2 profiles on the launcher, both logged into 2 separate Minecraft/Mojang accounts.
2. Switch from one profile to the other.
3. The launcher will temporarily freeze whilst it logs into the other account.
Notes:
Especially apparent when authentication servers are down, where it freezes whilst it tries (and fails) to contact the servers.