For some reason, some file(s) in
~/.config became corrupted and I got caught in the infinite login loop problem. I fixed this by moving these files into another directory.
Of course, now my desktop is reset! It's not a huge problem, in the grand scheme of things, but is there any way -- other than trial and error -- to isolate the buggy file and just keep all the good ones?