When someone shows you who they really are, don't try to paint a new picture....
Ain't that the truth?
Why is it that we don't believe it when they TELL you who they are either? Some people come right out and say that they are the wrong people for us, and we giggle and say, "Oh no, you're perfect."
Why are we trying so hard to keep someone that is doing their best to tell us that they are not worth it? Well the answer to that, my dear, is that we feel we are not worth it. We are either trying our hardest to change them into someone we can tolerate, or turning a blind eye to everything they say or do; in order to convince ourselves that someone loves us. Does that paint a pathetic enough picture?
This is about you, and how you feel about yourself. If you truly loved yourself, you would not tolerate any disrespect, not even from yourself. Trying so hard to make someone right for you, shows that you do not love and/or respect yourself.
So, place the emphasis on what needs work, your self-respect. Then accept the fact that people are who they are, you cannot change them; BUT if you find yourself wanting to, they are not right for you. When you get your act together, you will attract the right people, not before. AND watch and listen when someone shows or tells you who they are. Get your ego out of the way, wish them well, and show them the door. Then move forward with your life.