The right attitude will make you or break you. I know it's difficult sometimes to control your attitude, but it does help to have a good attitude.
That's why I say we should want to be corrected when speaking a foreign language. If you don't want to be corrected, that means you don't want to learn, and that is just not the right attitude. You shouldn't choose when you want to learn and when you want to be corrected. It should be constant. Let's face it. Learning a language takes a lot of time. The less time you are learning, the longer it's going to take. If you learn all the time, you will master the language sooner. It's like this: 1 hour a day is less than 24 hours a day. The person who learns for only 1 hour a day will not progress like the person who learns 24 hours a day.
So, the next time someone unexpectedly corrects you, have the right attitude. Every mistake you make is wrong. People don't want to hear or listen to your mistakes. They want to help you fix those mistakes, but most people won't help. The person who is helping you is your friend. They are giving you a chance to erase that mistake forever! Seize the opportunity and make your friend proud by knocking out that mistake. If you take this kind of attitude to being corrected, you will be better off than those who get irritated.
I will gladly correct anybody who wants to be corrected. I will not be glad for some petty selfish reason. I will be glad because I can help a friend. I will be glad to be useful to someone else. I will not receive anything in return.