Argh. I have a relative who will do that too, AND bring up "perceived slights and issues" well after the fact. But with her, I CAN be direct, and am.
She sort of invited herself to my mom's last year, for the weekend, when I was there for the holidays. Fine, but mom has a 2 BR house, one for me (and guests) and one for her. Relative was told all that was available was an air mattress. Which she said was fine. And then proceeeded to complain it was a. low to the ground b. the sheets were not queen, as is the mattress, so they didn't quite fit rigth, and c. she was cold, and "could have used another blanket"
I told her, nicely, you were informed the air mattress was all that was available, the sheets are what it came with, and they are the right size, and if you were cold, or thought you might be, then ASK for another blanket, of which we have plenty. I'd rather someone ask for, and me give them x nubmer of blankets, just in case, than have them be cold.
I am the opposite of someone who apologizes, I have to really temper my mouth so that I don't come out with something snarky. I have no patience for people who complain, even after the "wrong" has been righted, and keep bringing it up. And am quite often tempted to simply snark back with something like "you know, I gave you blankets, fuzzy jammies, etc. what MORE did you want? me to conjure up an instant fireplace?"