I think you can choose one of two ways to handle it in the moment. You can ignore it, roll your eyes, and walk away or you can stop, look at her, and say something like, "why would you say something like that?," "that was really rude," etc. It depends a lot on your goal. My MIL likes to say things like that but I choose option 2. She now chooses her words more carefully around me and saves her nastiness for her son. Lovely, isn't it? But he chooses the ignore method. However, she enjoys the dig and the response so I've removed some of her power. When someone is truly oblivious or mentally ill, however, your words may not have any effect on them. I'm sorry you're dealing with this.